12 #ifndef ROOT_TDatabasePDG 13 #define ROOT_TDatabasePDG 30 :
TNamed(db), fParticleList(db.fParticleList),
31 fListOfClasses(db.fListOfClasses), fPdgMap(0) { }
53 const char* ParticleClass,
56 Int_t TrackingCode=0);
68 if (fParticleList == 0) ((
TDatabasePDG*)
this)->ReadPDGTable();
TDatabasePDG()
Create PDG database.
virtual ~TDatabasePDG()
Cleanup the PDG database.
TParticleClassPDG * GetParticleClass(const char *name)
virtual TParticlePDG * AddParticle(const char *Name, const char *Title, Double_t Mass, Bool_t Stable, Double_t DecayWidth, Double_t Charge, const char *ParticleClass, Int_t PdgCode, Int_t Anti=-1, Int_t TrackingCode=0)
Particle definition normal constructor.
Particle database manager class.
TDatabasePDG(const TDatabasePDG &db)
hash-map from pdg-code to particle
static TDatabasePDG * Instance()
static function
#define ClassDef(name, id)
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
The TNamed class is the base class for all named ROOT classes.
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name.
virtual TParticlePDG * AddAntiParticle(const char *Name, Int_t PdgCode)
assuming particle has already been defined
TDatabasePDG & operator=(const TDatabasePDG &db)
virtual void Browse(TBrowser *b)
browse data base
virtual Int_t ConvertIsajetToPdg(Int_t isaNumber) const
Converts the ISAJET Particle number into the PDG MC number.
TObjArray * fListOfClasses
Using a TBrowser one can browse all ROOT objects.
TNamed & operator=(const TNamed &rhs)
TNamed assignment operator.
THashList * fParticleList
Description of the static properties of a particle.
virtual void ReadPDGTable(const char *filename="")
read list of particles from a file if the particle list does not exist, it is created, otherwise particles are added to the existing list See $ROOTSYS/etc/pdg_table.txt to see the file format
const THashList * ParticleList() const
virtual Int_t ConvertGeant3ToPdg(Int_t Geant3Number) const
Converts Geant3 particle codes to PDG convention.
TParticlePDG * GetParticle(Int_t pdgCode) const
Get a pointer to the particle object according to the MC code number.
virtual Int_t WritePDGTable(const char *filename)
write contents of the particle DB into a file
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
void BuildPdgMap() const
Build fPdgMap mapping pdg-code to particle.
virtual void Print(Option_t *opt="") const
Print contents of PDG database.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Utility class used internally by TDatabasePDG.
virtual Int_t ConvertPdgToGeant3(Int_t pdgNumber) const
Converts pdg code to geant3 id.
This class stores a (key,value) pair using an external hash.