30 #include "StParticleDefinition.hh"
31 #include "StParticleTable.hh"
32 #include "PhysicalConstants.h"
38 StParticleDefinition::StParticleDefinition(
55 : mParticleName(aName),
61 mPDGiParity(aIParity),
62 mPDGiConjugation(aIConjugation),
63 mPDGiIsospin(aIIsospin),
64 mPDGiIsospin3(aIIsospin3),
65 mPDGIsospin(aIIsospin*0.5),
66 mPDGIsospin3(aIIsospin3*0.5),
67 mPDGiGParity(aGParity),
68 mLeptonNumber(aLepton),
69 mBaryonNumber(aBaryon),
71 mPDGEncoding(aEncoding),
72 mAntiPDGEncoding(-1*aEncoding),
73 mPDGStable(aIsStableFlag),
74 mPDGLifeTime(aLifetime) ,
80 mParticleTable = StParticleTable::particleTable();
81 mParticleTable->insert(
this);
86 StParticleDefinition::StParticleDefinition() :
110 StParticleDefinition::~StParticleDefinition() {}
117 return (this->mParticleName == p.mParticleName);
122 return !(*
this == right);
128 os <<
"Particle Name : " << p.name().c_str() << endl;
129 os <<
"PDG particle code : " << p.pdgEncoding() << endl;
130 os <<
"Mass [GeV/c2] : " << p.mass()/GeV << endl;
131 os <<
"Width [GeV/c2] : " << p.width()/GeV << endl;
132 os <<
"Lifetime [nsec] : ";
133 if (p.lifeTime() < 0)
136 os << p.lifeTime()/nanosecond;
138 os <<
"Charge [e] : " << p.charge()/eplus << endl;
139 os <<
"Spin : " << p.iSpin() <<
"/2" << endl;
140 os <<
"Parity : " << p.iParity() << endl;
141 os <<
"Charge conjugation : " << p.iConjugation() << endl;
142 os <<
"Isospin : (I,Iz): (" << p.iIsospin() <<
"/2" <<
" , " << p.iIsospin3() <<
"/2 ) " << endl;
143 os <<
"GParity : " << p.iGParity() << endl;
144 os <<
"Lepton number : " << p.leptonNumber() << endl;
145 os <<
"Baryon number : " << p.baryonNumber() << endl;
146 os <<
"Particle type : " << p.type().c_str() << endl;
147 os <<
"Is stable : " << (p.stable() ?
"yes" :
"no") << endl;