//------------------------------------------------------------------------------ // Jan 19 1999 P.Murat: this is the very first draft, alot of functionality // is still missing //------------------------------------------------------------------------------ #ifndef ROOT_TDatabasePDG #define ROOT_TDatabasePDG #ifndef ROOT_TParticlePDG //*KEEP,TParticlePDG,T=C++. #include "TParticlePDG.h" //*KEND. #endif #ifndef ROOT_THashList //*KEEP,THashList. #include "THashList.h" //*KEND. #endif class TDatabasePDG: public TNamed { protected: THashList *fParticleList; // list of PDG particles static TDatabasePDG *fgInstance; // protect against multiple instances public: TDatabasePDG(); virtual ~TDatabasePDG(); virtual void AddParticle(const char *name, const char *title, Double_t Mass, Bool_t Stable, Double_t DecayWidth, Double_t Charge, const char *Type, Int_t pdgCode); virtual Int_t ConvertIsajetToPdg(Int_t isaNumber); TParticlePDG *GetParticle(Int_t pdgCode); TParticlePDG *GetParticle(const char *name); virtual void Init(); // function which does the real job of initializing the database const THashList *ParticleList() const { return fParticleList; } virtual void Print(Option_t *opt = ""); virtual void ReadPDGTable(const char *filename); static TDatabasePDG *Instance(); ClassDef(TDatabasePDG,1) // PDG particle database }; #endif