00001 #include <iostream.h>
00002
00003 class EEmcMCData;
00004
00005
00006 void bin2EEsort(int Nevents=1, const Char_t *binFile ="data.bin"){
00007 Int_t i=0;
00008 gSystem->Load("EEmc.so");
00009
00010 FILE *fd=0;
00011 fd=fopen(binFile,"r");
00012 assert(fd);
00013
00014 for (i=1; i<=Nevents; i++ ) {
00015 const int mx=1<<14;
00016 char hitBuf[mx];
00017 int mxh=sizeof(int);
00018 int j,len;
00019
00020 char *cLen=&len;
00021 for(j=0;j<sizeof(int);j++) cLen[j]=fgetc(fd);
00022 cerr << "actual data len=" << len << " bytes " << endl;
00023
00024 for(j=0;j<len;j++) hitBuf[j]=fgetc(fd);
00025
00026
00027 EEmcMCData data;
00028 int nbw = data.read(hitBuf,len);
00029 data.print();
00030
00031 }
00032 }
00033
00034
00035
00036 #if 0
00037
00038 EEmcMCData *ev = new EEmcMCData;
00039 EEmcMCData *evcopy = new EEmcMCData;
00040
00041 char *hitBuf = new char[16384];
00042
00043
00044
00045 int nh = ev->decode(emc_hit);
00046 cerr << "actual hits " << nh << endl;
00047 ev->print();
00048 int nbw = ev->write(hitBuf,4096);
00049 cerr << "actual writ " << nbw << " bytes " << endl;
00050 int nbr = evcopy->read(hitBuf,nbw);
00051 cerr << "actual read " << nbr << " bytes " << endl;
00052 evcopy->print();
00053 #endif