#ifndef MARS_MTriggerRateCalc #define MARS_MTriggerRateCalc #ifndef ROOT_TObjArray #include #endif #ifndef MARS_MTask #include "MTask.h" #endif class MParList; class MMcEvt; class MMcTrig; class MHMcRate; class MMcTriggerRateCalc : public MTask { private: MMcEvt *fMcEvt; //! TObjArray *fMcRate; TObjArray *fMcTrig; UInt_t fNum; // decoded dimension UInt_t fFirst; UInt_t fLast; Float_t fTrigger[10]; // Number of triggered showers Float_t fShowers; // Number of simulated showers Float_t fAnalShow; // Number of analysed showers Int_t fPartId; // Incident particle that generates showers void Init(int dim, int part, float *trigbg, float simbg, const char *name, const char *title); MHMcRate *GetRate(UInt_t i) const { return (MHMcRate*)((*fMcRate)[i]); } MMcTrig *GetTrig(UInt_t i) const { return (MMcTrig*)((*fMcTrig)[i]); } public: MMcTriggerRateCalc(int dim=0, int part=14, float *trigbg=NULL, float simbg=100000, const char *name=NULL, const char *title=NULL); MMcTriggerRateCalc(float rate, int dim, int part, float *trigbg, float simbg, const char *name=NULL, const char *title=NULL); ~MMcTriggerRateCalc(); Bool_t PreProcess(MParList *pList); Bool_t Process(); Bool_t PostProcess(); ClassDef(MMcTriggerRateCalc, 0) // Task to compute the trigger rate }; #endif