23#ifndef EVTPYTHIAENGINE_HH
24#define EVTPYTHIAENGINE_HH
35#include "Pythia8/ParticleData.h"
36#include "Pythia8/Pythia.h"
48 bool convertPhysCodes =
false,
bool useEvtGenRandom =
true );
61 EvtId& particleId,
int PDGCode );
63 EvtId& particleId,
int aliasInt,
int PDGCode );
void updatePythiaDecayTable(Pythia8::Pythia &thePythiaGenerator, EvtId &particleId, int aliasInt, int PDGCode)
std::shared_ptr< EvtPythiaRandom > m_evtgenRandom
int getModeInt(EvtDecayBase *decayModel)
EvtPythiaEngine(std::string xmlDir="./xmldoc", bool convertPhysCodes=false, bool useEvtGenRandom=true)
void initialise() override
std::map< int, int > m_addedPDGCodes
std::map< int, std::vector< int > > m_pythiaModeMap
bool validPDGCode(int PDGCode)
void clearPythiaModeMap()
std::unique_ptr< Pythia8::Pythia > m_aliasPythiaGen
void createPythiaParticle(Pythia8::Pythia &thePythiaGenerator, EvtId &particleId, int PDGCode)
void updatePhysicsParameters()
void createDaughterEvtParticles(EvtParticle *theParent)
std::unique_ptr< Pythia8::Pythia > m_genericPythiaGen
bool doDecay(EvtParticle *theMother) override
void clearDaughterVectors()
std::vector< int > m_daugPDGVector
void updateParticleLists()
std::vector< EvtVector4R > m_daugP4Vector
void storeDaughterInfo(Pythia8::Event &theEvent, EvtParticle *theParticle, int startInt)