EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtPythiaEngine Class Reference

#include <EvtGenExternal/EvtPythiaEngine.hh>

Inheritance diagram for EvtPythiaEngine:
EvtAbsExternalGen

Public Member Functions

 EvtPythiaEngine (std::string xmlDir="./xmldoc", bool convertPhysCodes=false, bool useEvtGenRandom=true)
bool doDecay (EvtParticle *theMother) override
void initialise () override
Public Member Functions inherited from EvtAbsExternalGen
virtual ~EvtAbsExternalGen ()=default
virtual double getDecayProb (EvtParticle *)

Private Member Functions

void updateParticleLists ()
void updatePhysicsParameters ()
bool validPDGCode (int PDGCode)
void createPythiaParticle (Pythia8::Pythia &thePythiaGenerator, EvtId &particleId, int PDGCode)
void updatePythiaDecayTable (Pythia8::Pythia &thePythiaGenerator, EvtId &particleId, int aliasInt, int PDGCode)
void storeDaughterInfo (Pythia8::Event &theEvent, EvtParticle *theParticle, int startInt)
void clearDaughterVectors ()
void clearPythiaModeMap ()
void createDaughterEvtParticles (EvtParticle *theParent)
int getModeInt (EvtDecayBase *decayModel)

Private Attributes

bool m_convertPhysCodes
bool m_useEvtGenRandom
bool m_initialised { false }
std::unique_ptr< Pythia8::Pythia > m_genericPythiaGen
std::unique_ptr< Pythia8::Pythia > m_aliasPythiaGen
std::shared_ptr< EvtPythiaRandomm_evtgenRandom
std::vector< int > m_daugPDGVector
std::vector< EvtVector4Rm_daugP4Vector
std::map< int, std::vector< int > > m_pythiaModeMap
std::map< int, int > m_addedPDGCodes

Detailed Description

Definition at line 45 of file EvtPythiaEngine.hh.

Constructor & Destructor Documentation

◆ EvtPythiaEngine()

EvtPythiaEngine::EvtPythiaEngine ( std::string xmlDir = "./xmldoc",
bool convertPhysCodes = false,
bool useEvtGenRandom = true )

Definition at line 49 of file EvtPythiaEngine.cpp.

Member Function Documentation

◆ clearDaughterVectors()

void EvtPythiaEngine::clearDaughterVectors ( )
private

Definition at line 74 of file EvtPythiaEngine.cpp.

◆ clearPythiaModeMap()

void EvtPythiaEngine::clearPythiaModeMap ( )
private

Definition at line 80 of file EvtPythiaEngine.cpp.

◆ createDaughterEvtParticles()

void EvtPythiaEngine::createDaughterEvtParticles ( EvtParticle * theParent)
private

Definition at line 269 of file EvtPythiaEngine.cpp.

◆ createPythiaParticle()

void EvtPythiaEngine::createPythiaParticle ( Pythia8::Pythia & thePythiaGenerator,
EvtId & particleId,
int PDGCode )
private

Definition at line 714 of file EvtPythiaEngine.cpp.

◆ doDecay()

bool EvtPythiaEngine::doDecay ( EvtParticle * theMother)
overridevirtual

Implements EvtAbsExternalGen.

Definition at line 124 of file EvtPythiaEngine.cpp.

◆ getModeInt()

int EvtPythiaEngine::getModeInt ( EvtDecayBase * decayModel)
private

Definition at line 630 of file EvtPythiaEngine.cpp.

◆ initialise()

void EvtPythiaEngine::initialise ( )
overridevirtual

Implements EvtAbsExternalGen.

Definition at line 85 of file EvtPythiaEngine.cpp.

◆ storeDaughterInfo()

void EvtPythiaEngine::storeDaughterInfo ( Pythia8::Event & theEvent,
EvtParticle * theParticle,
int startInt )
private

Definition at line 222 of file EvtPythiaEngine.cpp.

◆ updateParticleLists()

void EvtPythiaEngine::updateParticleLists ( )
private

Definition at line 382 of file EvtPythiaEngine.cpp.

◆ updatePhysicsParameters()

void EvtPythiaEngine::updatePhysicsParameters ( )
private

Definition at line 765 of file EvtPythiaEngine.cpp.

◆ updatePythiaDecayTable()

void EvtPythiaEngine::updatePythiaDecayTable ( Pythia8::Pythia & thePythiaGenerator,
EvtId & particleId,
int aliasInt,
int PDGCode )
private

Definition at line 517 of file EvtPythiaEngine.cpp.

◆ validPDGCode()

bool EvtPythiaEngine::validPDGCode ( int PDGCode)
private

Definition at line 496 of file EvtPythiaEngine.cpp.

Member Data Documentation

◆ m_addedPDGCodes

std::map<int, int> EvtPythiaEngine::m_addedPDGCodes
private

Definition at line 89 of file EvtPythiaEngine.hh.

◆ m_aliasPythiaGen

std::unique_ptr<Pythia8::Pythia> EvtPythiaEngine::m_aliasPythiaGen
private

Definition at line 80 of file EvtPythiaEngine.hh.

◆ m_convertPhysCodes

bool EvtPythiaEngine::m_convertPhysCodes
private

Definition at line 74 of file EvtPythiaEngine.hh.

◆ m_daugP4Vector

std::vector<EvtVector4R> EvtPythiaEngine::m_daugP4Vector
private

Definition at line 85 of file EvtPythiaEngine.hh.

◆ m_daugPDGVector

std::vector<int> EvtPythiaEngine::m_daugPDGVector
private

Definition at line 84 of file EvtPythiaEngine.hh.

◆ m_evtgenRandom

std::shared_ptr<EvtPythiaRandom> EvtPythiaEngine::m_evtgenRandom
private

Definition at line 82 of file EvtPythiaEngine.hh.

◆ m_genericPythiaGen

std::unique_ptr<Pythia8::Pythia> EvtPythiaEngine::m_genericPythiaGen
private

Definition at line 79 of file EvtPythiaEngine.hh.

◆ m_initialised

bool EvtPythiaEngine::m_initialised { false }
private

Definition at line 77 of file EvtPythiaEngine.hh.

◆ m_pythiaModeMap

std::map<int, std::vector<int> > EvtPythiaEngine::m_pythiaModeMap
private

Definition at line 87 of file EvtPythiaEngine.hh.

◆ m_useEvtGenRandom

bool EvtPythiaEngine::m_useEvtGenRandom
private

Definition at line 76 of file EvtPythiaEngine.hh.


The documentation for this class was generated from the following files: