1 #ifndef __JAANET__JPDB__ 
    2 #define __JAANET__JPDB__ 
   17 #include "TDatabasePDG.h" 
   18 #include "TParticlePDG.h" 
   19 #include "TCollection.h" 
   20 #include "THashList.h" 
   28 namespace JPP { 
using namespace JAANET; }
 
   82       return out << setw(32) << left  << particle.
name  << 
"  " 
   83                  << setw( 6) << right << particle.
pdg   << 
"  " 
   84                  << setw( 6) << right << particle.
geant << 
"  " 
  103 #define MAKE_PARTICLE(PDG, GEANT, MASS) JParticle(#PDG, PDG, GEANT, MASS) 
  133         TDatabasePDG::Instance()->ReadPDGTable();
 
  135         TIter next(TDatabasePDG::Instance()->ParticleList());
 
  137         while (TParticlePDG* p = (TParticlePDG*) next()) {
 
  139           const JParticle particle(p->GetName(), p->PdgCode(), convertPDGtoGEANT(p->PdgCode()), p->Mass());
 
  141           pdb.push_back(particle);
 
  172       if (p != this->end())
 
  210         return TDatabasePDG::Instance()->ConvertPdgToGeant3(pdg);
 
  238       if (p != this->end())
 
  256       out << setw(32) << left  << 
"particle"     << 
"  " 
  257           << setw( 6) << right << 
"PDG"          << 
"  " 
  258           << setw( 6) << right << 
"GEANT"        << 
"  " 
  259           << setw(12) << right << 
"Mass [GeV]"   << endl;
 
  261       for (JPDB::const_iterator 
i = pdb.begin(); 
i != pdb.end(); ++
i) {
 
std::string name
name of particle 
 
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member. 
 
static int convertPDGtoGEANT(const int pdg)
Retrieve GEANT code for a given PDG code. 
 
const JParticle & getGEANT(const int geant) const 
Get particle corresponding to given GEANT code. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
const JParticle & getPDG(const int pdg) const 
Get particle corresponding to given PDG code. 
 
JParticle()
Default constructor. 
 
Auxiliary data structure for floating point format specification. 
 
JPDB()
Default constructor. 
 
static const JPDB & getInstance()
Get particle data book. 
 
bool hasGEANT(const int geant) const 
Check if PDB has particle corresponding to given GEANT code. 
 
friend std::ostream & operator<<(std::ostream &out, const JPDB &pdb)
Print particle data book. 
 
Auxiliary class to handle particle name, codes and mass. 
 
bool hasPDG(const int pdg) const 
Check if PDB has particle corresponding to given PDG code. 
 
double mass
mass of particle [GeV] 
 
friend std::ostream & operator<<(std::ostream &out, const JParticle &particle)
Print particle. 
 
int geant
GEANT code of particle. 
 
Definition of particle types. 
 
int pdg
PDG code of particle. 
 
JParticle(const std::string &name, const int pdg, const int geant, const double mass)
Constructor.