StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StarDecayManager.h
1 #ifndef __StarDecayManager_h__
2 #define __StarDecayManager_h__
3 
4 #include "TVirtualMCDecayer.h"
5 #include "StMessMgr.h"
6 
7 #include <map>
8 #include <vector>
9 using namespace std;
10 
25 class StarDecayManager : public TVirtualMCDecayer
26 {
27 public:
28  StarDecayManager( const Char_t *name="DecayManager" );
30 
32  void Init();
33 
35  void Decay( Int_t pdg, TLorentzVector *p=0 );
36 
38  Int_t ImportParticles( TClonesArray *array = 0 );
39 
41  void SetForceDecay( Int_t pdgid );
43  void ForceDecay();
45  Float_t GetPartialBranchingRatio( Int_t pdgid );
47  Float_t GetLifetime( Int_t pdgid );
49  void ReadDecayTable();
51 
52  void ClearEvent();
53 
55  void SetDebug( Int_t dbg=1 ){ mDebug = dbg; }
56 
60  void AddDecayer( Int_t pdgid, TVirtualMCDecayer *decayer ){ mDecayer[pdgid] = decayer; }
61 
62 
63 private:
64 protected:
65 
66 
67  // Maps decayers to particle ID
68  map<Int_t, TVirtualMCDecayer *> mDecayer;
69  TVirtualMCDecayer *mCurrentDecayer;
70 
71  Int_t mDebug;
72 
73 
74 
75 
76  ClassDef(StarDecayManager,1);
77 };
78 
79 #endif
Connects VMC to class(es) which handle particle decays.
void SetDebug(Int_t dbg=1)
Set the debug level.
void AddDecayer(Int_t pdgid, TVirtualMCDecayer *decayer)