ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSiPoint.h
Go to the documentation of this file.
1 #ifndef ATSIPOINT_H
2 #define ATSIPOINT_H
3 
4 #include "AtMCPoint.h"
5 
6 #include <Rtypes.h>
7 #include <TString.h>
8 #include <TVector3.h>
9 
10 class TBuffer;
11 class TClass;
12 class TMemberInspector;
13 
14 class AtSiPoint : public AtMCPoint {
15 
16 protected:
17  Double32_t fX_out{}, fY_out{}, fZ_out{};
18  Double32_t fPx_out{}, fPy_out{}, fPz_out{};
19 
20 public:
22  AtSiPoint();
23 
33  AtSiPoint(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss);
34 
35  AtSiPoint(Int_t trackID, Int_t detID, TVector3 posIn, TVector3 posOut, TVector3 momIn, TVector3 momOut, Double_t tof,
36  Double_t length, Double_t eLoss, TString VolName, Int_t detCopyID, Double_t EIni, Double_t AIni, Int_t A,
37  Int_t Z);
38 
40  virtual ~AtSiPoint() = default;
41 
43  Double_t GetXIn() const { return fX; }
44  Double_t GetYIn() const { return fY; }
45  Double_t GetZIn() const { return fZ; }
46  Double_t GetXOut() const { return fX_out; }
47  Double_t GetYOut() const { return fY_out; }
48  Double_t GetZOut() const { return fZ_out; }
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  void PositionIn(TVector3 &pos) { pos.SetXYZ(fX, fY, fZ); }
53  void PositionOut(TVector3 &pos) { pos.SetXYZ(fX_out, fY_out, fZ_out); }
54  void MomentumOut(TVector3 &mom) { mom.SetXYZ(fPx_out, fPy_out, fPz_out); }
55 
57  Double_t GetX(Double_t z) const;
58  Double_t GetY(Double_t z) const;
59 
61  void SetPositionOut(TVector3 pos);
62  void SetMomentumOut(TVector3 mom);
63 
65  virtual void Print(const Option_t *opt) const;
66 
67 private:
69  AtSiPoint(const AtSiPoint &point);
70  AtSiPoint operator=(const AtSiPoint &point);
71 
72  ClassDef(AtSiPoint, 1)
73 };
74 
75 inline void AtSiPoint::SetPositionOut(TVector3 pos)
76 {
77  fX_out = pos.X();
78  fY_out = pos.Y();
79  fZ_out = pos.Z();
80 }
81 
82 inline void AtSiPoint::SetMomentumOut(TVector3 mom)
83 {
84  fPx_out = mom.Px();
85  fPy_out = mom.Py();
86  fPz_out = mom.Pz();
87 }
88 #endif //#ifndef ATSIPOINT_H
AtSiPoint::SetMomentumOut
void SetMomentumOut(TVector3 mom)
Definition: AtSiPoint.h:82
AtSiPoint::GetXIn
Double_t GetXIn() const
Definition: AtSiPoint.h:43
AtSiPoint::GetPxOut
Double_t GetPxOut() const
Definition: AtSiPoint.h:49
AtSiPoint::fPy_out
Double32_t fPy_out
Definition: AtSiPoint.h:18
AtSiPoint::GetX
Double_t GetX(Double_t z) const
Definition: AtSiPoint.cxx:38
AtSiPoint::GetYIn
Double_t GetYIn() const
Definition: AtSiPoint.h:44
AtSiPoint::Print
virtual void Print(const Option_t *opt) const
Definition: AtSiPoint.cxx:27
AtSiPoint::fZ_out
Double32_t fZ_out
Definition: AtSiPoint.h:17
AtSiPoint::PositionIn
void PositionIn(TVector3 &pos)
Definition: AtSiPoint.h:52
AtSiPoint::GetY
Double_t GetY(Double_t z) const
Definition: AtSiPoint.cxx:49
AtSiPoint::GetPyOut
Double_t GetPyOut() const
Definition: AtSiPoint.h:50
AtSiPoint::MomentumOut
void MomentumOut(TVector3 &mom)
Definition: AtSiPoint.h:54
AtSiPoint::GetZOut
Double_t GetZOut() const
Definition: AtSiPoint.h:48
AtSiPoint::fPx_out
Double32_t fPx_out
Definition: AtSiPoint.h:18
AtSiPoint::GetXOut
Double_t GetXOut() const
Definition: AtSiPoint.h:46
AtSiPoint
Definition: AtSiPoint.h:14
AtSiPoint::~AtSiPoint
virtual ~AtSiPoint()=default
AtSiPoint::GetPzOut
Double_t GetPzOut() const
Definition: AtSiPoint.h:51
AtSiPoint::fX_out
Double32_t fX_out
Definition: AtSiPoint.h:17
AtSiPoint::AtSiPoint
AtSiPoint()
Definition: AtSiPoint.cxx:10
AtMCPoint.h
AtSiPoint::GetYOut
Double_t GetYOut() const
Definition: AtSiPoint.h:47
AtSiPoint::fPz_out
Double32_t fPz_out
Definition: AtSiPoint.h:18
AtMCPoint
Definition: AtMCPoint.h:26
AtSiPoint::PositionOut
void PositionOut(TVector3 &pos)
Definition: AtSiPoint.h:53
AtSiPoint::SetPositionOut
void SetPositionOut(TVector3 pos)
Definition: AtSiPoint.h:75
AtSiPoint::fY_out
Double32_t fY_out
Definition: AtSiPoint.h:17
AtSiPoint::GetZIn
Double_t GetZIn() const
Definition: AtSiPoint.h:45