#ifndef TParticlePDG_hh
#define TParticlePDG_hh
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TObjArray
#include "TObjArray.h"
#endif
class TDecayChannel;
class TParticlePDG : public TNamed {
public:
protected:
  Int_t            fPdgCode;                    
  Double_t         fMass;                       
  Double_t         fCharge;                     
  Double_t         fLifetime;                   
  Double_t         fWidth;                      
  Int_t            fParity;
  Double_t         fSpin;
  Double_t         fIsospin;                    
  Double_t         fI3;                         
  Int_t            fStrangeness;                
  Int_t            fCharm;                      
                                                
  Int_t            fBeauty;                     
  Int_t            fTop;                        
  Int_t            fY;                          
  Int_t            fX;                          
  Int_t            fStable;                     
                                        
  TObjArray*       fDecayList;                  
                                
  TString          fParticleClass;              
  Int_t            fTrackingCode;               
  TParticlePDG*    fAntiParticle;               
   TParticlePDG(const TParticlePDG&); 
   TParticlePDG& operator=(const TParticlePDG&);
public:
   
   TParticlePDG();
   TParticlePDG(int pdg_code);
   TParticlePDG(const char* Name, const char* Title, Double_t Mass,
                Bool_t Stable, Double_t Width, Double_t Charge,
                const char* ParticleClass, Int_t PdgCode, Int_t Anti, 
                Int_t TrackingCode);
   virtual ~TParticlePDG();
   
  
   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*     ParticleClass() const { return fParticleClass.Data(); }
   TObjArray*      DecayList    () { return fDecayList; }
   Int_t   NDecayChannels () const { 
     return (fDecayList) ? fDecayList->GetEntriesFast() : 0;
   }
   Int_t   TrackingCode() const { return fTrackingCode; }
   TDecayChannel* DecayChannel(Int_t i);
   TParticlePDG* AntiParticle() { return fAntiParticle; }
   
   void   SetAntiParticle(TParticlePDG* ap) { fAntiParticle = ap; }
   Int_t  AddDecayChannel(Int_t        Type, 
                          Double_t     BranchingRatio, 
                          Int_t        NDaughters, 
                          Int_t*       DaughterPdgCode);
   virtual void  PrintDecayChannel(TDecayChannel* dc, Option_t* opt = "") const; 
   virtual void  Print(Option_t* opt = "") const; 
   ClassDef(TParticlePDG,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.