//* $Id: */ // ------------------------------------------------------------------------- // ----- CbmMvdStripsMatchHits header file ----- // ----- Created 01/07/2008 by R. Karabowicz ----- // ------------------------------------------------------------------------- /** CbmMvdStripsMatchHits *@author Volker Friese *@since 27.11.06 ** ** CBM task class for matching MvdStripsHit with MvdStripsPoint. ** Task level RECO ** Sets the reference index of CbmMvdStripsHit. **/ #ifndef CBMMVDSTRIPSMATCHHIT_H #define CBMMVDSTRIPSMATCHHIT_H 1 #include //#include #include "TStopwatch.h" #include "FairTask.h" using std::set; using std::map; using std::pair; class TClonesArray; class CbmGeoPassivePar; class CbmGeoMvdStripsPar; class CbmMvdStripsDigiPar; class CbmMvdStripsDigiScheme; class CbmMvdStripsDigiMatch; class CbmMvdStripsHit; class CbmMvdStripsMatchHits : public FairTask { public: /** Default constructor **/ CbmMvdStripsMatchHits(); /** Standard constructor **/ CbmMvdStripsMatchHits(Int_t iVerbose); /** Constructor with name **/ CbmMvdStripsMatchHits(const char* name, Int_t iVerbose); /** Destructor **/ virtual ~CbmMvdStripsMatchHits(); /** Execution **/ virtual void Exec(Option_t* opt); virtual void ExecReal(Option_t* opt); virtual void SetRealisticResponse(Bool_t real=kTRUE) {fRealistic = real;} private: /** Get parameter containers **/ virtual void SetParContainers(); /** Intialisation **/ virtual InitStatus Init(); // ----- Private method GetGeometry ------------------------------------ InitStatus GetGeometry(); /** Reinitialisation **/ virtual InitStatus ReInit(); /** Run summary **/ virtual void Finish(); // ----- Data members ---------- CbmGeoMvdStripsPar* fGeoPar; /** Geometry parameter container **/ CbmMvdStripsDigiPar* fDigiPar; /** Digitisation parameter container **/ CbmMvdStripsDigiScheme* fDigiScheme; /** Digitisation scheme **/ TClonesArray* fPoints; /** Array of CbmMvdStripsPoint **/ TClonesArray* fDigis; /** Array of CbmMvdStripsDigi **/ TClonesArray* fDigiMatches; /** Array of CbmMvdStripsDigiMatch **/ TClonesArray* fHits; /** Array of CbmMvdStripsHit **/ TStopwatch fTimer; /** Timer **/ Int_t fNEvents; /** Number of events with success **/ Int_t fNEventsFailed; /** Number of events with failure **/ Double_t fTime; /** Total real time used for good events **/ Double_t fNHits; /** Total number of hits **/ Double_t fNMatched; /** Total number of matched hits **/ Double_t fNDistant; /** Total number of displaced hits **/ Double_t fNBackgrd; /** Total number of background hits **/ /** Geometry parameters **/ CbmGeoPassivePar* fPassGeo; // Passive geometry parameters TVector3 fTargetPos; // Target centre position Int_t fNStations; // Number of MVDSTRIPS stations Int_t fStationNrFromMcId[1000]; // station number from mc id Bool_t fRealistic; /** Map from candidate point to distance to hit **/ map fCandMap; //! map::iterator fIter; //! ClassDef(CbmMvdStripsMatchHits,1); }; #endif