![]() |
|
|
Generated: 18 Jul 2008 |
00001 // $Id: ParticleProperty.h,v 1.6 2004/08/05 09:58:08 mato Exp $ 00002 #ifndef GAUDIKERNEL_PARTICLEPROPERTY_H 00003 #define GAUDIKERNEL_PARTICLEPROPERTY_H 1 00004 // ============================================================================ 00005 // Include files 00006 // ============================================================================ 00007 #include <string> 00008 #include <ostream> 00009 #include <iomanip> 00010 // ============================================================================ 00011 00019 class ParticleProperty { 00020 public: 00022 ParticleProperty() {} 00023 00024 ParticleProperty 00025 ( const std::string& particle , 00026 int geantId , 00027 int jetsetId , 00028 double charge , 00029 double mass , 00030 double tlife , 00031 const std::string& evtgenName , 00032 int pythiaId , 00033 double maxWidth ) 00034 : m_name ( particle ) 00035 , m_idgeant ( geantId ) 00036 , m_idjetset ( jetsetId ) 00037 , m_charge ( charge ) 00038 , m_mass ( mass ) 00039 , m_tlife ( tlife ) 00040 , m_evtgenName ( evtgenName ) 00041 , m_pythiaId ( pythiaId ) 00042 , m_maxWidth ( maxWidth ) 00043 , m_anti ( 0 ) 00044 {} 00045 00047 ~ParticleProperty() {} 00048 00050 const std::string& particle() const { return m_name; } 00051 00053 void setParticle( const std::string& particle ) { m_name = particle; } 00054 00056 int geantID() const { return m_idgeant; } 00057 00059 void setGeantID( int id ) { m_idgeant = id; } 00060 00062 int pdgID() const { return m_idjetset; } 00063 00065 void setPdgID( int id) { m_idjetset = id; } 00066 00068 int jetsetID() const { return m_idjetset; } 00069 00071 void setJetsetID( int id ) { m_idjetset = id; } 00072 00074 double charge() const { return m_charge; } 00075 00077 void setCharge( double q ) { m_charge = q; } 00078 00080 double mass() const { return m_mass; } 00081 00083 void setMass( double m ) { m_mass = m; } 00084 00086 double lifetime() const { return m_tlife; } 00087 00089 void setLifetime( double t ) { m_tlife = t; } 00090 00092 const std::string& evtGenName() const { return m_evtgenName ; } 00093 00095 void setEvtGenName( const std::string & name ) { m_evtgenName = name ; } 00096 00098 int pythiaID() const { return m_pythiaId ; } 00099 00101 void setPythiaID( int pId ) { m_pythiaId = pId ; } 00102 00104 double maxWidth() const { return m_maxWidth ; } 00105 00107 void setMaxWidth( double mW ) { m_maxWidth = mW ; } 00108 00110 const ParticleProperty* antiParticle() const { return m_anti ; } 00112 void setAntiParticle( const ParticleProperty* p ) { m_anti = p ; } 00113 00114 friend std::ostream& operator<< 00115 ( std::ostream& stream, const ParticleProperty& pp) 00116 { 00117 stream << "Name : " << pp.m_name 00118 << ", Geant ID : " << pp.m_idgeant 00119 << ", JetSet ID : " << pp.m_idjetset 00120 << ", Charge (/e): " << pp.m_charge 00121 << ", Mass (MeV): " << pp.m_mass 00122 << ", Lifetime (ns): " << pp.m_tlife 00123 << ", EvtGen Name: " << pp.m_evtgenName 00124 << ", Pythia ID: " << pp.m_pythiaId 00125 << ", Max width deviation (MeV): " << pp.m_maxWidth ; 00126 return stream; 00127 } 00128 00129 private: 00131 std::string m_name; 00132 00134 int m_idgeant; 00135 00137 int m_idjetset; 00138 00140 double m_charge; 00141 00143 double m_mass; 00144 00146 double m_tlife; 00147 00149 std::string m_evtgenName ; 00150 00152 int m_pythiaId ; 00153 00155 double m_maxWidth ; 00156 00158 const ParticleProperty* m_anti ; 00159 }; 00160 00161 #endif 00162