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
erhic::EventDis Class Referenceabstract

#include <EventDis.h>

Inheritance diagram for erhic::EventDis:
erhic::VirtualEvent erhic::EventMC Smear::Event erhic::EventDjangoh erhic::EventDpmjet erhic::EventGmcTrans erhic::EventMilou erhic::EventPepsi erhic::EventPythia erhic::EventRapgap

Public Member Functions

virtual ~EventDis ()
 
 EventDis ()
 
 EventDis (const EventDis &)
 
EventDisoperator= (const EventDis &)
 
virtual Double_t GetX () const
 
virtual Double_t GetQ2 () const
 
virtual Double_t GetY () const
 
virtual Double_t GetYPlus () const
 
virtual Double_t GetW2 () const
 
virtual Double_t GetNu () const
 
virtual double GetXDoubleAngle () const
 
virtual double GetQ2DoubleAngle () const
 
virtual double GetYDoubleAngle () const
 
virtual double GetW2DoubleAngle () const
 
virtual double GetXJacquetBlondel () const
 
virtual double GetQ2JacquetBlondel () const
 
virtual double GetYJacquetBlondel () const
 
virtual double GetW2JacquetBlondel () const
 
virtual void SetLeptonKinematics (const DisKinematics &)
 
virtual void SetJacquetBlondelKinematics (const DisKinematics &)
 
virtual void SetDoubleAngleKinematics (const DisKinematics &)
 
virtual const VirtualParticleBeamLepton () const =0
 
virtual const VirtualParticleBeamHadron () const =0
 
virtual const VirtualParticleExchangeBoson () const =0
 
virtual const VirtualParticleScatteredLepton () const =0
 
virtual void CopyKinematics (const EventDis &)
 
- Public Member Functions inherited from erhic::VirtualEvent
virtual ~VirtualEvent ()
 
virtual const VirtualParticleGetTrack (UInt_t) const =0
 
virtual VirtualParticleGetTrack (UInt_t)=0
 
virtual UInt_t GetNTracks () const =0
 
virtual void HadronicFinalState (ParticlePtrList &) const
 

Public Attributes

Double32_t x
 Bjorken scaling variable.
 
Double32_t QSquared
 Q2 calculated from scattered electron.
 
Double32_t y
 Inelasticity.
 
Double32_t WSquared
 Invariant mass of the hadronic system.
 
Double32_t nu
 Energy transfer from the electron.
 
Double32_t yJB
 y calculated via the Jacquet-Blondel method
 
Double32_t QSquaredJB
 Q2 calculated via the Jacquet-Blondel method.
 
Double32_t xJB
 x calculated via the Jacquet-Blondel method
 
Double32_t WSquaredJB
 W2 calculated via the Jacquet-Blondel method.
 
Double32_t yDA
 y calculated via the double-angle method
 
Double32_t QSquaredDA
 Q2 calculated via the double-angle method.
 
Double32_t xDA
 x calculated via the double-angle method
 
Double32_t WSquaredDA
 W2 calculated via the double-angle method.
 

Additional Inherited Members

- Public Types inherited from erhic::VirtualEvent
typedef std::vector< const
erhic::VirtualParticle * > 
ParticlePtrList
 

Detailed Description

A deeply inelastic scattering event. Stores kinematics computed by different methods:

  • Using the scattered electron
  • Jacquet-Blondel method (uses hadrons)
  • Double-angle method (uses both hadrons and the scattered electron)

This is an abstract class, as it does not implement track methods inherited from VirtualEvent. The user must implement the appropriate methods for their track type in an inheriting class.

Definition at line 37 of file EventDis.h.

Constructor & Destructor Documentation

erhic::EventDis::~EventDis ( )
virtual

Destructor.

Definition at line 16 of file EventDis.cxx.

erhic::EventDis::EventDis ( )

Default constructor.

Todo:
Consider initialising float fields to zero, not NAN. e.g. in smeared output, particles outside acceptance retain default values, therefore in e.g. jacquet-blondel calculations, those not detected screw up the calculation because they have E, p = NAN, not zero!

Definition at line 24 of file EventDis.cxx.

erhic::EventDis::EventDis ( const EventDis that)

Constructor copying another event's kinematics.

Definition at line 40 of file EventDis.cxx.

Member Function Documentation

virtual const VirtualParticle* erhic::EventDis::BeamHadron ( ) const
pure virtual

Returns a pointer to the incident hadron beam particle. Returns NULL if the particle cannot be located in the event. IMPORTANT - DO NOT DELETE THE POINTER OR BAD THINGS WILL HAPPEN!

Implemented in Smear::Event, and erhic::EventMC.

virtual const VirtualParticle* erhic::EventDis::BeamLepton ( ) const
pure virtual

