9#ifndef MPDDECAYERPYT8_H
10#define MPDDECAYERPYT8_H
12#include <TLorentzVector.h>
13#include <TVirtualMCDecayer.h>
16#include <Pythia8/Pythia.h>
25#if PYTHIA_VERSION_INTEGER < 8304
39 virtual void Decay(Int_t pdg, TLorentzVector *p);
51 void Decay(TParticle *part);
61 void Gdecay(Int_t idpart, TLorentzVector *p);
62 void Gdeca2(Double_t xm0, Double_t xm1, Double_t xm2, Double_t pcm[2][4]);
64 void Anisotropy(Double_t *pvert, Double_t *rndm, TVector3 &polar, Double_t &phi, Double_t &costh);
65 void ChangeBranchings();
66 void ChangeParticleBr(TObjArray *tokens, Bool_t exclusive);
76 TLorentzVector fMother;
77 TClonesArray *fParticles;
80 std::set<Int_t> fMothersPdg;
virtual void SetDebugLevel(Int_t debug)
void ClearEvent()
Clear the event stack.
void AppendParticle(Int_t pdg, TLorentzVector *p)
Append a particle to the stack.
static MpdDecayerPyt8 * Instance()
Get the singleton object.
virtual void SetForceDecay(Int_t type)
Set forced decay mode.
virtual Float_t GetPartialBranchingRatio(Int_t ipart)
virtual void Init()
Initialize the decayer.
MpdDecayerPyt8()
constructor
virtual void ReadDecayTable()
to read a decay table (not yet implemented)
virtual void SetGlobalPolar(Int_t glob=1)
virtual Float_t GetLifetime(Int_t kf)
return lifetime in seconds of teh particle with PDG number pdg
virtual void ForceDecay()
ForceDecay not yet implemented.
virtual Int_t ImportParticles(TClonesArray *particles)
import the decay products into particles array
virtual void Decay(Int_t pdg, TLorentzVector *p)
Decay a single particle.
virtual ~MpdDecayerPyt8()
void AddMotherPdg(Int_t pdg)
Add PDG of particle to be decayed by this package.
Pythia8::ParticleDataEntry * ParticleDataEntryPtr
vector< string > glob(const string &path)