/** CbmMuchFindHits.h *@author Mikhail Ryzhinskiy *@since 22.03.07 *@version 1.0 ** ** CBM task class for finding hits in the MUCH ** Task level RECO ** Produces objects of type CbmMuchHits out of CbmMuchDigi. **/ #ifndef CBMMUCHFINDHITS_H #define CBMMUCHFINDHITS_H 1 #include #include #include "TStopwatch.h" #include "CbmTask.h" class TClonesArray; class CbmGeoMuchPar; class CbmMuchDigiPar; class CbmMuchDigiScheme; class CbmMuchSector; class CbmMuchStation; class CbmMuchFindHits : public CbmTask { public : /** Default constructor **/ CbmMuchFindHits(); /** Standard constructor **/ CbmMuchFindHits(Int_t iVerbose); /** Constructor with task name **/ CbmMuchFindHits(const char* name, Int_t iVerbose); /** Destructor **/ virtual ~CbmMuchFindHits(); /** Execution **/ virtual void Exec(Option_t* opt); private: CbmGeoMuchPar* fGeoPar; /** Geometry parameters **/ CbmMuchDigiPar* fDigiPar; /** Digitization parameters **/ CbmMuchDigiScheme* fDigiScheme; /** Digitization scheme **/ TClonesArray* fDigis; /** Input array of CbmMuchDigi **/ TClonesArray* fHits; /** Output array of CbmMuchHit **/ std::map > fDigiMap; /** sector digis **/ TStopwatch fTimer; /** Get parameter containers **/ virtual void SetParContainers(); /** Intialisation **/ virtual InitStatus Init(); /** Reinitialisation **/ virtual InitStatus ReInit(); /** Make sectorwise sets for digis **/ void MakeSets(); /** Sort digis sectorwise **/ void SortDigis(); /** Find hits in one sector **/ Int_t FindHits(CbmMuchStation* station, CbmMuchSector* sector, std::set& digiSet); ClassDef(CbmMuchFindHits,1); }; #endif