Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TAttParticle.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/eg:$Id$
0002 // Author: Ola Nordmann   29/09/95
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 
0013 //////////////////////////////////////////////////////////////////////////
0014 //                                                                      //
0015 // TAttParticle                                                         //
0016 //                                                                      //
0017 // Particle definition, based on GEANT3 particle definition             //
0018 //                                                                      //
0019 //                                                                      //
0020 //////////////////////////////////////////////////////////////////////////
0021 
0022 #ifndef ROOT_TAttParticle
0023 #define ROOT_TAttParticle
0024 
0025 #include "TNamed.h"
0026 #include "TAttLine.h"
0027 
0028 class THashList;
0029 
0030 class TAttParticle  : public TNamed {
0031 private:
0032    Double_t     fPDGMass;         //Mass of the particle in GeV/c2
0033    Bool_t       fPDGStable;       //Logical indicator, if TRUE the particle can not decay
0034    Double_t     fPDGDecayWidth;   //Life time of the particle in sec.
0035    Double_t     fPDGCharge;       //Charge of the particle in units of e
0036    TString      fParticleType;    //Text indicator for the particle family
0037    Int_t        fMCnumberOfPDG;   //PDG MC number followed by
0038                                   //http://pdg.lbl.gov/rpp/mcdata/all.mc
0039    Double_t     fEnergyCut;       //Lower energy cut off, the default is 10 keV
0040    Double_t     fEnergyLimit;     //High energy cut off, the default is 10 TeV
0041    Double_t     fGranularity;     //Granularity of the fLogEScale
0042 
0043 public:
0044    TAttParticle();
0045    TAttParticle(const char *name, const char *title,
0046                 Double_t Mass, Bool_t Stable,
0047                 Double_t DecayWidth, Double_t Charge, const char *Type,
0048                 Int_t MCnumber, Int_t granularity=90,
0049                 Double_t LowerCutOff=1.e-5, Double_t HighCutOff=1.e4);
0050    ~TAttParticle() override;
0051    static  THashList     *fgList;
0052    static  Int_t          ConvertISAtoPDG(Int_t isaNumber);
0053    static  void           DefinePDG();
0054    virtual Double_t       GetCharge() const { return fPDGCharge; }
0055    virtual Double_t       GetEnergyCut() const { return fEnergyCut; }
0056    virtual Double_t       GetEnergyLimit() const { return fEnergyLimit; }
0057    virtual Double_t       GetGranularity() const { return fGranularity; }
0058    virtual Double_t       GetDecayWidth() const { return fPDGDecayWidth; }
0059    virtual Double_t       GetMass() const { return fPDGMass; }
0060    virtual Int_t          GetMCNumber() const { return fMCnumberOfPDG; }
0061    static  TAttParticle  *GetParticle(const char *name);
0062    static  TAttParticle  *GetParticle(Int_t mcnumber);
0063    virtual const char    *GetParticleType() const { return fParticleType.Data(); }
0064    virtual Bool_t         GetStable() const { return fPDGStable; }
0065    void           Print(Option_t *option="") const override ;
0066    virtual Double_t       SampleMass() const ;
0067    virtual Double_t       SampleMass(Double_t widthcut) const ;
0068 
0069    ClassDefOverride(TAttParticle,1)  //Particle definition
0070 };
0071 
0072 #endif