00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef StParticleDefinition_hh
00031 #define StParticleDefinition_hh
00032 #ifdef __ROOT__
00033 #include "Rtypes.h"
00034 #endif
00035
00036 #include <string>
00037 #include <Stiostream.h>
00038 #if !defined(ST_NO_NAMESPACES)
00039 using std::string;
00040 #endif
00041
00042 class StParticleTable;
00043
00044 class StParticleDefinition {
00045 public:
00046 StParticleDefinition(const string & aName,
00047 double mass,
00048 double width,
00049 double charge,
00050 int iSpin,
00051 int iParity,
00052 int iConjugation,
00053 int iIsospin,
00054 int iIsospinZ,
00055 int gParity,
00056 const string & pType,
00057 int lepton,
00058 int baryon,
00059 int encoding,
00060 bool stable,
00061 double lifetime);
00062 virtual ~StParticleDefinition();
00063
00064 int operator==(const StParticleDefinition &right) const;
00065 int operator!=(const StParticleDefinition &right) const;
00066
00067 string name() const {return mParticleName;}
00068 double mass() const {return mPDGMass;}
00069 double width() const {return mPDGWidth;}
00070 double charge() const {return mPDGCharge;}
00071 double spin() const {return mPDGSpin;}
00072 int iSpin() const {return mPDGiSpin;}
00073 int iParity() const {return mPDGiParity;}
00074 int iConjugation() const {return mPDGiConjugation;}
00075 double isospin() const {return mPDGiIsospin;}
00076 double isospin3() const {return mPDGiIsospin3;}
00077 int iIsospin() const {return mPDGiIsospin;}
00078 int iIsospin3() const {return mPDGiIsospin3;}
00079 int iGParity() const {return mPDGiGParity;}
00080 string type() const {return mParticleType;}
00081 int leptonNumber() const {return mLeptonNumber;}
00082 int baryonNumber() const {return mBaryonNumber;}
00083 int pdgEncoding() const {return mPDGEncoding;}
00084 int antiPdgEncoding() const {return mAntiPDGEncoding;}
00085 bool stable() const {return mPDGStable;}
00086 double lifeTime() const {return mPDGLifeTime;}
00087
00088 StParticleTable* particleTable() const {return mParticleTable;}
00089
00090 private:
00091 StParticleDefinition(const StParticleDefinition &);
00092 StParticleDefinition();
00093 const StParticleDefinition & operator=(const StParticleDefinition &);
00094
00095 string mParticleName;
00096 double mPDGMass;
00097 double mPDGWidth;
00098
00099
00100 double mPDGCharge;
00101 int mPDGiSpin;
00102
00103 double mPDGSpin;
00104 int mPDGiParity;
00105
00106 int mPDGiConjugation;
00107 int mPDGiIsospin;
00108 int mPDGiIsospin3;
00109 double mPDGIsospin;
00110 double mPDGIsospin3;
00111 int mPDGiGParity;
00112 int mLeptonNumber;
00113 int mBaryonNumber;
00114 string mParticleType;
00115 int mPDGEncoding;
00116 int mAntiPDGEncoding;
00117 bool mPDGStable;
00118 double mPDGLifeTime;
00119
00120 StParticleTable *mParticleTable;
00121 #ifdef __ROOT__
00122 ClassDef(StParticleDefinition,1)
00123 #endif
00124 };
00125
00126 ostream& operator<<(ostream&, const StParticleDefinition&);
00127
00128 #endif
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149