CbmSttFitTracks.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // -------------------------------------------------------------------------
  2. // ----- CbmSttFitTracks header file -----
  3. // ----- Created 18/02/05 by V. Friese -----
  4. // -------------------------------------------------------------------------
  5. /** CbmSttFitTracks
  6. *@author V.Friese <v.friese@gsi.de>
  7. **
  8. ** Task class for track fitting in the STT.
  9. ** Input: TClonesArray of CbmSttTrack
  10. ** Parameters of these objects are updated
  11. **
  12. ** Uses as track fitting algorithm classes derived from CbmSttTrackFitter.
  13. **/
  14. #ifndef CBMSTTFITTRACKS
  15. #define CBMSTTFITTRACKS 1
  16. #include "FairTask.h"
  17. #include <string>
  18. #include <vector>
  19. using std::vector;
  20. using std::string;
  21. class CbmSttTrackFitter;
  22. class CbmSttFitTracks : public FairTask
  23. {
  24. public:
  25. /** Default constructor **/
  26. CbmSttFitTracks();
  27. /** Standard constructor
  28. **
  29. *@param name Name of class
  30. *@param title Task title
  31. *@param fitter Pointer to STT track fitter concrete class
  32. **/
  33. CbmSttFitTracks(const char* name, const char* title = "FairTask",
  34. CbmSttTrackFitter* fitter = NULL);
  35. /** Destructor **/
  36. virtual ~CbmSttFitTracks();
  37. /** Initialisation at beginning of each event **/
  38. virtual InitStatus Init();
  39. /** Task execution **/
  40. virtual void Exec(Option_t* opt);
  41. /** Finish at the end of each event **/
  42. virtual void Finish();
  43. /** Accessors **/
  44. CbmSttTrackFitter* GetFitter() { return fFitter; };
  45. Int_t GetNofTracks() { return fNofTracks; };
  46. /** Set concrete track finder **/
  47. void UseFitter(CbmSttTrackFitter* fitter) { fFitter = fitter; };
  48. void AddHitCollectionName(char *hitCollectionName);
  49. private:
  50. void AddAllCollections();
  51. void AddHitCollection(char const *collectionName);
  52. CbmSttTrackFitter* fFitter; // Pointer to TrackFinder concrete class
  53. TClonesArray* fTrackArray; // Input array of STT tracks
  54. Int_t fNofTracks; // Number of tracks successfully fitted
  55. vector<string> fHitCollectionNames;
  56. Bool_t fCollectionsComplete;
  57. ClassDef(CbmSttFitTracks,1);
  58. };
  59. #endif