library: libEG #include "TAttParticle.h"

# TAttParticle

class description - source file - inheritance tree (.pdf)

## class TAttParticle : public TNamed

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TAttParticle` |

        public:

                               TAttParticle()
                               TAttParticle(const char* name, const char* title, Double_t Mass, Bool_t Stable, Double_t DecayWidth, Double_t Charge, const char* Type, Int_t MCnumber, Int_t granularity = 90, Double_t LowerCutOff = 1.e-5, Double_t HighCutOff = 1.e4)
                               TAttParticle(const TAttParticle&)
                       virtual ~TAttParticle()
                static TClass* Class()
                  static Int_t ConvertISAtoPDG(Int_t isaNumber)
                   static void DefinePDG()
              virtual Double_t GetCharge() const
              virtual Double_t GetDecayWidth() const
              virtual Double_t GetEnergyCut() const
              virtual Double_t GetEnergyLimit() const
              virtual Double_t GetGranularity() const
              virtual Double_t GetMass() const
                 virtual Int_t GetMCNumber() const
          static TAttParticle* GetParticle(const char* name)
          static TAttParticle* GetParticle(Int_t mcnumber)
           virtual const char* GetParticleType() const
                virtual Bool_t GetStable() const
               virtual TClass* IsA() const
                 TAttParticle& operator=(const TAttParticle&)
                  virtual void Print(Option_t* option = "") const
              virtual Double_t SampleMass() const
              virtual Double_t SampleMass(Double_t widthcut) const
                  virtual void ShowMembers(TMemberInspector& insp, char* parent)
                  virtual void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

          Double_t fPDGMass        Mass of the particle in GeV/c2
            Bool_t fPDGStable      Logical indicator, if TRUE the particle can not decay
          Double_t fPDGDecayWidth  Life time of the particle in sec.
          Double_t fPDGCharge      Charge of the particle in units of e
           TString fParticleType   Text indicator for the particle family
             Int_t fMCnumberOfPDG  PDG MC number followed by
          Double_t fEnergyCut      Lower energy cut off, the default is 10 keV
          Double_t fEnergyLimit    High energy cut off, the default is 10 TeV
          Double_t fGranularity    Granularity of the fLogEScale

        public:

          static THashList* fgList

## Class Description

     TAttParticle

     Particle definition, partly based on GEANT3 particle definition

TAttParticle()

      Particle definition default constructor

TAttParticle(const char *name, const char *title, Double_t Mass, Bool_t Stable, Double_t DecayWidth, Double_t Charge, const char *Type, Int_t MCnumber, Int_t granularity, Double_t LowerCutOff, Double_t HighCutOff) : TNamed(name,title)

      Particle definition normal constructor. If the particle is set to be
      stable, the decay width parameter does have no meaning and can be set to
      any value. The parameters granularity, LowerCutOff and HighCutOff are
      used for the construction of the mean free path look up tables. The
      granularity will be the number of logwise energy points for which the
      mean free path will be calculated.

~TAttParticle()

      Particle destructor

Int_t ConvertISAtoPDG(Int_t isaNumber)

      Converts the ISAJET Particle number into the PDG MC number

void DefinePDG()

      Defines particles according to the Particle Data Group

      For questions regarding distribution or content of the MC particle
      codes, contact
      Gary Wagman (GSWagman@LBL.BITNET, LBL::GSWagman, or GSWagman@LBL.GOV).
      (510)486-6610

TAttParticle* GetParticle(const char *name)

      Get a pointer to the particle object according to the name given

TAttParticle* GetParticle(Int_t mcnumber)

      Get a pointer to the particle object according to the MC code number

void Print(Option_t *) const

      Print the entire information of this kind of particle

Double_t SampleMass() const

      Samples a mass according to the Breit-Wigner resonance distribution

Double_t SampleMass(Double_t widthcut) const

      Samples a mass in the interval:

      fPDGMass-widthcut*fPDGDecayWidtht - fPDGMass+widthcut*fPDGDecayWidth

      according to the Breit-Wigner resonance distribution

### Inline Functions

                 Double_t GetCharge() const
                 Double_t GetEnergyCut() const
                 Double_t GetEnergyLimit() const
                 Double_t GetGranularity() const
                 Double_t GetDecayWidth() const
                 Double_t GetMass() const
                    Int_t GetMCNumber() const
              const char* GetParticleType() const
                   Bool_t GetStable() const
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
             TAttParticle TAttParticle(const TAttParticle&)
            TAttParticle& operator=(const TAttParticle&)

Author: Ola Nordmann 29/09/95
Last update: root/eg:$Name: $:$Id: TAttParticle.cxx,v 1.2 2000/12/13 15:13:46 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *