#ifndef ROOT_TDatabasePDG
#define ROOT_TDatabasePDG
#ifndef ROOT_TParticlePDG
#include "TParticlePDG.h"
#endif
#ifndef ROOT_TParticleClassPDG
#include "TParticleClassPDG.h"
#endif
class THashList;
class TDatabasePDG: public TNamed {
protected:
   static TDatabasePDG *fgInstance;        
   THashList* fParticleList;               
   TObjArray* fListOfClasses;              
   TDatabasePDG(const TDatabasePDG& db)
     : TNamed(db), fParticleList(db.fParticleList),
     fListOfClasses(db.fListOfClasses) { }
   TDatabasePDG& operator=(const TDatabasePDG& db)
     {if(this!=&db) {TNamed::operator=(db); fParticleList=db.fParticleList;
     fListOfClasses=db.fListOfClasses;} return *this;}
public:
   TDatabasePDG();
   virtual ~TDatabasePDG();
   static TDatabasePDG*  Instance();
   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);
   virtual Int_t  ConvertGeant3ToPdg(Int_t Geant3Number);
   virtual Int_t  ConvertPdgToGeant3(Int_t pdgNumber);
   virtual Int_t  ConvertIsajetToPdg(Int_t isaNumber);
   virtual TParticlePDG* AddAntiParticle(const char* Name, Int_t PdgCode);
   TParticlePDG  *GetParticle(Int_t pdgCode) const;
   TParticlePDG  *GetParticle(const char *name) const;
   TParticleClassPDG* GetParticleClass(const char* name) {
      if (fParticleList == 0)  ((TDatabasePDG*)this)->ReadPDGTable();
      return (TParticleClassPDG*) fListOfClasses->FindObject(name);
   }
   const THashList *ParticleList() const { return fParticleList; }
   virtual void   Print(Option_t *opt = "") const;
   Bool_t IsFolder() const { return kTRUE; }
   virtual void   Browse(TBrowser* b);
   virtual void   ReadPDGTable (const char *filename = "");
   virtual Int_t  WritePDGTable(const char *filename);
   ClassDef(TDatabasePDG,2)  
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.