StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StarEvtGenDecayer.h
1 
11 #ifndef StarEvtGenDecayer__h
12 #define StarEvtGenDecayer__h
13 
14 #include <cstddef>
15 
16 #include "TVirtualMCDecayer.h"
17 #include "TClonesArray.h"
18 #include "TString.h"
19 #include "EvtGen/EvtGen.hh"
20 #include "HepMC/GenEvent.h"
21 
22 class TLorentzVector;
23 class EvtRandomEngine;
24 class EvtParticle;
25 
26 class StarEvtGenDecayer : public TVirtualMCDecayer
27 {
28 public:
29  void Init();
31  void Decay(Int_t pdgId, TLorentzVector* p);
33  Int_t ImportParticles(TClonesArray* particles=0);
35  void SetForceDecay(Int_t type);
37  void ForceDecay();
39  Float_t GetPartialBranchingRatio(Int_t ipart);
41  Float_t GetLifetime(Int_t pdgid);
43  void ReadDecayTable();
45  void AppendParticle( Int_t pdgid, TLorentzVector *p=0 );
47  void ClearEvent();
49  void SetDebug( Int_t dbg=1 ){ mDebug = dbg; }
51  void SetDecayTable(TString decayTable);
53  void SetVertex(TLorentzVector* r);
54 
56  StarEvtGenDecayer(EvtGen* evtGen = NULL);
60 
61 private:
62  EvtGen* mEvtGen;
63  EvtRandomEngine* mEvtGenRandomEngine;
64  EvtParticle* mParticle;
65  EvtVector4R* mVertex;
66  bool mOwner;
67  Int_t mDebug;
68 
69  ClassDef(StarEvtGenDecayer,1);
70 };
71 #endif
StarEvtGenDecayer(EvtGen *evtGen=NULL)
Class constructor.
Float_t GetPartialBranchingRatio(Int_t ipart)
Return the branching ratio for the spdcified PDG ID.
void SetDecayTable(TString decayTable)
Modify EvtGen behavior.
~StarEvtGenDecayer()
Class destructor.
void ClearEvent()
Clear the event.
void SetVertex(TLorentzVector *r)
Modify initial vertex position.
Definition: EvtGen.hh:46
Int_t ImportParticles(TClonesArray *particles=0)
Returns the decay products in a TClonesArray of TParticle.
void SetDebug(Int_t dbg=1)
Set the debug level.
void Decay(Int_t pdgId, TLorentzVector *p)
Decays the particle specified by PDG id and lorentz vector.
STAR wrapper for EvtGen Decayer.
Float_t GetLifetime(Int_t pdgid)
Return teh lifetime in seconds for the specified particle.
void AppendParticle(Int_t pdgid, TLorentzVector *p=0)
Add a particle with specified PDG ID to the stack.