11 #ifndef TParticlePDG_hh
12 #define TParticlePDG_hh
19 class TParticlePDG :
public TNamed {
43 TObjArray* fDecayList;
45 TString fParticleClass;
48 TParticlePDG* fAntiParticle;
52 TParticlePDG(
const TParticlePDG&);
53 TParticlePDG& operator=(
const TParticlePDG&);
58 TParticlePDG(
const char* Name,
const char* Title, Double_t Mass,
59 Bool_t Stable, Double_t Width, Double_t Charge,
60 const char* ParticleClass, Int_t PdgCode, Int_t Anti,
63 virtual ~TParticlePDG();
66 Int_t PdgCode ()
const {
return fPdgCode; }
67 Double_t Mass ()
const {
return fMass; }
68 Double_t Charge ()
const {
return fCharge; }
69 Double_t Lifetime ()
const {
return fLifetime; }
70 Double_t Width ()
const {
return fWidth; }
71 Int_t Parity ()
const {
return fParity; }
72 Double_t Spin ()
const {
return fSpin; }
73 Double_t Isospin ()
const {
return fIsospin; }
74 Double_t I3 ()
const {
return fI3; }
75 Int_t Strangeness ()
const {
return fStrangeness; }
76 Int_t Charm ()
const {
return fCharm; }
77 Int_t Beauty ()
const {
return fBeauty; }
78 Int_t Top ()
const {
return fTop; }
79 Int_t X ()
const {
return fX; }
80 Int_t Y ()
const {
return fY; }
81 Int_t Stable ()
const {
return fStable; }
82 const char* ParticleClass()
const {
return fParticleClass.Data(); }
84 TObjArray* DecayList () {
return fDecayList; }
86 Int_t NDecayChannels ()
const {
87 return (fDecayList) ? fDecayList->GetEntriesFast() : 0;
90 Int_t TrackingCode()
const {
return fTrackingCode; }
92 TDecayChannel* DecayChannel(Int_t i);
94 TParticlePDG* AntiParticle() {
return fAntiParticle; }
95 const TParticlePDG* AntiParticle()
const {
return fAntiParticle; }
99 void SetAntiParticle(TParticlePDG* ap) { fAntiParticle = ap; }
101 Int_t AddDecayChannel(Int_t Type,
102 Double_t BranchingRatio,
104 Int_t* DaughterPdgCode);
106 virtual void PrintDecayChannel(TDecayChannel* dc, Option_t* opt =
"")
const;
108 virtual void Print(Option_t* opt =
"")
const;
110 ClassDef(TParticlePDG,2)