#ifndef TROOTEVENT_H #define TROOTEVENT_H ////////////////////////////////// // TRootEvent class // generic interface to Root/Trees // e.d.f revision 03/2011 ////////////////////////////////// #include "TTree.h" #include "TFile.h" const int dmax = 500; // Generic raw Chimera event // Note that //[multi] are not C++ comments but // mandatory Root dictionary directives class TRootCHIEvent { public: int multi; int *numtel; //[multi] int *desilpg; //[multi] int *timecsi; //[multi] int *timesi; //[multi] int *fastpg; //[multi] int *fastgg; //[multi] int *slowpg; //[multi] int *slowgg; //[multi] //constructor TRootCHIEvent() { multi=0; numtel = new int[dmax]; desilpg = new int[dmax]; fastpg = new int[dmax]; fastgg = new int[dmax]; slowpg = new int[dmax]; slowgg = new int[dmax]; timecsi = new int[dmax]; timesi = new int[dmax]; } //destructor virtual ~TRootCHIEvent() { delete [] numtel; delete [] desilpg; delete [] fastpg; delete [] fastgg; delete [] slowpg; delete [] slowgg; delete [] timecsi; delete [] timesi; } ClassDef(TRootCHIEvent,1); }; class TRootLANDEvent { public: int rawmulti; //constructor TRootLANDEvent() { rawmulti=-1; } //destructor virtual ~TRootLANDEvent() { } ClassDef(TRootLANDEvent,1); }; class TRootDefine { private: TTree *ftr; TFile *frootW; TRootCHIEvent *fchievt; TRootLANDEvent *flandevt; public: TRootDefine() {ftr=0; frootW=0; fchievt=0;flandevt=0;} void Open(const char *name); void Close(); TTree *GetTree() {return ftr;} TRootCHIEvent *GetCHIEvt() {return fchievt;} TRootLANDEvent *GetLANDEvt() {return flandevt;} ClassDef(TRootDefine,1); }; #endif