29     TDatabasePDG* pdgtable = TDatabasePDG::Instance();
 
   32       pdgtable->~TDatabasePDG();
 
   34       pdgtable = TDatabasePDG::Instance();
 
   37       Info(
"RhoPdtLoader",
"Forcing an empty PDG table start.");
 
   38       pdgtable->ReadPDGTable(
"/dev/null"); 
 
   47     const Float_t HBARC = 197.327*1.e-3*1.e-13; 
 
   51         Error(
"ReadPDGTable",
"Could not open PDG particle file %s",
filename);
 
   56     while ( fgets(line,512,ifl) ) {
 
   57         if (strlen(line) >= 511) {
 
   58             Error(
"ReadPDGTable",
"input line is too long");
 
   61         istringstream linestr(line);
 
   64         linestr >> opcode >> subcode;
 
   69         if ( opcode == 
"end" )
 
   72         else if ( opcode == 
"add" ) {
 
   79                 if (classname == 
"Collision" )
 
   84                 float mass, width, 
cut, charge, spin, lifetime;
 
   86                 linestr >> name >> type;
 
   87                 linestr >> mass >> width >> cut >> charge;
 
   88                 linestr >> spin >> lifetime;
 
   91                 if (classname != 
"Meson")
 
   95                 if (lifetime > 0.0 && width < 1e-10)
 
   96                     width = HBARC / (lifetime/10.0);
 
   98                 Bool_t stable = (lifetime <= 0);
 
  100                 pdgtable->AddParticle(name.c_str(), name.c_str(), mass, stable, width,
 
  101                                       charge, classname.c_str(), type, -1, 0);
 
  111                 linestr >> ptype >> bf >> decayer >> nchild;
 
  112                 TParticlePDG *parent = pdgtable->GetParticle(ptype);
 
  113                 if (parent == 0) 
continue;
 
  118                 for (i=0; i<nchild; i++ )
 
  122                     TParticlePDG* secondary = pdgtable->GetParticle(ctype);
 
  123                     if ( secondary ==0 ) 
break;
 
  135                 Error(
"ReadPDGTable",
"unknown subcode %d for operation add",subcode);