// ------------------------------------------------------------------------- // ----- CbmTrdFindTracks header file ----- // ----- Created 25/11/05 by D. Kresan ----- // ----- according to the CbmStsFindTracks ----- // ------------------------------------------------------------------------- /** CbmTrdFindTracks *@author D.Kresan ** ** Task class for track finding in the TRD. ** Input: TClonesArray of CbmTrdHit ** Output: TClonesArray of CbmTrdTrack ** ** Uses as track finding algorithm classes derived from CbmTrdTrackFinder. **/ #ifndef CBMTRDFINDTRACKS #define CBMTRDFINDTRACKS 1 #include "CbmTask.h" class CbmTrdTrackFinder; class TClonesArray; class CbmTrdFindTracks : public CbmTask { public: /** Default constructor **/ CbmTrdFindTracks(); /** Standard constructor ** *@param name Name of class *@param title Task title *@param finder Pointer to STS track finder concrete class **/ CbmTrdFindTracks(const char* name, const char* title = "CbmTask", CbmTrdTrackFinder* finder = NULL); /** Destructor **/ virtual ~CbmTrdFindTracks(); /** Initialisation at beginning of each event **/ virtual InitStatus Init(); /** Task execution **/ virtual void Exec(Option_t* opt); /** Finish at the end of each event **/ virtual void Finish(); /** SetParContainers **/ virtual void SetParContainers(); /** Accessors **/ CbmTrdTrackFinder* GetFinder() { return fFinder; }; Int_t GetNofTracks() { return fNofTracks; }; /** Set concrete track finder **/ void UseFinder(CbmTrdTrackFinder* finder) { fFinder = finder; }; private: CbmTrdTrackFinder* fFinder; // Pointer to TrackFinder concrete class TClonesArray* fTrdHitArray; // Input array of TRD hits TClonesArray* fTrackArray; // Output array of CbmTrdTracks Int_t fNofTracks; // Number of tracks created ClassDef(CbmTrdFindTracks,1); }; #endif