Returns a pointer to the incident lepton beam particle. Returns NULL if the particle cannot be located in the event. IMPORTANT - DO NOT DELETE THE POINTER OR BAD THINGS WILL HAPPEN!

Implemented in Smear::Event, and erhic::EventMC.

void erhic::EventDis::CopyKinematics ( const EventDis that)
virtual

Copy the kinematics from another event to this event.

Definition at line 52 of file EventDis.cxx.

virtual const VirtualParticle* erhic::EventDis::ExchangeBoson ( ) const
pure virtual

Returns a pointer to the exchanged boson. Returns NULL if the particle cannot be located in the event. IMPORTANT - DO NOT DELETE THE POINTER OR BAD THINGS WILL HAPPEN!

Implemented in Smear::Event, erhic::EventMC, erhic::EventDjangoh, and erhic::EventPepsi.

Double_t erhic::EventDis::GetNu ( ) const
inlinevirtual

Returns the exchange boson energy in the beam hadron rest frame. nu = q.p/M

Definition at line 202 of file EventDis.h.

Double_t erhic::EventDis::GetQ2 ( ) const
inlinevirtual

Returns the four-momentum transfer (exchange boson mass) Q2. Q2 = 2EE(1+cos(theta)) = (e-e)2

Definition at line 206 of file EventDis.h.

double erhic::EventDis::GetQ2DoubleAngle ( ) const
inlinevirtual

Returns Q-squared computed via the double-angle method.

Definition at line 226 of file EventDis.h.

double erhic::EventDis::GetQ2JacquetBlondel ( ) const
inlinevirtual

Returns Q-squared computed via the Jacquet-Blondel method.

Definition at line 242 of file EventDis.h.

Double_t erhic::EventDis::GetW2 ( ) const
inlinevirtual

Returns the invariant mass of the hadronic final state. W2 = M2 + Q2(1-x)/x

Definition at line 210 of file EventDis.h.

double erhic::EventDis::GetW2DoubleAngle ( ) const
inlinevirtual

Returns W-squared computed via the double-angle method.

Definition at line 234 of file EventDis.h.

double erhic::EventDis::GetW2JacquetBlondel ( ) const
inlinevirtual

Returns W-squared computed via the Jacquet-Blondel method.

Definition at line 250 of file EventDis.h.

Double_t erhic::EventDis::GetX ( ) const
inlinevirtual

Returns Bjorken-x of the event. xB = Q2/(2p.q)

Definition at line 198 of file EventDis.h.

double erhic::EventDis::GetXDoubleAngle ( ) const
inlinevirtual

Returns Bjorken x computed via the double-angle method.

Definition at line 222 of file EventDis.h.

double erhic::EventDis::GetXJacquetBlondel ( ) const
inlinevirtual

Returns Bjorken x computed via the Jacquet-Blondel method.

Definition at line 238 of file EventDis.h.

Double_t erhic::EventDis::GetY ( ) const
inlinevirtual

Returns the event inelasticity. y = (p.q)/(p.e)

Definition at line 214 of file EventDis.h.

double erhic::EventDis::GetYDoubleAngle ( ) const
inlinevirtual

Returns inelasticity computed via the double-angle method.

Definition at line 230 of file EventDis.h.

double erhic::EventDis::GetYJacquetBlondel ( ) const
inlinevirtual

Returns inelasticity computed via the Jacquet-Blondel method.

Definition at line 246 of file EventDis.h.

Double_t erhic::EventDis::GetYPlus ( ) const
inlinevirtual

Returns Y+ = y2 / (1 + (1-y)2)

Definition at line 218 of file EventDis.h.

EventDis & erhic::EventDis::operator= ( const EventDis that)

Assign another event's kinematics to this EventDis.

Definition at line 45 of file EventDis.cxx.

virtual const VirtualParticle* erhic::EventDis::ScatteredLepton ( ) const
pure virtual

Returns a pointer to the lepton beam particle after scattering. Returns NULL if the particle cannot be located in the event. IMPORTANT - DO NOT DELETE THE POINTER OR BAD THINGS WILL HAPPEN!

Implemented in erhic::EventPythia, Smear::Event, erhic::EventMC, erhic::EventDjangoh, and erhic::EventPepsi.

void erhic::EventDis::SetDoubleAngleKinematics ( const DisKinematics kin)
virtual

Set the kinematics computed from the double-angle method.

Definition at line 76 of file EventDis.cxx.

void erhic::EventDis::SetJacquetBlondelKinematics ( const DisKinematics kin)
virtual

Set the kinematics computed from the Jacquet-Blondel method.

Definition at line 69 of file EventDis.cxx.

void erhic::EventDis::SetLeptonKinematics ( const DisKinematics kin)
virtual

Set the kinematics computed from the scattered lepton.

Definition at line 61 of file EventDis.cxx.


The documentation for this class was generated from the following files: