PicoDstBaseTrack.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef PICODST_BASE_TRACK_H
  2. #define PICODST_BASE_TRACK_H
  3. #include <TROOT.h>
  4. #include <TObject.h>
  5. #include <TVector3.h>
  6. class PicoDstBaseTrack : public TObject
  7. {
  8. private:
  9. TVector3 fMom;
  10. TVector3 fDCA;
  11. public:
  12. PicoDstBaseTrack();
  13. virtual ~PicoDstBaseTrack();
  14. virtual void Clear(Option_t *option = "") { TObject::Clear(option); fMom.SetXYZ(0,0,0); fDCA.SetXYZ(0,0,0); }
  15. // Setters
  16. virtual void SetPxPyPz(Float_t _px, Float_t _py, Float_t _pz) { fMom.SetXYZ(_px,_py,_pz); }
  17. virtual void SetPx(Float_t _a) { fMom.SetX(_a); }
  18. virtual void SetPy(Float_t _a) { fMom.SetY(_a); }
  19. virtual void SetPz(Float_t _a) { fMom.SetZ(_a); }
  20. virtual void SetDCA(Float_t _dcax, Float_t _dcay, Float_t _dcaz) { fDCA.SetXYZ(_dcax,_dcay,_dcaz); }
  21. virtual void SetDCAx(Float_t _a) { fDCA.SetX(_a); }
  22. virtual void SetDCAy(Float_t _a) { fDCA.SetY(_a); }
  23. virtual void SetDCAz(Float_t _a) { fDCA.SetZ(_a); }
  24. // Getters
  25. virtual TVector3 GetMom() { return fMom; }
  26. virtual Float_t GetPx() { return fMom.X(); }
  27. virtual Float_t GetPy() { return fMom.Y(); }
  28. virtual Float_t GetPz() { return fMom.Z(); }
  29. virtual Float_t GetPt() { return fMom.Perp(); }
  30. virtual Float_t GetP() { return fMom.Mag(); }
  31. virtual Float_t GetEta() { return fMom.Eta(); }
  32. virtual Float_t GetPhi() { return fMom.Phi(); }
  33. virtual TVector3 GetDCA() { return fDCA; }
  34. virtual Float_t GetDCAx() { return fDCA.X(); }
  35. virtual Float_t GetDCAy() { return fDCA.Y(); }
  36. virtual Float_t GetDCAz() { return fDCA.Z(); }
  37. ClassDef(PicoDstBaseTrack,1);
  38. };
  39. #endif