StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StarPythia8Decayer.h
1 #ifndef __StarPythia8Decayer_h__
2 #define __StarPythia8Decayer_h__
3 
4 #include "TVirtualMCDecayer.h"
5 #include "TClonesArray.h"
6 #include "Pythia.h"
7 
8 class TLorentzVector;
9 
10 class StarPythia8Decayer : public TVirtualMCDecayer
11 {
12 public:
13 
15  void Init();
17  void Decay( int pdg, TLorentzVector *p=0 );
19  int ImportParticles( TClonesArray *array = 0 );
21  void SetForceDecay( int type );
23  void ForceDecay();
25  float GetPartialBranchingRatio( int pdgid );
27  float GetLifetime( int pdgid );
29  void ReadDecayTable();
31  void AppendParticle( int pdgid, TLorentzVector *p=0 );
33  void ClearEvent();
34 
36  void SetDebug( int dbg=1 ){ mDebug = dbg; }
37 
39  void Set( const char *cmd ){ mPythia->readString(cmd); }
40 
42  StarPythia8Decayer( Pythia8::Pythia *pythia = 0 );
43 
46 
47 private:
48 protected:
49 
50  Pythia8::Pythia *mPythia;
51  Bool_t mOwner;
52  int mDebug;
53 
54  ClassDef(StarPythia8Decayer,1);
55 };
56 
57 #endif
float GetPartialBranchingRatio(int pdgid)
Return the branching ratio for the spdcified PDG ID.
~StarPythia8Decayer()
Class destructor.
int ImportParticles(TClonesArray *array=0)
Returns the decay products in a TClonesArray of TParticle.
void Init()
Initializes the decayer.
StarPythia8Decayer()
Class constructor.
void AppendParticle(int pdgid, TLorentzVector *p=0)
Add a particle with specified PDG ID to the stack.
void SetDebug(int dbg=1)
Set the debug level.
void ClearEvent()
Clear the event.
float GetLifetime(int pdgid)
Return teh lifetime in seconds for the specified particle.
void Set(const char *cmd)
Modify pythia8 behavior.
void Decay(int pdg, TLorentzVector *p=0)
Decays the particle specified by PDG id and lorentz vector.