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
EventDis.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_ERHIC_EVENTDIS_H_
11 #define INCLUDE_EICSMEAR_ERHIC_EVENTDIS_H_
12 
13 #include <cmath> // For pow
14 
15 #include <Rtypes.h> // For ClassDef
16 
18 
19 namespace erhic {
20 
21 struct DisKinematics;
22 class VirtualParticle;
23 
37 class EventDis : public VirtualEvent {
38  public:
42  virtual ~EventDis();
43 
47  EventDis();
48 
52  EventDis(const EventDis&);
53 
57  EventDis& operator=(const EventDis&);
58 
63  virtual Double_t GetX() const;
64 
70  virtual Double_t GetQ2() const;
76  virtual Double_t GetY() const;
81  virtual Double_t GetYPlus() const;
87  virtual Double_t GetW2() const;
93  virtual Double_t GetNu() const;
97  virtual double GetXDoubleAngle() const;
98 
102  virtual double GetQ2DoubleAngle() const;
103 
107  virtual double GetYDoubleAngle() const;
108 
112  virtual double GetW2DoubleAngle() const;
113 
117  virtual double GetXJacquetBlondel() const;
121  virtual double GetQ2JacquetBlondel() const;
122 
126  virtual double GetYJacquetBlondel() const;
127 
131  virtual double GetW2JacquetBlondel() const;
132 
136  virtual void SetLeptonKinematics(const DisKinematics&);
137 
141  virtual void SetJacquetBlondelKinematics(const DisKinematics&);
142 
146  virtual void SetDoubleAngleKinematics(const DisKinematics&);
147 
153  virtual const VirtualParticle* BeamLepton() const = 0;
154 
160  virtual const VirtualParticle* BeamHadron() const = 0;
161 
167  virtual const VirtualParticle* ExchangeBoson() const = 0;
168 
174  virtual const VirtualParticle* ScatteredLepton() const = 0;
175 
176 // protected:
180  virtual void CopyKinematics(const EventDis&);
181  Double32_t x;
182  Double32_t QSquared;
183  Double32_t y;
184  Double32_t WSquared;
185  Double32_t nu;
186  Double32_t yJB;
187  Double32_t QSquaredJB;
188  Double32_t xJB;
189  Double32_t WSquaredJB;
190  Double32_t yDA;
191  Double32_t QSquaredDA;
192  Double32_t xDA;
193  Double32_t WSquaredDA;
194 
195  ClassDef(erhic::EventDis, 1)
196 };
197 
198 inline Double_t EventDis::GetX() const {
199  return x;
200 }
201 
202 inline Double_t EventDis::GetNu() const {
203  return nu;
204 }
205 
206 inline Double_t EventDis::GetQ2() const {
207  return QSquared;
208 }
209 
210 inline Double_t EventDis::GetW2() const {
211  return WSquared;
212 }
213 
214 inline Double_t EventDis::GetY() const {
215  return y;
216 }
217 
218 inline Double_t EventDis::GetYPlus() const {
219  return pow(GetY(), 2.) / (1. + pow(1. - GetY(), 2.));
220 }
221 
222 inline double EventDis::GetXDoubleAngle() const {
223  return xDA;
224 }
225 
226 inline double EventDis::GetQ2DoubleAngle() const {
227  return QSquaredDA;
228 }
229 
230 inline double EventDis::GetYDoubleAngle() const {
231  return yDA;
232 }
233 
234 inline double EventDis::GetW2DoubleAngle() const {
235  return WSquaredDA;
236 }
237 
238 inline double EventDis::GetXJacquetBlondel() const {
239  return xJB;
240 }
241 
242 inline double EventDis::GetQ2JacquetBlondel() const {
243  return QSquaredJB;
244 }
245 
246 inline double EventDis::GetYJacquetBlondel() const {
247  return yJB;
248 }
249 
250 inline double EventDis::GetW2JacquetBlondel() const {
251  return WSquaredJB;
252 }
253 
254 } // namespace erhic
255 
256 #endif // INCLUDE_EICSMEAR_ERHIC_EVENTDIS_H_
erhic::EventDis::WSquared
Double32_t WSquared
Invariant mass of the hadronic system.
Definition: EventDis.h:184
erhic::EventDis::BeamHadron
virtual const VirtualParticle * BeamHadron() const =0
Returns a pointer to the incident hadron beam particle.
erhic::EventDis::SetLeptonKinematics
virtual void SetLeptonKinematics(const DisKinematics &)
Set the kinematics computed from the scattered lepton.
Definition: EventDis.cxx:61
VirtualEvent.h
erhic::EventDis::operator=
EventDis & operator=(const EventDis &)
Assign another event's kinematics to this EventDis.
Definition: EventDis.cxx:45
erhic::EventDis::xDA
Double32_t xDA
x calculated via the double-angle method
Definition: EventDis.h:192
erhic
Definition: EventDis.cxx:14
erhic::EventDis::QSquared
Double32_t QSquared
Q2 calculated from scattered electron.
Definition: EventDis.h:182
erhic::EventDis::GetW2DoubleAngle
virtual double GetW2DoubleAngle() const
Returns W-squared computed via the double-angle method.
Definition: EventDis.h:234
erhic::DisKinematics
A collection of DIS kinematic variables.
Definition: Kinematics.h:31
erhic::EventDis::GetNu
virtual Double_t GetNu() const
Returns the exchange boson energy in the beam hadron rest frame.
Definition: EventDis.h:202
erhic::EventDis::GetW2JacquetBlondel
virtual double GetW2JacquetBlondel() const
Returns W-squared computed via the Jacquet-Blondel method.
Definition: EventDis.h:250
erhic::EventDis::BeamLepton
virtual const VirtualParticle * BeamLepton() const =0
Returns a pointer to the incident lepton beam particle.
erhic::VirtualEvent
Abstract base class for a physics event.
Definition: VirtualEvent.h:25
erhic::EventDis::GetYJacquetBlondel
virtual double GetYJacquetBlondel() const
Returns inelasticity computed via the Jacquet-Blondel method.
Definition: EventDis.h:246
erhic::EventDis::~EventDis
virtual ~EventDis()
Destructor.
Definition: EventDis.cxx:16
erhic::EventDis::yJB
Double32_t yJB
y calculated via the Jacquet-Blondel method
Definition: EventDis.h:186
erhic::EventDis::QSquaredDA
Double32_t QSquaredDA
Q2 calculated via the double-angle method.
Definition: EventDis.h:191
erhic::EventDis::GetXJacquetBlondel
virtual double GetXJacquetBlondel() const
Returns Bjorken x computed via the Jacquet-Blondel method.
Definition: EventDis.h:238
erhic::EventDis::WSquaredDA
Double32_t WSquaredDA
W2 calculated via the double-angle method.
Definition: EventDis.h:193
erhic::EventDis::xJB
Double32_t xJB
x calculated via the Jacquet-Blondel method
Definition: EventDis.h:188
erhic::EventDis::SetDoubleAngleKinematics
virtual void SetDoubleAngleKinematics(const DisKinematics &)
Set the kinematics computed from the double-angle method.
Definition: EventDis.cxx:76
erhic::EventDis::ScatteredLepton
virtual const VirtualParticle * ScatteredLepton() const =0
Returns a pointer to the lepton beam particle after scattering.
erhic::EventDis::WSquaredJB
Double32_t WSquaredJB
W2 calculated via the Jacquet-Blondel method.
Definition: EventDis.h:189
erhic::EventDis::EventDis
EventDis()
Default constructor.
Definition: EventDis.cxx:24
erhic::VirtualParticle
Abstract base class for a general particle.
Definition: VirtualParticle.h:23
erhic::EventDis::GetW2
virtual Double_t GetW2() const
Returns the invariant mass of the hadronic final state.
Definition: EventDis.h:210
erhic::EventDis::GetYDoubleAngle
virtual double GetYDoubleAngle() const
Returns inelasticity computed via the double-angle method.
Definition: EventDis.h:230
erhic::EventDis::nu
Double32_t nu
Energy transfer from the electron.
Definition: EventDis.h:185
erhic::EventDis
A deeply inelastic scattering event.
Definition: EventDis.h:37
erhic::EventDis::SetJacquetBlondelKinematics
virtual void SetJacquetBlondelKinematics(const DisKinematics &)
Set the kinematics computed from the Jacquet-Blondel method.
Definition: EventDis.cxx:69
erhic::EventDis::x
Double32_t x
Bjorken scaling variable.
Definition: EventDis.h:181
erhic::EventDis::GetX
virtual Double_t GetX() const
Returns Bjorken-x of the event.
Definition: EventDis.h:198
erhic::EventDis::CopyKinematics
virtual void CopyKinematics(const EventDis &)
Copy the kinematics from another event to this event.
Definition: EventDis.cxx:52
erhic::EventDis::QSquaredJB
Double32_t QSquaredJB
Q2 calculated via the Jacquet-Blondel method.
Definition: EventDis.h:187
erhic::EventDis::yDA
Double32_t yDA
y calculated via the double-angle method
Definition: EventDis.h:190
erhic::EventDis::GetQ2JacquetBlondel
virtual double GetQ2JacquetBlondel() const
Returns Q-squared computed via the Jacquet-Blondel method.
Definition: EventDis.h:242
erhic::EventDis::GetYPlus
virtual Double_t GetYPlus() const
Returns Y+ = y2 / (1 + (1-y)2)
Definition: EventDis.h:218
erhic::EventDis::ExchangeBoson
virtual const VirtualParticle * ExchangeBoson() const =0
Returns a pointer to the exchanged boson.
erhic::EventDis::GetXDoubleAngle
virtual double GetXDoubleAngle() const
Returns Bjorken x computed via the double-angle method.
Definition: EventDis.h:222
erhic::EventDis::y
Double32_t y
Inelasticity.
Definition: EventDis.h:183
erhic::EventDis::GetQ2
virtual Double_t GetQ2() const
Returns the four-momentum transfer (exchange boson mass) Q2.
Definition: EventDis.h:206
erhic::EventDis::GetY
virtual Double_t GetY() const
Returns the event inelasticity.
Definition: EventDis.h:214
erhic::EventDis::GetQ2DoubleAngle
virtual double GetQ2DoubleAngle() const
Returns Q-squared computed via the double-angle method.
Definition: EventDis.h:226