StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
bin2EEsort.C
1 #include <iostream.h>
2 
3 class EEmcMCData;
4 
5 // ______________________________________________
6 void bin2EEsort(int Nevents=1, const Char_t *binFile ="data.bin"){
7  Int_t i=0;
8  gSystem->Load("EEmc.so");
9 
10  FILE *fd=0;
11  fd=fopen(binFile,"r");
12  assert(fd);
13 
14  for (i=1; i<=Nevents; i++ ) {
15  const int mx=1<<14;
16  char hitBuf[mx];
17  int mxh=sizeof(int);
18  int j,len;
19  // get buf len
20  char *cLen=&len;
21  for(j=0;j<sizeof(int);j++) cLen[j]=fgetc(fd);
22  cerr << "actual data len=" << len << " bytes " << endl;
23  // get data body
24  for(j=0;j<len;j++) hitBuf[j]=fgetc(fd);
25 
26  // .............. do sth with data locally
28  int nbw = data.read(hitBuf,len);
29  data.print();
30 
31  }
32 }
33 
34 
35 
36 #if 0
37 
38  EEmcMCData *ev = new EEmcMCData;
39  EEmcMCData *evcopy = new EEmcMCData;
40 
41  char *hitBuf = new char[16384];
42 
43 
44 
45  int nh = ev->decode(emc_hit);
46  cerr << "actual hits " << nh << endl;
47  ev->print();
48  int nbw = ev->write(hitBuf,4096);
49  cerr << "actual writ " << nbw << " bytes " << endl;
50  int nbr = evcopy->read(hitBuf,nbw);
51  cerr << "actual read " << nbr << " bytes " << endl;
52  evcopy->print();
53 #endif