![]() |
HepPDT Reference DocumentationHepPDT |
00001 // ---------------------------------------------------------------------- 00002 // 00003 // ParticleIDMethods.hh 00004 // Author: Lynn Garren 00005 // 00006 // various utilities to extract information from the particle ID 00007 // 00008 // In the standard numbering scheme, the PID digits (base 10) are: 00009 // +/- n nr nl nq1 nq2 nq3 nj 00010 // It is expected that any 7 digit number used as a PID will adhere to 00011 // the Monte Carlo numbering scheme documented by the PDG. 00012 // Note that many "new" particles not explicitly defined already 00013 // can be expressed within this numbering scheme. 00014 // 00015 // These are the same methods that can be found in HepPDT::ParticleID 00016 // ---------------------------------------------------------------------- 00017 #ifndef PARTICLE_ID_METHODS_HH 00018 #define PARTICLE_ID_METHODS_HH 00019 00020 namespace HepPID { 00021 00024 enum location { nj=1, nq3, nq2, nq1, nl, nr, n, n8, n9, n10 }; 00025 00027 unsigned short digit( location loc, const int & pid ); 00028 00031 int A(const int & pid ); 00032 00035 int Z(const int & pid ); 00036 00039 int lambda( const int & pid ); 00040 00042 int abspid( const int & pid ); 00043 00045 int fundamentalID( const int & pid ); 00047 bool hasFundamentalAnti( const int & pid ); 00048 00051 int extraBits( const int & pid ); 00052 00053 // --- boolean methods: 00054 // 00056 bool isValid( const int & pid ); 00058 bool isMeson( const int & pid ); 00060 bool isBaryon( const int & pid ); 00062 bool isDiQuark( const int & pid ); 00064 bool isHadron( const int & pid ); 00066 bool isLepton( const int & pid ); 00068 bool isNucleus( const int & pid ); 00070 bool isPentaquark( const int & pid ); 00072 bool isSUSY( const int & pid ); 00074 bool isRhadron( const int & pid ); 00076 bool isDyon( const int & pid ); 00079 bool isQBall( const int & pid ); 00080 00082 bool hasUp( const int & pid ); 00084 bool hasDown( const int & pid ); 00086 bool hasStrange( const int & pid ); 00088 bool hasCharm( const int & pid ); 00090 bool hasBottom( const int & pid ); 00092 bool hasTop( const int & pid ); 00093 00094 // --- other information 00095 // 00097 int jSpin( const int & pid ); 00099 int sSpin( const int & pid ); 00101 int lSpin( const int & pid ); 00104 int threeCharge( const int & pid ); 00106 double charge( const int & pid ); 00107 00108 00109 } // HepPID 00110 00111 #endif // PARTICLE_ID_METHODS_HH