Logo ROOT  
Reference Guide
TAttParticle.h
Go to the documentation of this file.
1 // @(#)root/eg:$Id$
2 // Author: Ola Nordmann 29/09/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 
13 //////////////////////////////////////////////////////////////////////////
14 // //
15 // TAttParticle //
16 // //
17 // Particle definition, based on GEANT3 particle definition //
18 // //
19 // //
20 //////////////////////////////////////////////////////////////////////////
21 
22 #ifndef ROOT_TAttParticle
23 #define ROOT_TAttParticle
24 
25 #include "TNamed.h"
26 #include "TAttLine.h"
27 
28 class THashList;
29 
30 class TAttParticle : public TNamed {
31 private:
32  Double_t fPDGMass; //Mass of the particle in GeV/c2
33  Bool_t fPDGStable; //Logical indicator, if TRUE the particle can not decay
34  Double_t fPDGDecayWidth; //Life time of the particle in sec.
35  Double_t fPDGCharge; //Charge of the particle in units of e
36  TString fParticleType; //Text indicator for the particle family
37  Int_t fMCnumberOfPDG; //PDG MC number followed by
38  //http://pdg.lbl.gov/rpp/mcdata/all.mc
39  Double_t fEnergyCut; //Lower energy cut off, the default is 10 keV
40  Double_t fEnergyLimit; //High energy cut off, the default is 10 TeV
41  Double_t fGranularity; //Granularity of the fLogEScale
42 
43 public:
44  TAttParticle();
45  TAttParticle(const char *name, const char *title,
46  Double_t Mass, Bool_t Stable,
47  Double_t DecayWidth, Double_t Charge, const char *Type,
48  Int_t MCnumber, Int_t granularity=90,
49  Double_t LowerCutOff=1.e-5, Double_t HighCutOff=1.e4);
50  virtual ~TAttParticle();
51  static THashList *fgList;
52  static Int_t ConvertISAtoPDG(Int_t isaNumber);
53  static void DefinePDG();
54  virtual Double_t GetCharge() const { return fPDGCharge; }
55  virtual Double_t GetEnergyCut() const { return fEnergyCut; }
56  virtual Double_t GetEnergyLimit() const { return fEnergyLimit; }
57  virtual Double_t GetGranularity() const { return fGranularity; }
58  virtual Double_t GetDecayWidth() const { return fPDGDecayWidth; }
59  virtual Double_t GetMass() const { return fPDGMass; }
60  virtual Int_t GetMCNumber() const { return fMCnumberOfPDG; }
61  static TAttParticle *GetParticle(const char *name);
62  static TAttParticle *GetParticle(Int_t mcnumber);
63  virtual const char *GetParticleType() const { return fParticleType.Data(); }
64  virtual Bool_t GetStable() const { return fPDGStable; }
65  virtual void Print(Option_t *option="") const ;
66  virtual Double_t SampleMass() const ;
67  virtual Double_t SampleMass(Double_t widthcut) const ;
68 
69  ClassDef(TAttParticle,1) //Particle definition
70 };
71 
72 #endif
TAttParticle::fEnergyCut
Double_t fEnergyCut
Definition: TAttParticle.h:39
TAttParticle::GetEnergyLimit
virtual Double_t GetEnergyLimit() const
Definition: TAttParticle.h:56
Option_t
const char Option_t
Definition: RtypesCore.h:66
TString::Data
const char * Data() const
Definition: TString.h:369
TNamed.h
TAttParticle::fEnergyLimit
Double_t fEnergyLimit
Definition: TAttParticle.h:40
TAttParticle::fGranularity
Double_t fGranularity
Definition: TAttParticle.h:41
Int_t
int Int_t
Definition: RtypesCore.h:45
TAttParticle::GetStable
virtual Bool_t GetStable() const
Definition: TAttParticle.h:64
TAttParticle::GetGranularity
virtual Double_t GetGranularity() const
Definition: TAttParticle.h:57
TString
Basic string class.
Definition: TString.h:136
TAttParticle::ConvertISAtoPDG
static Int_t ConvertISAtoPDG(Int_t isaNumber)
Converts the ISAJET Particle number into the PDG MC number.
Definition: TAttParticle.cxx:89
ROOT::Math::IntegrationOneDim::Type
Type
enumeration specifying the integration types.
Definition: AllIntegrationTypes.h:45
bool
TAttParticle::GetCharge
virtual Double_t GetCharge() const
Definition: TAttParticle.h:54
TAttParticle::GetDecayWidth
virtual Double_t GetDecayWidth() const
Definition: TAttParticle.h:58
TAttParticle::Print
virtual void Print(Option_t *option="") const
Print the entire information of this kind of particle.
Definition: TAttParticle.cxx:1535
TAttLine.h
TAttParticle::fPDGCharge
Double_t fPDGCharge
Definition: TAttParticle.h:35
TAttParticle::fParticleType
TString fParticleType
Definition: TAttParticle.h:36
TAttParticle::SampleMass
virtual Double_t SampleMass() const
Samples a mass according to the Breit-Wigner resonance distribution.
Definition: TAttParticle.cxx:1555
THashList
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
Definition: THashList.h:34
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TAttParticle::fPDGDecayWidth
Double_t fPDGDecayWidth
Definition: TAttParticle.h:34
TAttParticle::GetEnergyCut
virtual Double_t GetEnergyCut() const
Definition: TAttParticle.h:55
TAttParticle::GetMCNumber
virtual Int_t GetMCNumber() const
Definition: TAttParticle.h:60
TAttParticle::GetMass
virtual Double_t GetMass() const
Definition: TAttParticle.h:59
TAttParticle::fMCnumberOfPDG
Int_t fMCnumberOfPDG
Definition: TAttParticle.h:37
TAttParticle
Particle definition, partly based on GEANT3 particle definition.
Definition: TAttParticle.h:30
Double_t
double Double_t
Definition: RtypesCore.h:59
TAttParticle::TAttParticle
TAttParticle()
Particle definition default constructor.
Definition: TAttParticle.cxx:32
TAttParticle::~TAttParticle
virtual ~TAttParticle()
Particle destructor.
Definition: TAttParticle.cxx:80
TAttParticle::fPDGStable
Bool_t fPDGStable
Definition: TAttParticle.h:33
TAttParticle::fgList
static THashList * fgList
Definition: TAttParticle.h:51
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TAttParticle::DefinePDG
static void DefinePDG()
Defines particles according to the Particle Data Group.
Definition: TAttParticle.cxx:249
TAttParticle::fPDGMass
Double_t fPDGMass
Definition: TAttParticle.h:32
name
char name[80]
Definition: TGX11.cxx:110
TAttParticle::GetParticleType
virtual const char * GetParticleType() const
Definition: TAttParticle.h:63
TAttParticle::GetParticle
static TAttParticle * GetParticle(const char *name)
Get a pointer to the particle object according to the name given.
Definition: TAttParticle.cxx:1505
int