Logo ROOT   6.16/01
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"
20class TClonesArray;
21class TLorentzVector;
22
23class TVirtualMCDecayer : public TObject {
24public:
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).
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
int Int_t
Definition: RtypesCore.h:41
float Float_t
Definition: RtypesCore.h:53
#define ClassDef(name, id)
Definition: Rtypes.h:324
int type
Definition: TGX11.cxx:120
An array of clone (identical) objects.
Definition: TClonesArray.h:32
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
Mother of all ROOT objects.
Definition: TObject.h:37
Abstract base class for particle decays.
virtual Float_t GetPartialBranchingRatio(Int_t ipart)=0
Get the partial branching ratio for a particle of type IPART (a PDG code).
virtual void Init()=0
Initialize the decayer.
virtual Int_t ImportParticles(TClonesArray *particles)=0
Get the decay products into the passed PARTICLES TClonesArray of TParticles.
virtual void Decay(Int_t idpart, TLorentzVector *p)=0
Decay a particle of type IDPART (PDG code) and momentum P.
virtual void ReadDecayTable()=0
Read in particle data from an ASCII file.
virtual ~TVirtualMCDecayer()
virtual void SetForceDecay(Int_t type)=0
Force a particular decay type.
virtual Float_t GetLifetime(Int_t kf)=0
Get the life-time of a particle of type KF (a PDG code).
virtual void ForceDecay()=0
Force a particle decay mode.