library: libEGPythia6
#include "TPythia6Decayer.h"

TPythia6Decayer


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

class TPythia6Decayer : public TVirtualMCDecayer

Inheritance Chart:
TObject
<-
TVirtualMCDecayer
<-
TPythia6Decayer

    protected:
Int_t CountProducts(Int_t channel, Int_t particle) void ForceHadronicD() void ForceOmega() void ForceParticleDecay(Int_t particle, Int_t* products, Int_t* mult, Int_t npart) void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult) public:
TPythia6Decayer() TPythia6Decayer(const TPythia6Decayer&) virtual ~TPythia6Decayer() static TClass* Class() virtual void Decay(Int_t idpart, TLorentzVector* p) virtual void ForceDecay() virtual Float_t GetLifetime(Int_t kf) virtual Float_t GetPartialBranchingRatio(Int_t ipart) virtual Int_t ImportParticles(TClonesArray* particles) virtual void Init() static TPythia6Decayer* Instance() virtual TClass* IsA() const TPythia6Decayer& operator=(const TPythia6Decayer&) virtual void ReadDecayTable() virtual void SetDecayTableFile(const char* name) virtual void SetForceDecay(Int_t type) virtual void SetForceDecay(TPythia6Decayer::Decay_t type) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void WriteDecayTable()

Data Members


    protected:
TString fDecayTableFile File to read decay table from TPythia6Decayer::Decay_t fDecay Forced decay mode TArrayF fBraPart ! Branching ratios static TPythia6Decayer* fgInstance public:
static const TPythia6Decayer::Decay_t kSemiElectronic static const TPythia6Decayer::Decay_t kDiElectron static const TPythia6Decayer::Decay_t kSemiMuonic static const TPythia6Decayer::Decay_t kDiMuon static const TPythia6Decayer::Decay_t kBJpsiDiMuon static const TPythia6Decayer::Decay_t kBJpsiDiElectron static const TPythia6Decayer::Decay_t kBPsiPrimeDiMuon static const TPythia6Decayer::Decay_t kBPsiPrimeDiElectron static const TPythia6Decayer::Decay_t kPiToMu static const TPythia6Decayer::Decay_t kKaToMu static const TPythia6Decayer::Decay_t kNoDecay static const TPythia6Decayer::Decay_t kHadronicD static const TPythia6Decayer::Decay_t kOmega static const TPythia6Decayer::Decay_t kPhiKK static const TPythia6Decayer::Decay_t kAll static const TPythia6Decayer::Decay_t kNoDecayHeavy static const TPythia6Decayer::Decay_t kHardMuons static const TPythia6Decayer::Decay_t kBJpsi static const TPythia6Decayer::Decay_t kWToMuon static const TPythia6Decayer::Decay_t kWToCharm static const TPythia6Decayer::Decay_t kWToCharmToMuon static const TPythia6Decayer::Decay_t kZDiMuon static const TPythia6Decayer::Decay_t kMaxDecay

Class Description

                                                                           
 TPythia6Decayer                                                           
                                                                           
 This implements the TVirtualMCDecayer interface.  The TPythia6            
 singleton object is used to decay particles.  Note, that since this       
 class modifies common blocks (global variables) it is defined as a        
 singleton.                                                                
                                                                           

TPythia6Decayer* Instance()
 Get the singleton object.
TPythia6Decayer()
 Constructor
void Init()
 Initialize the decayer
void Decay(Int_t idpart, TLorentzVector* p)
 Decay a particle of type IDPART (PDG code) and momentum P.
Int_t ImportParticles(TClonesArray *particles)
 Get the decay products into the passed PARTICLES TClonesArray of
 TParticles
void SetForceDecay(Int_t type)
 Force a particular decay type
void ForceDecay()
 Force a particle decay mode
Float_t GetPartialBranchingRatio(Int_t ipart)
 Get the partial branching ratio for a particle of type IPART (a
 PDG code).
Float_t GetLifetime(Int_t kf)
 Get the life-time of a particle of type KF (a PDG code).
void ReadDecayTable()
 Read in particle data from an ASCII file.   The file name must
 previously have been set using the member function
 SetDecayTableFile.
void WriteDecayTable()
 write particle data to an ASCII file.   The file name must
 previously have been set using the member function
 SetDecayTableFile.

 Users can use this function to make an initial decay list file,
 which then can be edited by hand, and re-loaded into the decayer
 using ReadDecayTable.

 The file syntax is

    particle_list : partcle_data
                  | particle_list particle_data
                  ;
    particle_data : particle_info
                  | particle_info '\n' decay_list
                  ;
    particle_info : See below
                  ;
    decay_list    : decay_entry
                  | decay_list decay_entry
                  ;
    decay_entry   : See below

 The particle_info consists of 13 fields:

     PDG code             int
     Name                 string
     Anti-particle name   string  if there's no anti-particle,
                                  then this field must be the
                                  empty string
     Electic charge       int     in units of |e|/3
     Color charge         int     in units of quark color charges
     Have anti-particle   int     1 of there's an anti-particle
                                  to this particle, or 0
                                  otherwise
     Mass                 float   in units of GeV
     Resonance width      float
     Max broadning        float
     Lifetime             float
     MWID                 int     ??? (some sort of flag)
     Decay                int     1 if it decays. 0 otherwise

 The format to write these entries in are

    " %9  %-16s  %-16s%3d%3d%3d%12.5f%12.5f%12.5f%13.gf%3d%d\n"

 The decay_entry consists of 8 fields:

     On/Off               int     1 for on, -1 for off
     Matrix element type  int
     Branching ratio      float
     Product 1            int     PDG code of decay product 1
     Product 2            int     PDG code of decay product 2
     Product 3            int     PDG code of decay product 3
     Product 4            int     PDG code of decay product 4
     Product 5            int     PDG code of decay product 5

 The format for these lines are

    "          %5d%5d%12.5f%10d%10d%10d%10d%10d\n"

Int_t CountProducts(Int_t channel, Int_t particle)
 Count number of decay products
void ForceHadronicD()
 Force golden D decay modes
void ForceParticleDecay(Int_t particle, Int_t product, Int_t mult)
  Force decay of particle into products with multiplicity mult
void ForceParticleDecay(Int_t particle, Int_t* products, Int_t* mult, Int_t npart)
  Force decay of particle into products with multiplicity mult
void ForceOmega()
 Force Omega -> Lambda K- Decay

TPythia6Decayer()
virtual ~TPythia6Decayer()
void SetForceDecay(Int_t type)
void SetDecayTableFile(const char* name)
 Extension member functions

Author: Christian Holm Christensen 22/04/06
Last update: root/pythia6:$Name: $:$Id: TPythia6Decayer.cxx,v 1.4 2006/05/12 08:17:01 brun Exp $
Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.