#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 Idmulti; double tavecsi; int *Idnumtel; //[Idmulti] int *IdZ; //[Idmulti] int *IdA; //[Idmulti] int *Idstopped; //[Idmulti] int *Idcode; //[Idmulti] double *IdPID; //[Idmulti] double *IdE; //[Idmulti] //constructor TRootCHIEvent() { Idmulti=-1; Idnumtel = new int[dmax]; IdZ = new int[dmax]; IdA = new int[dmax]; Idstopped = new int[dmax]; Idcode = new int[dmax]; IdPID = new double[dmax]; IdE = new double[dmax]; } //destructor virtual ~TRootCHIEvent() { delete [] Idnumtel; delete [] IdZ; delete [] IdA; delete [] Idstopped; delete [] Idcode; delete [] IdPID; delete [] IdE; } 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