00001
00002
00003 #include <iostream.h>
00004
00005 class EEmcMCData;
00006
00007
00008 void bin2TTree(int Nevents=1, const Char_t *binFile ="data.bin"){
00009 Int_t i=0;
00010 gSystem->Load("EEmc.so");
00011
00012 FILE *fd=0;
00013 fd=fopen(binFile,"r");
00014 assert(fd);
00015
00016
00017 TFile f("tree4.root","RECREATE");
00018
00019
00020 TTree t4("t4","A Tree with Events");
00021
00022
00023
00024 EEevent *eve=new EEevent();
00025 t4.Branch("EEDst", "EEevent", &eve,16000,99);
00026
00027
00028 for (i=1; i<=Nevents; i++ ) {
00029 const int mx=1<<14;
00030 char hitBuf[mx];
00031 int mxh=sizeof(int);
00032 int j,len;
00033
00034 char *cLen=&len;
00035 for(j=0;j<sizeof(int);j++) cLen[j]=fgetc(fd);
00036 cerr << "actual data len=" << len << " bytes " << endl;
00037
00038 for(j=0;j<len;j++) hitBuf[j]=fgetc(fd);
00039
00040
00041 EEmcMCData data;
00042 int nbw = data.read(hitBuf,len);
00043 data.print();
00044
00045
00046 data.write(eve);
00047 eve->print();
00048 t4.Fill();
00049
00050 }
00051
00052 Int_t nevent = (Int_t)t4->GetEntries();
00053 printf("Total events in TTree=%d\n",nevent);
00054
00055 f.Write() ;
00056
00057 }
00058