#ifndef PNDRICHHITPRODUCER_H #define PNDRICHHITPRODUCER_H 1 #include "FairTask.h" #include "PndRichHit.h" #include "PndRichGeo.h" #include "PndRichPDHit.h" #include "TVector3.h" class TClonesArray; class PndRichHitProducer : public FairTask { public: /** Default constructor **/ PndRichHitProducer(); /** Destructor **/ ~PndRichHitProducer(); /** Virtual method Init **/ virtual InitStatus Init(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); PndRichPDHit* AddPDHit(Int_t detID, TVector3& pos, TVector3& dpos, Int_t index, Double_t time ); PndRichHit* AddHit(Int_t detID, Int_t sensorId, TVector3& pos, TVector3& dpos, Double_t thetaC, Double_t errThetaC, Int_t index); void SetPositionSmearing(Float_t res) { fPosResolution = res; }; void SetGeoVersion(UInt_t version) { fGeoVersion = version; }; private: PndRichGeo* fGeo; UInt_t fGeoVersion; Float_t fPosResolution; // Position smearing [cm] /** Input array of PndRichPoint **/ TClonesArray* fPDPointArray; TClonesArray* fBarPointArray; /** Output array of PndRichHit **/ TClonesArray* fPDHitArray; TClonesArray* fHitArray; std::vector fWlPhoton; std::vector fPDE; std::vector PhDetNoise(); ClassDef(PndRichHitProducer,1); }; #endif