| The Gaudi Framework v32r1 (f65d50dc)

ParticleProperty.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_PARTICLEPROPERTY_H
2 #define GAUDIKERNEL_PARTICLEPROPERTY_H 1
3 // ============================================================================
4 // Include files
5 // ============================================================================
6 #include <iomanip>
7 #include <ostream>
8 #include <string>
9 // ============================================================================
10
18 class ParticleProperty final {
19 public:
21 ParticleProperty() = default;
22
23 ParticleProperty( std::string particle, int geantId, int jetsetId, double charge, double mass, double tlife,
24 std::string evtgenName, int pythiaId, double maxWidth )
25 : m_name( std::move( particle ) )
26 , m_idgeant( geantId )
27 , m_idjetset( jetsetId )
28 , m_charge( charge )
29 , m_mass( mass )
30 , m_tlife( tlife )
31 , m_evtgenName( std::move( evtgenName ) )
32 , m_pythiaId( pythiaId )
33 , m_maxWidth( maxWidth ) {}
34
36 ~ParticleProperty() = default;
37
39 const std::string& particle() const { return m_name; }
40
42 void setParticle( const std::string& particle ) { m_name = particle; }
43
45 int geantID() const { return m_idgeant; }
46
48 void setGeantID( int id ) { m_idgeant = id; }
49
51 int pdgID() const { return m_idjetset; }
52
54 void setPdgID( int id ) { m_idjetset = id; }
55
57 int jetsetID() const { return m_idjetset; }
58
60 void setJetsetID( int id ) { m_idjetset = id; }
61
63 double charge() const { return m_charge; }
64
66 void setCharge( double q ) { m_charge = q; }
67
69 double mass() const { return m_mass; }
70
72 void setMass( double m ) { m_mass = m; }
73
75 double lifetime() const { return m_tlife; }
76
78 void setLifetime( double t ) { m_tlife = t; }
79
81 const std::string& evtGenName() const { return m_evtgenName; }
82
84 void setEvtGenName( const std::string& name ) { m_evtgenName = name; }
85
87 int pythiaID() const { return m_pythiaId; }
88
90 void setPythiaID( int pId ) { m_pythiaId = pId; }
91
93 double maxWidth() const { return m_maxWidth; }
94
96 void setMaxWidth( double mW ) { m_maxWidth = mW; }
97
99 const ParticleProperty* antiParticle() const { return m_anti; }
101 void setAntiParticle( const ParticleProperty* p ) { m_anti = p; }
102
103 friend std::ostream& operator<<( std::ostream& stream, const ParticleProperty& pp ) {
104 stream << "Name : " << pp.m_name << ", Geant ID : " << pp.m_idgeant << ", JetSet ID : " << pp.m_idjetset
105 << ", Charge (/e): " << pp.m_charge << ", Mass (MeV): " << pp.m_mass << ", Lifetime (ns): " << pp.m_tlife
106 << ", EvtGen Name: " << pp.m_evtgenName << ", Pythia ID: " << pp.m_pythiaId
107 << ", Max width deviation (MeV): " << pp.m_maxWidth;
108 return stream;
109 }
110
111 private:
113 std::string m_name;
114
116 int m_idgeant;
117
119 int m_idjetset;
120
122 double m_charge;
123
125 double m_mass;
126
128 double m_tlife;
129
131 std::string m_evtgenName;
132
134 int m_pythiaId;
135
137 double m_maxWidth;
138
140 const ParticleProperty* m_anti = nullptr;
141 };
142
143 #endif
ParticleProperty::m_name
std::string m_name
The particle name.
Definition: ParticleProperty.h:113
ParticleProperty::setMass
void setMass(double m)
Set the particle charge.
Definition: ParticleProperty.h:72
ParticleProperty::setPythiaID
void setPythiaID(int pId)
Set the Pythia ID.
Definition: ParticleProperty.h:90
ParticleProperty::jetsetID
int jetsetID() const
Get the JETSET(StdHep) ID.
Definition: ParticleProperty.h:57
ParticleProperty::setEvtGenName
void setEvtGenName(const std::string &name)
Set the EvtGen name.
Definition: ParticleProperty.h:84
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
ParticleProperty::ParticleProperty
ParticleProperty()=default
Constructors.
ParticleProperty
A trivial class to hold information about a single particle properties.
Definition: ParticleProperty.h:18
std
STL namespace.
ParticleProperty::setParticle
void setParticle(const std::string &particle)
Set the particle name.
Definition: ParticleProperty.h:42
ParticleProperty::pythiaID
int pythiaID() const
Get the Pythia ID.
Definition: ParticleProperty.h:87
ParticleProperty::m_charge
double m_charge
The charge.
Definition: ParticleProperty.h:122
ParticleProperty::setLifetime
void setLifetime(double t)
Set the particle lifetime.
Definition: ParticleProperty.h:78
ParticleProperty::ParticleProperty
ParticleProperty(std::string particle, int geantId, int jetsetId, double charge, double mass, double tlife, std::string evtgenName, int pythiaId, double maxWidth)
Definition: ParticleProperty.h:23
std::string
STL class.
ParticleProperty::m_tlife
double m_tlife
The lifetime.
Definition: ParticleProperty.h:128
ParticleProperty::maxWidth
double maxWidth() const
Get the max width deviation.
Definition: ParticleProperty.h:93
ParticleProperty::~ParticleProperty
~ParticleProperty()=default
Destructor.
Gaudi::Units::m
constexpr double m
Definition: SystemOfUnits.h:92
ParticleProperty::m_idjetset
int m_idjetset
The Jetset ID.
Definition: ParticleProperty.h:119
ParticleProperty::operator<<
friend std::ostream & operator<<(std::ostream &stream, const ParticleProperty &pp)
Definition: ParticleProperty.h:103
ParticleProperty::pdgID
int pdgID() const
Get the PDG (= JETSET) ID.
Definition: ParticleProperty.h:51
ParticleProperty::setCharge
void setCharge(double q)
Set the particle charge.
Definition: ParticleProperty.h:66
ParticleProperty::setPdgID
void setPdgID(int id)
Set the PDG (= JETSET) ID.
Definition: ParticleProperty.h:54
ParticleProperty::setGeantID
void setGeantID(int id)
Set the GEANT3 ID.
Definition: ParticleProperty.h:48
ParticleProperty::antiParticle
const ParticleProperty * antiParticle() const
get the pointer to the antiparticle
Definition: ParticleProperty.h:99
ParticleProperty::m_pythiaId
int m_pythiaId
The Pythia ID.
Definition: ParticleProperty.h:134
ParticleProperty::evtGenName
const std::string & evtGenName() const
Get the EvtGen name.
Definition: ParticleProperty.h:81
ParticleProperty::m_idgeant
int m_idgeant
The GEANT ID.
Definition: ParticleProperty.h:116
ParticleProperty::m_evtgenName
std::string m_evtgenName
The EvtGen Name.
Definition: ParticleProperty.h:131
ParticleProperty::m_maxWidth
double m_maxWidth
The maximum width deviation.
Definition: ParticleProperty.h:137
compareOutputFiles.pp
pp
Definition: compareOutputFiles.py:495
ParticleProperty::geantID
int geantID() const
Get the GEANT3 ID.
Definition: ParticleProperty.h:45
ParticleProperty::setJetsetID
void setJetsetID(int id)
Set the JETSET(StdHep) ID.
Definition: ParticleProperty.h:60
ParticleProperty::setAntiParticle
void setAntiParticle(const ParticleProperty *p)
set the pointer to the antiparticle
Definition: ParticleProperty.h:101
ParticleProperty::particle
const std::string & particle() const
Get the particle name.
Definition: ParticleProperty.h:39
std::ostream
STL class.
ParticleProperty::mass
double mass() const
Get the particle mass.
Definition: ParticleProperty.h:69
ParticleProperty::setMaxWidth
void setMaxWidth(double mW)
Set the max width deviation.
Definition: ParticleProperty.h:96
ParticleProperty::m_anti
const ParticleProperty * m_anti
the antiparticle
Definition: ParticleProperty.h:140
ParticleProperty::lifetime
double lifetime() const
Get the particle lifetime.
Definition: ParticleProperty.h:75
ParticleProperty::charge
double charge() const
Get the particle charge.
Definition: ParticleProperty.h:63
ParticleProperty::m_mass
double m_mass
The mass.
Definition: ParticleProperty.h:125