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