Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TVirtualMCDecayer.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: Andreas Morsch  13/04/2002
0003 
0004 /*************************************************************************
0005  * Copyright (C) 2006, Rene Brun and Fons Rademakers.                    *
0006  * Copyright (C) 1998-1999, ALICE Experiment at CERN.                    *
0007  * All rights reserved.                                                  *
0008  *                                                                       *
0009  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0010  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0011  *************************************************************************/
0012 
0013 #ifndef ROOT_TVirtualMCDecayer
0014 #define ROOT_TVirtualMCDecayer
0015 
0016 // Abstract base class for particle decays.
0017 // Clients are the transport code and the primary particle generators
0018 
0019 #include "TObject.h"
0020 class TClonesArray;
0021 class TLorentzVector;
0022 
0023 class TVirtualMCDecayer : public TObject {
0024 public:
0025 //
0026    TVirtualMCDecayer() {;}
0027    ~TVirtualMCDecayer() override{;}
0028 
0029    /// Initialize the decayer
0030    virtual void    Init()                                     =0;
0031 
0032    /// Decay a particle of type IDPART (PDG code) and momentum P.
0033    virtual void    Decay(Int_t idpart, TLorentzVector* p)     =0;
0034 
0035    /// Get the decay products into the passed PARTICLES TClonesArray of
0036    /// TParticles
0037    virtual Int_t   ImportParticles(TClonesArray *particles)   =0;
0038 
0039    /// Force a particular decay type
0040    virtual void    SetForceDecay(Int_t type)                  =0;
0041 
0042    /// Force a particle decay mode
0043    virtual void    ForceDecay()                               =0;
0044 
0045    /// Get the partial branching ratio for a particle of type IPART (a
0046    /// PDG code).
0047    virtual Float_t GetPartialBranchingRatio(Int_t ipart)      =0;
0048  
0049    /// Get the life-time of a particle of type KF (a PDG code).
0050    virtual Float_t GetLifetime(Int_t kf)                      =0;
0051  
0052    /// Read in particle data from an ASCII file.   
0053    /// The file name must previously have been set using the member function
0054    /// SetDecayTableFile.
0055    virtual void    ReadDecayTable()                           =0;
0056  
0057    ClassDefOverride(TVirtualMCDecayer,1) // Particle Decayer Base Class
0058 };
0059 
0060 #endif