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_
virtual Double_t GetRapidity() const =0
virtual Double_t GetPhi() const =0
virtual Double_t GetP() const =0
virtual void SetVertex(const TVector3 &)=0
virtual UShort_t GetParentIndex() const =0
virtual Double_t GetM() const =0
virtual Double_t GetE() const =0
virtual UShort_t GetStatus() const =0
virtual Double_t GetPz() const =0
virtual Double_t GetPy() const =0
virtual TVector3 GetVertex() const =0
virtual Double_t GetPx() const =0
virtual void Set4Vector(const TLorentzVector &)=0
virtual Double_t GetEta() const =0
virtual Double_t GetPt() const =0
virtual TLorentzVector Get4Vector() const =0
virtual Pid Id() const =0
virtual Double_t GetTheta() const =0
Definition: Pid.h:22
Abstract base class for a general particle.