![]() |
![]() |
00001 #ifndef SimDataFormats_BTauMC_MCParticleInfo_h 00002 #define SimDataFormats_BTauMC_MCParticleInfo_h 00003 00009 class MCParticleInfo { 00010 00011 public: 00012 MCParticleInfo(){} 00013 MCParticleInfo( int ); 00014 00015 ~MCParticleInfo(); 00016 00017 void reset () ; 00018 00022 void setCode( int ) ; // this also decodes all particle related information and sets the 00023 // corresponding variables 00024 00028 void print() const ; 00029 00030 int lundCode () const { return lundCode_ ; } 00031 int lundCodeOfHeaviestQuark () const { return lundCodeOfHeaviestQuark_ ; } 00032 00033 bool isHadron () const { return isHadron_ ; } 00034 bool isBottomHadron () const { return isBottomHadron_ ; } 00035 bool isCharmHadron () const { return isCharmHadron_ ; } 00036 bool isStrangeHadron() const { return isStrangeHadron_ ; } 00037 bool hasStrangeness () const { return hasStrangeness_ ; } 00038 bool isBaryon () const { return isBaryon_ ; } 00039 00040 bool isParton () const { return isParton_ ; } 00041 bool isD () const { return isD_ ; } 00042 bool isU () const { return isU_ ; } 00043 bool isS () const { return isS_ ; } 00044 bool isC () const { return isC_ ; } 00045 bool isB () const { return isB_ ; } 00046 bool isGluon () const { return isGluon_ ; } 00047 bool isQuark () const { return isQuark_ ; } 00048 bool isLepton () const { return isLepton_ ; } 00049 00050 private: 00051 bool isInitialised; // properly initialised? 00052 // particle information 00053 int lundCode_; // Lund Particle Code of the particle 00054 int lundCodeOfHeaviestQuark_ ; // heaviest quark in the hadron 00055 // for hadrons 00056 bool isHadron_; // is a hadron 00057 bool isBottomHadron_; // b-hadron? --| 00058 bool isCharmHadron_; // c-hadron? |-- refers to heaviest quark only!! 00059 bool isStrangeHadron_; // s-hadron? --| 00060 bool hasStrangeness_; // carries strangeness 00061 bool isBaryon_; // is a baryon 00062 // for partons 00063 bool isParton_ ; 00064 bool isD_ ; 00065 bool isU_ ; 00066 bool isS_ ; 00067 bool isC_ ; 00068 bool isB_ ; 00069 bool isGluon_ ; 00070 bool isQuark_ ; 00071 // for light charged leptons 00072 bool isLepton_ ; 00073 00074 }; 00075 00076 #endif // SimDataFormats_BTauMC_MCParticleInfo_h