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  void SetRootS( double rs ){ mRootS = rs; }
43 
45  StarPythia8Decayer( Pythia8::Pythia *pythia = 0 );
46 
49 
50 private:
51 protected:
52 
53  Pythia8::Pythia *mPythia;
54  Bool_t mOwner;
55  int mDebug;
56  double mRootS;
57 
58  ClassDef(StarPythia8Decayer,1);
59 };
60 
61 #endif
float GetPartialBranchingRatio(int pdgid)
Return the branching ratio for the spdcified PDG ID.
~StarPythia8Decayer()
Class destructor.
void SetRootS(double rs)
Set root s.
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.