// ------------------------------------------------------------------------- // ----- CbmStsHitProducerIdel header file ----- // ----- Created 10/01/06 by V. Friese ----- // ------------------------------------------------------------------------- /** CbmStsHitProducerIdeal.h *@author V.Friese ** ** The ideal hit producer produces hits of type CbmStsMapsHit by copying ** the MCPoint position. The position error is set to 1 mum, much ** smaller than can be obtained by any detector. Using the hits from ** this HitProducer is thus equivalent to using MC information ** directly, but with the correct data interface. **/ #ifndef PNDTOFHITPRODUCERIDEAL_H #define PNDTOFHITPRODUCERIDEAL_H #include "CbmTask.h" #include "PndGeoTofPar.h" #include "TVector3.h" #include "TRandom.h" class TClonesArray; class PndTofHitProducerIdeal : public CbmTask { public: /** Default constructor **/ PndTofHitProducerIdeal(); PndTofHitProducerIdeal(Double_t dt,Double_t dt2); /** Destructor **/ ~PndTofHitProducerIdeal(); /** Virtual method Init **/ virtual void SetParContainers(); virtual InitStatus Init(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); void smear(Double_t& time, Double_t& dt); private: TString fBranchName; TString fBranchName2; /** Input array of PndTofPoints **/ TClonesArray* fPointArray; TClonesArray* fsciFPointArray; /** Output array of PndTofHits **/ TClonesArray* fHitArray; TClonesArray* fsciFHitArray; PndGeoTofPar* fGeoPar; Double_t fdt,fdt2; void Register(); void Reset(); void ProduceHits(); ClassDef(PndTofHitProducerIdeal,3); }; #endif