#include <RhoPdtLoader.h>
Definition at line 17 of file RhoPdtLoader.h.
RhoPdtLoader::RhoPdtLoader |
( |
| ) |
|
|
inlineprivate |
RhoPdtLoader::~RhoPdtLoader |
( |
| ) |
|
|
inlineprivate |
TDatabasePDG * RhoPdtLoader::ReadPDGTable |
( |
const char * |
filename, |
|
|
bool |
force = false |
|
) |
| |
|
static |
Definition at line 27 of file RhoPdtLoader.cxx.
References Bool_t, cut, i, and name.
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);
The documentation for this class was generated from the following files: