Logo ROOT   6.08/07
Reference Guide
TVirtualMCDecayer.h
Go to the documentation of this file.
1 // @(#)root/eg:$Id$
2 // Author: Andreas Morsch 13/04/2002
3 
4 /*************************************************************************
5  * Copyright (C) 2006, Rene Brun and Fons Rademakers. *
6  * Copyright (C) 1998-1999, ALICE Experiment at CERN. *
7  * All rights reserved. *
8  * *
9  * For the licensing terms see $ROOTSYS/LICENSE. *
10  * For the list of contributors see $ROOTSYS/README/CREDITS. *
11  *************************************************************************/
12 
13 #ifndef ROOT_TVirtualMCDecayer
14 #define ROOT_TVirtualMCDecayer
15 
16 // Abstract base class for particle decays.
17 // Clients are the transport code and the primary particle generators
18 
19 #include "TObject.h"
20 class TClonesArray;
21 class TLorentzVector;
22 
23 class TVirtualMCDecayer : public TObject {
24 public:
25 //
27  virtual ~TVirtualMCDecayer(){;}
28 
29  /// Initialize the decayer
30  virtual void Init() =0;
31 
32  /// Decay a particle of type IDPART (PDG code) and momentum P.
33  virtual void Decay(Int_t idpart, TLorentzVector* p) =0;
34 
35  /// Get the decay products into the passed PARTICLES TClonesArray of
36  /// TParticles
37  virtual Int_t ImportParticles(TClonesArray *particles) =0;
38 
39  /// Force a particular decay type
40  virtual void SetForceDecay(Int_t type) =0;
41 
42  /// Force a particle decay mode
43  virtual void ForceDecay() =0;
44 
45  /// Get the partial branching ratio for a particle of type IPART (a
46  /// PDG code).
47  virtual Float_t GetPartialBranchingRatio(Int_t ipart) =0;
48 
49  /// Get the life-time of a particle of type KF (a PDG code).
50  virtual Float_t GetLifetime(Int_t kf) =0;
51 
52  /// Read in particle data from an ASCII file.
53  /// The file name must previously have been set using the member function
54  /// SetDecayTableFile.
55  virtual void ReadDecayTable() =0;
56 
57  ClassDef(TVirtualMCDecayer,1) // Particle Decayer Base Class
58 };
59 
60 #endif
float Float_t
Definition: RtypesCore.h:53
int Int_t
Definition: RtypesCore.h:41
virtual void SetForceDecay(Int_t type)=0
Force a particular decay type.
Abstract base class for particle decays.
virtual void Decay(Int_t idpart, TLorentzVector *p)=0
Decay a particle of type IDPART (PDG code) and momentum P.
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void ForceDecay()=0
Force a particle decay mode.
virtual void Init()=0
Initialize the decayer.
virtual Float_t GetPartialBranchingRatio(Int_t ipart)=0
Get the partial branching ratio for a particle of type IPART (a PDG code).
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
virtual void ReadDecayTable()=0
Read in particle data from an ASCII file.
virtual Int_t ImportParticles(TClonesArray *particles)=0
Get the decay products into the passed PARTICLES TClonesArray of TParticles.
virtual ~TVirtualMCDecayer()
int type
Definition: TGX11.cxx:120
Mother of all ROOT objects.
Definition: TObject.h:37
An array of clone (identical) objects.
Definition: TClonesArray.h:32
virtual Float_t GetLifetime(Int_t kf)=0
Get the life-time of a particle of type KF (a PDG code).