EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BeamParticles.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BeamParticles.h
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_