PandaRoot
PndSttPoint.h
Go to the documentation of this file.
1 #ifndef PNDSTTPOINT_H
2 #define PNDSTTPOINT_H
3 
4 #include "TObject.h"
5 #include "TVector3.h"
6 #include "FairMCPoint.h"
7 
8 class PndSttPoint : public FairMCPoint {
9 
10  public:
12  PndSttPoint();
13 
27  PndSttPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 posInLocal, TVector3 posOutLocal, TVector3 momIn, TVector3 momOut, Double_t tof, Double_t length, Double_t eLoss,
28  Double_t mass);
29 
31  PndSttPoint(const PndSttPoint &point);
32 
34  virtual ~PndSttPoint();
35 
37  Double_t GetXOutLocal() const { return fX_out_local; }
38  Double_t GetYOutLocal() const { return fY_out_local; }
39  Double_t GetZOutLocal() const { return fZ_out_local; }
40  Double_t GetXInLocal() const { return fX_in_local; }
41  Double_t GetYInLocal() const { return fY_in_local; }
42  Double_t GetZInLocal() const { return fZ_in_local; }
43 
44  // to be deleted CHECK
45  Double_t GetXtot() const { return GetX(); }
46  Double_t GetYtot() const { return GetY(); }
47  Double_t GetZtot() const { return GetZ(); }
48 
49  Double_t GetPxOut() const { return fPx_out; }
50  Double_t GetPyOut() const { return fPy_out; }
51  Double_t GetPzOut() const { return fPz_out; }
52 
53  Double_t GetMass() const { return fMass; }
54 
55  Double_t GetTrueDistance();
56 
57  void PositionOutLocal(TVector3 &pos) { pos.SetXYZ(fX_out_local, fY_out_local, fZ_out_local); }
58  void PositionInLocal(TVector3 &pos) { pos.SetXYZ(fX_in_local, fY_in_local, fZ_in_local); }
59  void MomentumOut(TVector3 &mom) { mom.SetXYZ(fPx_out, fPy_out, fPz_out); }
60 
62  void SetPositionOutLocal(TVector3 pos);
63  void SetPositionInLocal(TVector3 pos);
64  void SetMomentumOut(TVector3 mom);
65 
66  // tube ID // CHECK added
67  void SetTubeID(Int_t tubeid) { fTubeID = tubeid; }
68  Int_t GetTubeID() { return fTubeID; }
69 
71  virtual void Print(const Option_t *opt) const;
72 
73  protected:
74  // exit coordinates in straw frame
76  // entry coordinates in straw frame
78 
79  Double_t fPx_in;
80  Double_t fPy_in;
81  Double_t fPz_in;
82  Double_t fPx_out;
83  Double_t fPy_out;
84  Double_t fPz_out;
85 
86  // stt1 - particle mass
87  Double_t fMass;
88 
89  Int_t fTubeID; // CHECK added
90 
91  ClassDef(PndSttPoint, 1)
92 };
93 
94 inline void PndSttPoint::SetPositionOutLocal(TVector3 pos)
95 {
96  fX_out_local = pos.X();
97  fY_out_local = pos.Y();
98  fZ_out_local = pos.Z();
99 }
100 
101 inline void PndSttPoint::SetPositionInLocal(TVector3 pos)
102 {
103  fX_in_local = pos.X();
104  fY_in_local = pos.Y();
105  fZ_in_local = pos.Z();
106 }
107 
108 inline void PndSttPoint::SetMomentumOut(TVector3 mom)
109 {
110  fPx_out = mom.Px();
111  fPy_out = mom.Py();
112  fPz_out = mom.Pz();
113 }
114 
115 #endif
Double_t GetYInLocal() const
Definition: PndSttPoint.h:41
Double_t GetTrueDistance()
Double_t GetPzOut() const
Definition: PndSttPoint.h:51
Double_t fPz_out
Definition: PndSttPoint.h:84
Double_t GetXOutLocal() const
Definition: PndSttPoint.h:37
Int_t GetTubeID()
Definition: PndSttPoint.h:68
Double_t GetYOutLocal() const
Definition: PndSttPoint.h:38
void SetPositionOutLocal(TVector3 pos)
Definition: PndSttPoint.h:94
Double_t GetYtot() const
Definition: PndSttPoint.h:46
virtual void Print(const Option_t *opt) const
Double_t fPy_out
Definition: PndSttPoint.h:83
void SetMomentumOut(TVector3 mom)
Definition: PndSttPoint.h:108
void PositionOutLocal(TVector3 &pos)
Definition: PndSttPoint.h:57
Double_t fY_out_local
Definition: PndSttPoint.h:75
Int_t fTubeID
Definition: PndSttPoint.h:89
Double_t fPz_in
Definition: PndSttPoint.h:81
Double_t fPx_in
Definition: PndSttPoint.h:79
void SetTubeID(Int_t tubeid)
Definition: PndSttPoint.h:67
Double_t GetPxOut() const
Definition: PndSttPoint.h:49
virtual ~PndSttPoint()
Double_t GetZtot() const
Definition: PndSttPoint.h:47
Double_t fZ_out_local
Definition: PndSttPoint.h:75
Double_t GetPyOut() const
Definition: PndSttPoint.h:50
Double_t fPy_in
Definition: PndSttPoint.h:80
void SetPositionInLocal(TVector3 pos)
Definition: PndSttPoint.h:101
Double_t GetMass() const
Definition: PndSttPoint.h:53
void PositionInLocal(TVector3 &pos)
Definition: PndSttPoint.h:58
Double_t fZ_in_local
Definition: PndSttPoint.h:77
Double_t fPx_out
Definition: PndSttPoint.h:82
Double_t GetZOutLocal() const
Definition: PndSttPoint.h:39
Double_t GetZInLocal() const
Definition: PndSttPoint.h:42
Double_t fX_in_local
Definition: PndSttPoint.h:77
Double_t fY_in_local
Definition: PndSttPoint.h:77
Double_t fMass
Definition: PndSttPoint.h:87
void MomentumOut(TVector3 &mom)
Definition: PndSttPoint.h:59
Double_t GetXtot() const
Definition: PndSttPoint.h:45
Double_t GetXInLocal() const
Definition: PndSttPoint.h:40
Double_t fX_out_local
Definition: PndSttPoint.h:75