MpdTpcKalmanTrack.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef MPDTPCKALMANTRACK_H
  2. #define MPDTPCKALMANTRACK_H
  3. /// \ingroup rec
  4. /// \class MpdTpcKalmanTrack
  5. /// \brief Kalman track in MPD TPC
  6. ///
  7. /// \author Alexander Zinchenko, LHEP JINR Dubna
  8. #include "MpdKalmanTrack.h"
  9. #include "MpdKalmanHit.h"
  10. #include <TClonesArray.h>
  11. class TVector3;
  12. class MpdTpcKalmanTrack : public MpdKalmanTrack
  13. {
  14. public:
  15. MpdTpcKalmanTrack(); ///< Default ctor
  16. virtual ~MpdTpcKalmanTrack(); ///< Destructor
  17. MpdTpcKalmanTrack(MpdKalmanHit *hitOut, MpdKalmanHit *hitIn,
  18. TVector3 &vertex, Double_t pt, Double_t *params); ///< Ctor from 2 hits
  19. MpdTpcKalmanTrack(MpdKalmanHit *hitOut, MpdKalmanHit *hitIn,
  20. TVector3 &vertex, TVector3 &posOut, TVector3 &posIn,
  21. Double_t pt, Double_t *params); ///< Ctor from 2 hits and 2 TVector3
  22. MpdTpcKalmanTrack (const MpdTpcKalmanTrack& track); ///< copy constructor
  23. MpdTpcKalmanTrack& operator=(const MpdTpcKalmanTrack& track); // assignment operator
  24. Int_t GetNofTrHits() const { return fTrHits->GetEntriesFast(); } ///< get number of track hits
  25. TClonesArray *GetTrHits() const { return fTrHits; } ///< get track hits
  26. void StartBack(); ///< prepare for back tracing
  27. Bool_t IsSortable() const { return kTRUE; }
  28. Int_t Compare(const TObject* track) const; ///< sort in descending order in Pt
  29. void Reset(); ///< reset track (similar to destructor)
  30. Bool_t GetRecoQuality(Double_t dist = 1.5, Double_t percentage = 0.5); ///< returns kTRUE if number of hits closer to boundaries than dist divided by nHits is larger than percentage
  31. private:
  32. void EvalParams(MpdKalmanHit *hitOut, const MpdKalmanHit *hitIn, Double_t *parOut, Double_t *parIn, Double_t pt, Double_t *params); ///< evaluate track params
  33. void EvalCovar(const MpdKalmanHit *hitOut, const MpdKalmanHit *hitIn, Double_t *parOut, Double_t *parIn); ///< evaluate covar. matrix
  34. TClonesArray *fTrHits; ///< track hits
  35. ClassDef(MpdTpcKalmanTrack,1);
  36. };
  37. #endif