PandaRoot
PndFtsPoint.h
Go to the documentation of this file.
1 #ifndef PNDFTSPOINT_H
2 #define PNDFTSPOINT_H
3 
4 #include "TObject.h"
5 #include "TVector3.h"
6 #include "FairMCPoint.h"
7 
8 class PndFtsPoint : public FairMCPoint {
9 
10  public:
12  PndFtsPoint();
13 
29  PndFtsPoint(Int_t trackID, Int_t detID, Int_t tubeID, Int_t chamberID, Int_t layerID, TVector3 pos, TVector3 posInLocal, TVector3 posOutLocal, TVector3 momIn, TVector3 momOut,
30  Double_t tof, Double_t length, Double_t eLoss, Double_t mass);
31 
33  PndFtsPoint(const PndFtsPoint &point);
34 
36  virtual ~PndFtsPoint();
37 
38  // da cancellare
39  Double_t GetXtot() const { return GetX(); }
40  Double_t GetYtot() const { return GetY(); }
41  Double_t GetZtot() const { return GetZ(); }
42 
43  Double_t GetPxOut() const { return fPx_out; }
44  Double_t GetPyOut() const { return fPy_out; }
45  Double_t GetPzOut() const { return fPz_out; }
46 
48 
50  Double_t GetXOutLocal() const { return fX_out_local; }
51  Double_t GetYOutLocal() const { return fY_out_local; }
52  Double_t GetZOutLocal() const { return fZ_out_local; }
53  Double_t GetXInLocal() const { return fX_in_local; }
54  Double_t GetYInLocal() const { return fY_in_local; }
55  Double_t GetZInLocal() const { return fZ_in_local; }
56 
57  // Double_t GetXWireDirection() const { return fX_wire_dir; }
58  // Double_t GetYWireDirection() const { return fY_wire_dir; }
59  // Double_t GetZWireDirection() const { return fZ_wire_dir; }
60 
61  Double_t GetMass() const { return fMass; }
62 
63  void PositionOutLocal(TVector3 &pos) { pos.SetXYZ(fX_out_local, fY_out_local, fZ_out_local); }
64  void PositionInLocal(TVector3 &pos) { pos.SetXYZ(fX_in_local, fY_in_local, fZ_in_local); }
65  void MomentumOut(TVector3 &mom) { mom.SetXYZ(fPx_out, fPy_out, fPz_out); }
66  // void WireDirection(TVector3& wire) { wire.SetXYZ(fX_wire_dir, fY_wire_dir, fZ_wire_dir); }
67 
69  void SetPositionOutLocal(TVector3 pos);
70  void SetPositionInLocal(TVector3 pos);
71  void SetMomentumOut(TVector3 mom);
72  // void SetWireDirection(TVector3 wire);
73 
74  // tube ID // CHECK added
75  void SetTubeID(Int_t tubeid) { fTubeID = tubeid; }
76  Int_t GetTubeID() { return fTubeID; }
77  void SetChamberID(Int_t chamberid) { fChamberID = chamberid; }
78  void SetLayerID(Int_t layerid) { fLayerID = layerid; }
79  Int_t GetChamberID() { return fChamberID; }
80  Int_t GetLayerID() { return fLayerID; }
81 
83  virtual void Print(const Option_t *opt) const;
84 
85  protected:
86  // exit coordinates in straw frame
88  // entry coordinates in straw frame
90 
91  Double_t fPx_out, fPy_out, fPz_out;
92  Double_t fPx_in, fPy_in, fPz_in;
93  // wire direction
94  // Double_t fX_wire_dir, fY_wire_dir, fZ_wire_dir;
95 
96  // particle mass
97  Double_t fMass;
98  Int_t fTubeID;
99  Int_t fChamberID;
100  Int_t fLayerID;
101 
103 
104  ClassDef(PndFtsPoint, 1)
105 };
106 
107 inline void PndFtsPoint::SetPositionOutLocal(TVector3 pos)
108 {
109  fX_out_local = pos.X();
110  fY_out_local = pos.Y();
111  fZ_out_local = pos.Z();
112 }
113 
114 inline void PndFtsPoint::SetPositionInLocal(TVector3 pos)
115 {
116  fX_in_local = pos.X();
117  fY_in_local = pos.Y();
118  fZ_in_local = pos.Z();
119 }
120 
121 inline void PndFtsPoint::SetMomentumOut(TVector3 mom)
122 {
123  fPx_out = mom.Px();
124  fPy_out = mom.Py();
125  fPz_out = mom.Pz();
126 }
127 
128 #endif
Int_t GetChamberID()
Definition: PndFtsPoint.h:79
Double_t GetXInLocal() const
Definition: PndFtsPoint.h:53
Double_t GetYOutLocal() const
Definition: PndFtsPoint.h:51
Double_t fZ_out_local
Definition: PndFtsPoint.h:87
virtual ~PndFtsPoint()
void MomentumOut(TVector3 &mom)
Definition: PndFtsPoint.h:65
Double_t fPz_in
Definition: PndFtsPoint.h:92
Int_t fTubeID
Definition: PndFtsPoint.h:98
Double_t fY_in_local
Definition: PndFtsPoint.h:89
Double_t GetXOutLocal() const
Definition: PndFtsPoint.h:50
void SetLayerID(Int_t layerid)
Definition: PndFtsPoint.h:78
void SetPositionInLocal(TVector3 pos)
Definition: PndFtsPoint.h:114
Int_t fChamberID
Definition: PndFtsPoint.h:99
Double_t fZ_in_local
Definition: PndFtsPoint.h:89
void SetMomentumOut(TVector3 mom)
Definition: PndFtsPoint.h:121
Double_t fPz_out
Definition: PndFtsPoint.h:91
void SetChamberID(Int_t chamberid)
Definition: PndFtsPoint.h:77
Double_t GetZInLocal() const
Definition: PndFtsPoint.h:55
virtual void Print(const Option_t *opt) const
Double_t fPx_in
Definition: PndFtsPoint.h:92
Double_t GetXtot() const
Definition: PndFtsPoint.h:39
Int_t GetTubeID()
Definition: PndFtsPoint.h:76
Double_t GetZOutLocal() const
Definition: PndFtsPoint.h:52
Double_t GetYtot() const
Definition: PndFtsPoint.h:40
Double_t fX_in_local
Definition: PndFtsPoint.h:89
Double_t GetZtot() const
Definition: PndFtsPoint.h:41
void PositionOutLocal(TVector3 &pos)
Definition: PndFtsPoint.h:63
Double_t GetPxOut() const
Definition: PndFtsPoint.h:43
Double_t fMass
Definition: PndFtsPoint.h:97
Double_t GetPyOut() const
Definition: PndFtsPoint.h:44
Int_t fLayerID
Definition: PndFtsPoint.h:100
void PositionInLocal(TVector3 &pos)
Definition: PndFtsPoint.h:64
void SetPositionOutLocal(TVector3 pos)
Definition: PndFtsPoint.h:107
Double_t fPx_out
Definition: PndFtsPoint.h:91
Double_t fX_out_local
Definition: PndFtsPoint.h:87
Double_t fPy_in
Definition: PndFtsPoint.h:92
Int_t GetLayerID()
Definition: PndFtsPoint.h:80
void SetTubeID(Int_t tubeid)
Definition: PndFtsPoint.h:75
Double_t GetPzOut() const
Definition: PndFtsPoint.h:45
Double_t GetMass() const
Definition: PndFtsPoint.h:61
Double_t GetYInLocal() const
Definition: PndFtsPoint.h:54
Double_t fY_out_local
Definition: PndFtsPoint.h:87
Double_t fPy_out
Definition: PndFtsPoint.h:91