TDatabasePDG


class description - source file - inheritance tree

class TDatabasePDG : public TNamed


    public:
TDatabasePDG TDatabasePDG() TDatabasePDG TDatabasePDG(TDatabasePDG&) virtual void ~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) static TClass* Class() virtual Int_t ConvertIsajetToPdg(Int_t isaNumber) TParticlePDG* GetParticle(Int_t pdgCode) const TParticlePDG* GetParticle(const char* name) const virtual void Init() static TDatabasePDG* Instance() virtual TClass* IsA() const const THashList* ParticleList() const virtual void Print(Option_t* opt) const virtual void ReadPDGTable(const char* filename) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

protected:
THashList* fParticleList list of PDG particles static TDatabasePDG* fgInstance protect against multiple instances

Class Description

  Particle data base manager

  This manager can create automatically a list of particles precompiled
  from a Particle data Group table (see Init function)
  or one can read a list of particles from a table via ReadPDGTable.
  To use the second option, do:
     - TDatabasePDG *pdg = new TDatabasePDG();
     - pdg->ReadPDGtable(filename)
  an example of a pdg table can be found in $ROOTSYS/tutorials/pdg.dat

  See TParticlePDG for the description of a static particle.
  See TParticle for the description of a dynamic particle.



TDatabasePDG() : TNamed("PDGDB","The PDG particle data base")
 Create PDG database.

~TDatabasePDG()
 Cleanup the PDG database.

void AddParticle(const char *name, const char *title, Double_t mass, Bool_t stable, Double_t width, Double_t charge, const char *type, Int_t PDGcode)
  Particle definition normal constructor. If the particle is set to be
  stable, the decay width parameter does have no meaning and can be set to
  any value. The parameters granularity, LowerCutOff and HighCutOff are
  used for the construction of the mean free path look up tables. The
  granularity will be the number of logwise energy points for which the
  mean free path will be calculated.


Int_t ConvertIsajetToPdg(Int_t isaNumber)
  Converts the ISAJET Particle number into the PDG MC number


void Init()
  Defines particles according to the Particle Data Group

  For questions regarding distribution or content of the MC particle
  codes, contact
  Gary Wagman (GSWagman@LBL.BITNET, LBL::GSWagman, or GSWagman@LBL.GOV).
  (510)486-6610


TDatabasePDG* Instance()
 static function returning a pointer to a class instance

TParticlePDG* GetParticle(const char *name) const
  Get a pointer to the particle object according to the name given


TParticlePDG* GetParticle(Int_t PDGcode) const
  Get a pointer to the particle object according to the MC code number


void Print(Option_t *option) const
 Print contents of PDG database.

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/tutorials/pdg.dat to see the file format



Inline Functions


        const THashList* ParticleList() const
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
            TDatabasePDG TDatabasePDG(TDatabasePDG&)


Author: Pasha Murat 12/02/99
Last update: root/eg:$Name: $:$Id: TDatabasePDG.cxx,v 1.3 2000/12/13 15:13:46 brun Exp $


ROOT page - Class index - Top of the page

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.