// @(#)root/eg:$Name: $:$Id: TParticlePDG.h,v 1.1.1.1 2000/05/16 17:00:47 rdm Exp $ // Author: Pasha Murat 12/02/99 /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TParticlePDG #define ROOT_TParticlePDG #ifndef ROOT_TNamed #include "TNamed.h" #endif #ifndef ROOT_TObjArray #include "TObjArray.h" #endif class TParticlePDG : public TNamed { //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ protected: Int_t fPdgCode; // PDG code of the particle Double_t fMass; // particle mass in GeV Double_t fCharge; // charge in units of |e| Double_t fLifetime; // proper lifetime in nanoseconds Double_t fWidth; // total width in GeV Int_t fParity; Double_t fSpin; Double_t fIsospin; // isospin Double_t fI3; // i3 Int_t fStrangeness; // flavours are defined if i3 != -1 Int_t fCharm; // 1 or -1 for C-particles, // 0 for others Int_t fBeauty; // Int_t fTop; // Int_t fY; // X,Y: quantum numbers for the 4-th generation Int_t fX; // Int_t fStable; // 1 if stable, 0 otherwise TObjArray* fDecayList; // array of decay channels TString fType; // particle type - what is it? public: // ****** constructors and destructor TParticlePDG(); TParticlePDG(int pdg_code); TParticlePDG(const char* name, const char* title, Double_t mass, Bool_t stable, Double_t decay_width, Double_t charge, const char* type, Int_t MCnumber); virtual ~TParticlePDG(); // ****** access methods Int_t PdgCode () const { return fPdgCode; } Double_t Mass () const { return fMass; } Double_t Charge () const { return fCharge; } Double_t Lifetime () const { return fLifetime; } Double_t Width () const { return fWidth; } Int_t Parity () const { return fParity; } Double_t Spin () const { return fSpin; } Double_t Isospin () const { return fIsospin; } Double_t I3 () const { return fI3; } Int_t Strangeness() const { return fStrangeness; } Int_t Charm () const { return fCharm; } Int_t Beauty () const { return fBeauty; } Int_t Top () const { return fTop; } Int_t X () const { return fX; } Int_t Y () const { return fY; } Int_t Stable () const { return fStable; } const char *Type () const { return fType.Data(); } TObjArray* DecayList () { return fDecayList; } virtual void Print(Option_t* opt); ClassDef(TParticlePDG,1) //PDG static particle definition }; #endif