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
VirtualParticle.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_ERHIC_VIRTUALPARTICLE_H_
11 #define INCLUDE_EICSMEAR_ERHIC_VIRTUALPARTICLE_H_
12 
13 #include <TLorentzVector.h>
14 #include <TVector3.h>
15 
16 #include "eicsmear/erhic/Pid.h"
17 
18 namespace erhic {
19 
23 class VirtualParticle : public TObject {
24  public:
28  virtual ~VirtualParticle() { }
29 
33  virtual Pid Id() const = 0;
34 
38  virtual TLorentzVector Get4Vector() const = 0;
39 
43  virtual Double_t GetPx() const = 0;
44 
48  virtual Double_t GetPy() const = 0;
49 
53  virtual Double_t GetPz() const = 0;
54 
58  virtual Double_t GetE() const = 0;
59 
63  virtual Double_t GetP() const = 0;
64 
68  virtual Double_t GetM() const = 0;
69 
73  virtual Double_t GetPt() const = 0;
74 
78  virtual Double_t GetTheta() const = 0;
79 
83  virtual Double_t GetPhi() const = 0;
84 
88  virtual Double_t GetRapidity() const = 0;
89 
93  virtual Double_t GetEta() const = 0;
94 
99  virtual TVector3 GetVertex() const = 0;
100 
105  virtual UShort_t GetStatus() const = 0;
106 
110  virtual UShort_t GetParentIndex() const = 0;
111 
115  virtual void SetVertex(const TVector3& /* (x, y, z) */) = 0;
116 
121  virtual void Set4Vector(const TLorentzVector& /* (px, py, pz, E) */) = 0;
122 
123  ClassDef(erhic::VirtualParticle, 1)
124 };
125 
126 } // namespace erhic
127 
128 #endif // INCLUDE_EICSMEAR_ERHIC_VIRTUALPARTICLE_H_
Pid.h
erhic::Pid
Particle identity.
Definition: Pid.h:22
erhic
Definition: EventDis.cxx:14
erhic::VirtualParticle::GetPz
virtual Double_t GetPz() const =0
Returns the z component of 3-momentum.
erhic::VirtualParticle::GetM
virtual Double_t GetM() const =0
Returns invariant mass (GeV/c2).
erhic::VirtualParticle::GetP
virtual Double_t GetP() const =0
Returns the magnitude of 3-momentum (GeV).
erhic::VirtualParticle::GetStatus
virtual UShort_t GetStatus() const =0
A general "status" code for the particle (definition depends on implementation).
erhic::VirtualParticle::SetVertex
virtual void SetVertex(const TVector3 &)=0
Sets the origin coordinates.
erhic::VirtualParticle::GetE
virtual Double_t GetE() const =0
Returns total energy.
erhic::VirtualParticle::GetEta
virtual Double_t GetEta() const =0
Returns the pseudorapidity.
erhic::VirtualParticle::GetPy
virtual Double_t GetPy() const =0
Returns the y component of 3-momentum.
erhic::VirtualParticle
Abstract base class for a general particle.
Definition: VirtualParticle.h:23
erhic::VirtualParticle::GetVertex
virtual TVector3 GetVertex() const =0
Returns the origin point of the particle in cm.
erhic::VirtualParticle::~VirtualParticle
virtual ~VirtualParticle()
Destructor.
Definition: VirtualParticle.h:28
erhic::VirtualParticle::GetPx
virtual Double_t GetPx() const =0
Returns the x component of 3-momentum.
erhic::VirtualParticle::GetPt
virtual Double_t GetPt() const =0
Returns momentum perpendicular to the beam direction.
erhic::VirtualParticle::GetTheta
virtual Double_t GetTheta() const =0
Returns the polar angle in the range [0, pi] radians.
erhic::VirtualParticle::GetRapidity
virtual Double_t GetRapidity() const =0
Returns the rapidity.
erhic::VirtualParticle::Set4Vector
virtual void Set4Vector(const TLorentzVector &)=0
Sets the four-momentum of the particle.
erhic::VirtualParticle::Get4Vector
virtual TLorentzVector Get4Vector() const =0
Returns the momentum-energy four-vector (px, py, pz, E).
erhic::VirtualParticle::GetPhi
virtual Double_t GetPhi() const =0
Returns the polar angle in the range [0, 2pi] radians.
erhic::VirtualParticle::GetParentIndex
virtual UShort_t GetParentIndex() const =0
Returns the index of the parent particle.
erhic::VirtualParticle::Id
virtual Pid Id() const =0
Returns identity information for the Particle species.