eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
BeamParticles.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_ERHIC_BEAMPARTICLES_H_
11 #define INCLUDE_EICSMEAR_ERHIC_BEAMPARTICLES_H_
12 
13 #include <Rtypes.h>
14 #include <TLorentzVector.h>
15 
21  public:
26  BeamParticles();
27 
31  BeamParticles(const TLorentzVector& hadronBeam,
32  const TLorentzVector& leptonBeam,
33  const TLorentzVector& scatteredHadron,
34  const TLorentzVector& scatteredLepton,
35  const TLorentzVector& exchangedBoson);
36 
40  virtual ~BeamParticles();
41 
45  void Reset();
46 
47  void SetBeamHadron(const TLorentzVector&);
48 
49  void SetBeamLepton(const TLorentzVector&);
50 
51  void SetScatteredHadron(const TLorentzVector&);
52 
53  void SetScatteredLepton(const TLorentzVector&);
54 
55  void SetBoson(const TLorentzVector&);
56 
57  const TLorentzVector& BeamHadron() const;
58 
59  const TLorentzVector& BeamLepton() const;
60 
61  const TLorentzVector& GetScatteredHadron() const;
62 
63  const TLorentzVector& ScatteredLepton() const;
64 
65  const TLorentzVector& GetBoson() const;
66 
67  protected:
68  TLorentzVector mBeamHadron;
69  TLorentzVector mBeamLepton;
70  TLorentzVector mScatteredHadron;
71  TLorentzVector mScatteredLepton;
72  TLorentzVector mBoson;
73 
74  ClassDef(BeamParticles, 1)
75 };
76 
77 inline const TLorentzVector& BeamParticles::BeamHadron() const {
78  return mBeamHadron;
79 }
80 
81 inline const TLorentzVector& BeamParticles::BeamLepton() const {
82  return mBeamLepton;
83 }
84 
85 inline const TLorentzVector& BeamParticles::GetScatteredHadron() const {
86  return mScatteredHadron;
87 }
88 
89 inline const TLorentzVector& BeamParticles::ScatteredLepton() const {
90  return mScatteredLepton;
91 }
92 
93 inline const TLorentzVector& BeamParticles::GetBoson() const {
94  return mBoson;
95 }
96 
97 inline void BeamParticles::SetBeamHadron(const TLorentzVector& vec) {
98  mBeamHadron = vec;
99 }
100 
101 inline void BeamParticles::SetBeamLepton(const TLorentzVector& vec) {
102  mBeamLepton = vec;
103 }
104 
105 inline void BeamParticles::SetScatteredHadron(const TLorentzVector& vec) {
106  mScatteredHadron = vec;
107 }
108 
109 inline void BeamParticles::SetScatteredLepton(const TLorentzVector& vec) {
110  mScatteredLepton = vec;
111 }
112 
113 inline void BeamParticles::SetBoson(const TLorentzVector& vec) {
114  mBoson = vec;
115 }
116 
117 #endif // INCLUDE_EICSMEAR_ERHIC_BEAMPARTICLES_H_
BeamParticles::SetBeamHadron
void SetBeamHadron(const TLorentzVector &)
Definition: BeamParticles.h:97
BeamParticles::BeamParticles
BeamParticles()
Default constructor.
Definition: BeamParticles.cxx:14
BeamParticles::mBeamLepton
TLorentzVector mBeamLepton
Incident lepton beam.
Definition: BeamParticles.h:69
BeamParticles::Reset
void Reset()
Sets all the 4-vectors' components to not-a-number.
Definition: BeamParticles.cxx:33
BeamParticles::mScatteredHadron
TLorentzVector mScatteredHadron
Scattered hadron beam.
Definition: BeamParticles.h:70
BeamParticles::ScatteredLepton
const TLorentzVector & ScatteredLepton() const
Definition: BeamParticles.h:89
BeamParticles::mScatteredLepton
TLorentzVector mScatteredLepton
Scattered lepton beam.
Definition: BeamParticles.h:71
BeamParticles::SetBeamLepton
void SetBeamLepton(const TLorentzVector &)
Definition: BeamParticles.h:101
BeamParticles::SetBoson
void SetBoson(const TLorentzVector &)
Definition: BeamParticles.h:113
BeamParticles::GetScatteredHadron
const TLorentzVector & GetScatteredHadron() const
Definition: BeamParticles.h:85
BeamParticles::BeamLepton
const TLorentzVector & BeamLepton() const
Definition: BeamParticles.h:81
BeamParticles::BeamHadron
const TLorentzVector & BeamHadron() const
Definition: BeamParticles.h:77
BeamParticles::GetBoson
const TLorentzVector & GetBoson() const
Definition: BeamParticles.h:93
BeamParticles::mBeamHadron
TLorentzVector mBeamHadron
Incident hadron beam.
Definition: BeamParticles.h:68
BeamParticles::~BeamParticles
virtual ~BeamParticles()
Destructor.
Definition: BeamParticles.cxx:30
BeamParticles::mBoson
TLorentzVector mBoson
Exchanged boson.
Definition: BeamParticles.h:72
BeamParticles::SetScatteredHadron
void SetScatteredHadron(const TLorentzVector &)
Definition: BeamParticles.h:105
BeamParticles::SetScatteredLepton
void SetScatteredLepton(const TLorentzVector &)
Definition: BeamParticles.h:109
BeamParticles
Wrapper class around energy-momentum 4-vectors defining the incident and scattered beams and the exch...
Definition: BeamParticles.h:20