// ------------------------------------------------------------------------- // ----- CbmLitTrdTrackFinderS header file ----- // ----- Created 06/07/06 by A. Lebedev ----- // ----- Updated 15/11/07 by A.Lebedev // ------------------------------------------------------------------------- /** CbmLitTrdTrackFinderS.h *@author A.Lebedev ** ** Standalone TRD track-finder **/ #ifndef CBMLITTRDTRACKFINDERS_H #define CBMLITTRDTRACKFINDERS_H #include "CbmLitTrackFinder.h" #include "CbmTrdTrackFinder.h" #include class TClonesArray; class CbmLitTrdTrackFinderS : public CbmLitTrackFinder, public CbmTrdTrackFinder { public: // Default constructor CbmLitTrdTrackFinderS(); // Destructor ~CbmLitTrdTrackFinderS(); // Initialisation void Init(); // Track finding algorithm Int_t DoFind(TClonesArray* hitArray, TClonesArray* trackArray); private: // Momentum estimation Double_t fMom; // Create track candidates on the 1st station void CreateTrdTracks(); // Defines min and max index of hits // which can be used for futher following void MinMaxIndex(Double_t pred, Int_t &IndMin, Int_t &HitCnt, Int_t layer); // Checks if the hit in the area near the track bool IsIn(Double_t pred, CbmTrkHit *pHit, Int_t layer); // Copy to output TClonesArray void CopyToOutput(TClonesArray* trackArray); // Adds track candidate void AddTrackCandidate1(CbmLitTrack* pTrack, CbmTrkHit* pHits[]); virtual void ReadDetectorGeometry(); // Set iteration parameters void SetIterPar(Double_t SigmaCoef, Double_t Mom, Int_t Flag, Int_t beginStation, Int_t endStation, Int_t maxNofMissingHitsInStation); public: ClassDef(CbmLitTrdTrackFinderS, 1); }; #endif