CbmRoot
CbmMuchPoint.h
Go to the documentation of this file.
1 
12 #ifndef CBMMUCHPOINT_H
13 #define CBMMUCHPOINT_H
14 
15 #include <Rtypes.h> // for ClassDef
16 #include <RtypesCore.h> // for Double_t, Double32_t, Int_t, Bool_t, Option_t
17 #include <TVector3.h> // for TVector3
18 
19 #include <FairMCPoint.h> // for FairMCPoint
20 
21 class CbmMuchPoint : public FairMCPoint {
22 
23 public:
25  CbmMuchPoint();
26 
27 
40  CbmMuchPoint(Int_t trackID,
41  Int_t detID,
42  TVector3 posIn,
43  TVector3 posOut,
44  TVector3 momIn,
45  TVector3 momOut,
46  Double_t tof,
47  Double_t length,
48  Double_t eLoss,
49  Int_t eventId = 0);
50 
51 
58  CbmMuchPoint(const CbmMuchPoint& point,
59  Int_t eventId = -1,
60  Double_t eventTime = 0.,
61  Double_t epochTime = 0.);
62 
63 
65  virtual ~CbmMuchPoint();
66 
67 
69  Int_t GetDetectorId() const { return fDetectorID; }
70  Double_t GetXIn() const { return fX; }
71  Double_t GetYIn() const { return fY; }
72  Double_t GetZIn() const { return fZ; }
73  Double_t GetXOut() const { return fX_out; }
74  Double_t GetYOut() const { return fY_out; }
75  Double_t GetZOut() const { return fZ_out; }
76  Double_t GetPxOut() const { return fPx_out; }
77  Double_t GetPyOut() const { return fPy_out; }
78  Double_t GetPzOut() const { return fPz_out; }
79  void PositionIn(TVector3& pos) const { pos.SetXYZ(fX, fY, fZ); }
80  void PositionOut(TVector3& pos) const { pos.SetXYZ(fX_out, fY_out, fZ_out); }
81  void MomentumOut(TVector3& mom) const {
82  mom.SetXYZ(fPx_out, fPy_out, fPz_out);
83  }
84 
86  Double_t GetX(Double_t z) const;
87  Double_t GetY(Double_t z) const;
88 
90  Bool_t IsUsable() const;
91 
93  void SetPositionOut(TVector3 pos);
94  void SetMomentumOut(TVector3 mom);
95 
97  virtual void Print(const Option_t* opt) const;
98 
99 protected:
100  Double32_t fX_out, fY_out, fZ_out;
101  Double32_t fPx_out, fPy_out, fPz_out;
102 
103  ClassDef(CbmMuchPoint, 1)
104 };
105 
106 
107 inline void CbmMuchPoint::SetPositionOut(TVector3 pos) {
108  fX_out = pos.X();
109  fY_out = pos.Y();
110  fZ_out = pos.Z();
111 }
112 
113 
114 inline void CbmMuchPoint::SetMomentumOut(TVector3 mom) {
115  fPx_out = mom.Px();
116  fPy_out = mom.Py();
117  fPz_out = mom.Pz();
118 }
119 #endif
CbmMuchPoint::GetXOut
Double_t GetXOut() const
Definition: CbmMuchPoint.h:73
CbmMuchPoint
Definition: CbmMuchPoint.h:21
CbmMuchPoint::GetPyOut
Double_t GetPyOut() const
Definition: CbmMuchPoint.h:77
CbmMuchPoint::GetDetectorId
Int_t GetDetectorId() const
Definition: CbmMuchPoint.h:69
CbmMuchPoint::fZ_out
Double32_t fZ_out
Definition: CbmMuchPoint.h:100
CbmMuchPoint::CbmMuchPoint
CbmMuchPoint()
Definition: CbmMuchPoint.cxx:20
CbmMuchPoint::GetYOut
Double_t GetYOut() const
Definition: CbmMuchPoint.h:74
CbmMuchPoint::GetY
Double_t GetY(Double_t z) const
Definition: CbmMuchPoint.cxx:98
CbmMuchPoint::fY_out
Double32_t fY_out
Definition: CbmMuchPoint.h:100
CbmMuchPoint::PositionIn
void PositionIn(TVector3 &pos) const
Definition: CbmMuchPoint.h:79
CbmMuchPoint::GetZOut
Double_t GetZOut() const
Definition: CbmMuchPoint.h:75
CbmMuchPoint::fPz_out
Double32_t fPz_out
Definition: CbmMuchPoint.h:101
CbmMuchPoint::PositionOut
void PositionOut(TVector3 &pos) const
Definition: CbmMuchPoint.h:80
CbmMuchPoint::GetZIn
Double_t GetZIn() const
Definition: CbmMuchPoint.h:72
CbmMuchPoint::fX_out
Double32_t fX_out
Definition: CbmMuchPoint.h:100
CbmMuchPoint::MomentumOut
void MomentumOut(TVector3 &mom) const
Definition: CbmMuchPoint.h:81
CbmMuchPoint::GetPzOut
Double_t GetPzOut() const
Definition: CbmMuchPoint.h:78
CbmMuchPoint::~CbmMuchPoint
virtual ~CbmMuchPoint()
Definition: CbmMuchPoint.cxx:72
CbmMuchPoint::GetYIn
Double_t GetYIn() const
Definition: CbmMuchPoint.h:71
CbmMuchPoint::GetX
Double_t GetX(Double_t z) const
Definition: CbmMuchPoint.cxx:89
CbmMuchPoint::fPy_out
Double32_t fPy_out
Definition: CbmMuchPoint.h:101
CbmMuchPoint::IsUsable
Bool_t IsUsable() const
Definition: CbmMuchPoint.cxx:107
CbmMuchPoint::GetXIn
Double_t GetXIn() const
Definition: CbmMuchPoint.h:70
pos
TVector3 pos
Definition: CbmMvdSensorDigiToHitTask.cxx:60
CbmMuchPoint::SetPositionOut
void SetPositionOut(TVector3 pos)
Definition: CbmMuchPoint.h:107
CbmMuchPoint::GetPxOut
Double_t GetPxOut() const
Definition: CbmMuchPoint.h:76
CbmMuchPoint::SetMomentumOut
void SetMomentumOut(TVector3 mom)
Definition: CbmMuchPoint.h:114
CbmMuchPoint::fPx_out
Double32_t fPx_out
Definition: CbmMuchPoint.h:101
CbmMuchPoint::Print
virtual void Print(const Option_t *opt) const
Definition: CbmMuchPoint.cxx:77