00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef ROOT_TAttParticle
00023 #define ROOT_TAttParticle
00024
00025 #ifndef ROOT_TNamed
00026 #include "TNamed.h"
00027 #endif
00028 #ifndef ROOT_TAttLine
00029 #include "TAttLine.h"
00030 #endif
00031
00032 class THashList;
00033
00034 class TAttParticle : public TNamed {
00035 private:
00036 Double_t fPDGMass;
00037 Bool_t fPDGStable;
00038 Double_t fPDGDecayWidth;
00039 Double_t fPDGCharge;
00040 TString fParticleType;
00041 Int_t fMCnumberOfPDG;
00042
00043 Double_t fEnergyCut;
00044 Double_t fEnergyLimit;
00045 Double_t fGranularity;
00046
00047 public:
00048 TAttParticle();
00049 TAttParticle(const char *name, const char *title,
00050 Double_t Mass, Bool_t Stable,
00051 Double_t DecayWidth, Double_t Charge, const char *Type,
00052 Int_t MCnumber, Int_t granularity=90,
00053 Double_t LowerCutOff=1.e-5, Double_t HighCutOff=1.e4);
00054 virtual ~TAttParticle();
00055 static THashList *fgList;
00056 static Int_t ConvertISAtoPDG(Int_t isaNumber);
00057 static void DefinePDG();
00058 virtual Double_t GetCharge() const { return fPDGCharge; }
00059 virtual Double_t GetEnergyCut() const { return fEnergyCut; }
00060 virtual Double_t GetEnergyLimit() const { return fEnergyLimit; }
00061 virtual Double_t GetGranularity() const { return fGranularity; }
00062 virtual Double_t GetDecayWidth() const { return fPDGDecayWidth; }
00063 virtual Double_t GetMass() const { return fPDGMass; }
00064 virtual Int_t GetMCNumber() const { return fMCnumberOfPDG; }
00065 static TAttParticle *GetParticle(const char *name);
00066 static TAttParticle *GetParticle(Int_t mcnumber);
00067 virtual const char *GetParticleType() const { return fParticleType.Data(); }
00068 virtual Bool_t GetStable() const { return fPDGStable; }
00069 virtual void Print(Option_t *option="") const ;
00070 virtual Double_t SampleMass() const ;
00071 virtual Double_t SampleMass(Double_t widthcut) const ;
00072
00073 ClassDef(TAttParticle,1)
00074 };
00075
00076 #endif