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_
TLorentzVector mBeamHadron
Incident hadron beam.
Definition: BeamParticles.h:68
virtual ~BeamParticles()
TLorentzVector mScatteredHadron
Scattered hadron beam.
Definition: BeamParticles.h:70
TLorentzVector mScatteredLepton
Scattered lepton beam.
Definition: BeamParticles.h:71
TLorentzVector mBeamLepton
Incident lepton beam.
Definition: BeamParticles.h:69
TLorentzVector mBoson
Exchanged boson.
Definition: BeamParticles.h:72