#ifndef PNDMVDRATES_H #define PNDMVDRATES_H #include "PndSdsTask.h" //#include "PndSdsGeoPar.h" #include "PndDetectorList.h" #include "PndGeoHandling.h" #include "PndSdsGeoPar.h" #include "PndSdsStripDigiPar.h" #include "FairMCEventHeader.h" #include "TVector3.h" #include "TRandom.h" #include "TList.h" #include class TClonesArray; class PndMvdRates : public PndSdsTask { public: /** Default constructor **/ PndMvdRates(); /** Named constructor **/ PndMvdRates(const char* name); /** Destructor **/ virtual ~PndMvdRates(); /** Virtual method Init **/ virtual void SetParContainers(); virtual InitStatus Init(); virtual void FinishTask(); /** pure virtual method SetBranchNames ** ** called by Init() ** function to set individual branch names **/ virtual void SetBranchNames(); void SetOutputName(TString nameOut){fOutName=nameOut;}; /** Virtual method Exec **/ virtual void Exec(Option_t* opt); void SetPersistance(Bool_t p = kTRUE) {fPersistance=p;}; Bool_t GetPersistance() {return fPersistance;}; void SelectSensFE(Int_t sens, Int_t FE) {fSens=sens; fFE=FE;}; protected: Bool_t fPersistance; // switch to turn on/off storing the arrays to a file /** Input array of PndSdsMCPoints **/ TClonesArray* fPointArray; /** Output array of the digis **/ TClonesArray* fDigiArray; /** MC event header **/ FairMCEventHeader* mch; TString fOutName; //PndSdsGeoPar* fGeoPar; void Register(); void Reset(); void ProduceHits(); Int_t fFE, fSens; Double_t LastTime; ofstream out; PndGeoHandling* fGeoH; //! Geometry name handling PndSdsGeoPar* fGeoPar; TList *fDigiParameterList; TList* fChargeDigiParameterList; PndSdsStripDigiPar* digipar; ClassDef(PndMvdRates,1); }; #endif