9 #ifndef Pythia8_Pythia_H 10 #define Pythia8_Pythia_H 13 #define PYTHIA_VERSION 8.316 14 #define PYTHIA_VERSION_INTEGER 8316 17 #include "Pythia8/Analysis.h" 18 #include "Pythia8/Basics.h" 19 #include "Pythia8/BeamParticle.h" 20 #include "Pythia8/BeamSetup.h" 21 #include "Pythia8/Event.h" 22 #include "Pythia8/FragmentationFlavZpT.h" 23 #include "Pythia8/HadronLevel.h" 24 #include "Pythia8/HadronWidths.h" 25 #include "Pythia8/Info.h" 26 #include "Pythia8/JunctionSplitting.h" 27 #include "Pythia8/LesHouches.h" 28 #include "Pythia8/Logger.h" 29 #include "Pythia8/SigmaLowEnergy.h" 30 #include "Pythia8/Merging.h" 31 #include "Pythia8/MergingHooks.h" 32 #include "Pythia8/PartonLevel.h" 33 #include "Pythia8/ParticleData.h" 34 #include "Pythia8/PartonDistributions.h" 35 #include "Pythia8/PartonSystems.h" 36 #include "Pythia8/PartonVertex.h" 37 #include "Pythia8/PhysicsBase.h" 38 #include "Pythia8/ProcessLevel.h" 39 #include "Pythia8/PythiaStdlib.h" 40 #include "Pythia8/ResonanceWidths.h" 41 #include "Pythia8/RHadrons.h" 42 #include "Pythia8/Ropewalk.h" 43 #include "Pythia8/Settings.h" 44 #include "Pythia8/ShowerModel.h" 45 #include "Pythia8/SigmaTotal.h" 46 #include "Pythia8/SimpleSpaceShower.h" 47 #include "Pythia8/SimpleTimeShower.h" 48 #include "Pythia8/SpaceShower.h" 49 #include "Pythia8/StandardModel.h" 50 #include "Pythia8/StringInteractions.h" 51 #include "Pythia8/SusyCouplings.h" 52 #include "Pythia8/SLHAinterface.h" 53 #include "Pythia8/ThermalFragmentation.h" 54 #include "Pythia8/TimeShower.h" 55 #include "Pythia8/UserHooks.h" 56 #include "Pythia8/VinciaCommon.h" 57 #include "Pythia8/Weights.h" 77 Pythia(
string xmlDir =
"../share/Pythia8/xmldoc",
bool printBanner =
true);
82 bool printBanner =
true);
85 Pythia( istream& settingsStrings, istream& particleDataStrings,
86 bool printBanner =
true);
100 int subrun = SUBRUNDEFAULT) {
104 inline bool readFile(
string fileName,
bool warn =
true,
105 int subrun = SUBRUNDEFAULT) {
107 inline bool readFile(
string fileName,
int subrun) {
108 return readFile(fileName,
true, subrun);}
109 inline bool readFile(istream& is = cin,
bool warn =
true,
110 int subrun = SUBRUNDEFAULT) {
112 inline bool readFile(istream& is,
int subrun) {
116 inline bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn,
117 PDFPtr pdfHardAPtrIn =
nullptr, PDFPtr pdfHardBPtrIn =
nullptr,
118 PDFPtr pdfPomAPtrIn =
nullptr, PDFPtr pdfPomBPtrIn =
nullptr,
119 PDFPtr pdfGamAPtrIn =
nullptr, PDFPtr pdfGamBPtrIn =
nullptr,
120 PDFPtr pdfHardGamAPtrIn =
nullptr, PDFPtr pdfHardGamBPtrIn =
nullptr,
121 PDFPtr pdfUnresAPtrIn =
nullptr, PDFPtr pdfUnresBPtrIn =
nullptr,
122 PDFPtr pdfUnresGamAPtrIn =
nullptr, PDFPtr pdfUnresGamBPtrIn =
nullptr,
123 PDFPtr pdfVMDAPtrIn =
nullptr, PDFPtr pdfVMDBPtrIn =
nullptr) {
124 return beamSetup.
setPDFPtr( pdfAPtrIn, pdfBPtrIn, pdfHardAPtrIn,
125 pdfHardBPtrIn, pdfPomAPtrIn, pdfPomBPtrIn, pdfGamAPtrIn, pdfGamBPtrIn,
126 pdfHardGamAPtrIn, pdfHardGamBPtrIn, pdfUnresAPtrIn, pdfUnresBPtrIn,
127 pdfUnresGamAPtrIn, pdfUnresGamBPtrIn, pdfVMDAPtrIn, pdfVMDBPtrIn); }
128 inline bool setPDFAPtr( PDFPtr pdfAPtrIn ) {
130 inline bool setPDFBPtr( PDFPtr pdfBPtrIn ) {
139 lhaUpPtr = lhaUpPtrIn;
145 vector<int> handledParticlesIn = {}) {
146 decayHandlePtr = decayHandlePtrIn;
147 handledParticles = handledParticlesIn.size() == 0 ?
148 decayHandlePtrIn->handledParticles() : handledParticlesIn;
return true;}
156 userHooksPtr = userHooksPtrIn;
return true;}
160 if ( !userHooksPtrIn )
return false;
162 shared_ptr<UserHooksVector> uhv =
164 if ( !uhv ) { uhv = make_shared<UserHooksVector>();
165 uhv->
hooks.push_back(userHooksPtr); userHooksPtr = uhv; }
166 uhv->hooks.push_back(userHooksPtrIn);
return true;}
170 if ( !userHooksPtrIn || !userHooksPtr )
return false;
171 shared_ptr<UserHooksVector> uhv =
173 if ( !uhv || idx < 0 || idx > (
int)uhv->hooks.size() )
return false;
174 uhv->
hooks.insert(uhv->hooks.begin() + idx, userHooksPtrIn);
return true;}
191 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
192 sigmaPtrs.resize(0), phaseSpacePtrs.resize(0);
193 sigmaPtrs.push_back(sigmaPtrIn);
194 phaseSpacePtrs.push_back(phaseSpacePtrIn);
return true;}
198 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
199 sigmaPtrs.push_back(sigmaPtrIn);
200 phaseSpacePtrs.push_back(phaseSpacePtrIn);
return true;}
205 PhaseSpacePtr phaseSpacePtrIn =
nullptr) {
206 if (idx < 0 || idx > (
int)sigmaPtrs.size())
return false;
207 sigmaPtrs.insert(sigmaPtrs.begin() + idx, sigmaPtrIn);
208 phaseSpacePtrs.insert(phaseSpacePtrs.begin() + idx, phaseSpacePtrIn);
213 resonancePtrs.resize(0);
214 resonancePtrs.push_back( resonancePtrIn);
return true;}
218 resonancePtrs.push_back( resonancePtrIn);
return true;}
222 if (idx < 0 || idx > (
int)resonancePtrs.size())
return false;
223 resonancePtrs.insert( resonancePtrs.begin() + idx, resonancePtrIn);
228 showerModelPtr = showerModelPtrIn;
return true;}
233 fragPtrs.push_back(fragmentationPtrIn);
return true;}
237 fragPtrs.push_back(fragmentationPtrIn);
return true;}
241 FragmentationModelPtr fragmentationPtrIn) {
242 if (idx < 0 || idx > (
int)fragPtrs.size())
return false;
243 fragPtrs.insert( fragPtrs.begin() + idx, fragmentationPtrIn);
270 partonVertexPtr = partonVertexPtrIn;
return true;}
277 bool next(
int procTypeIn);
286 double pxBIn,
double pyBIn,
double pzBIn);
291 int nBranchMax = 0) {
293 logger.ERROR_MSG(
"Pythia is not properly initialized");
297 infoPrivate.setScalup( 0, pTmax);
298 return timesDecPtr->shower(iBeg, iEnd,
event, pTmax, nBranchMax);}
313 logger.ERROR_MSG(
"Pythia is not properly initialized");
return false; }
318 return getSigmaTotal(beamSetup.idA, beamSetup.idB, beamSetup.eCM, 0);}
320 return getSigmaTotal(beamSetup.idA, beamSetup.idB, eCM12, mixLoHi);}
325 inline double getSigmaTotal(
int id1,
int id2,
double eCM12,
double m1,
326 double m2,
int mixLoHi = 0) {
328 logger.ERROR_MSG(
"Pythia is not properly initialized");
return 0.; }
329 return sigmaCmb.
sigmaTotal(id1, id2, eCM12, m1, m2, mixLoHi); }
338 beamSetup.idA, beamSetup.idB, eCM12, procTypeIn, mixLoHi); }
339 inline double getSigmaPartial(
int id1,
int id2,
double eCM12,
int procTypeIn,
342 inline double getSigmaPartial(
int id1,
int id2,
double eCM12,
double m1,
343 double m2,
int procTypeIn,
int mixLoHi = 0) {
345 logger.ERROR_MSG(
"Pythia is not properly initialized");
return 0.;}
347 id1, id2, eCM12, m1, m2, procTypeIn, mixLoHi);}
350 inline PDFPtr
getPDFPtr(
int idIn,
int sequence = 1,
string beam =
"A",
351 bool resolved =
true) {
352 return beamSetup.
getPDFPtr( idIn, sequence, beam, resolved); }
355 inline void LHAeventList() {
if (lhaUpPtr != 0) lhaUpPtr->listEvent();}
359 if (lhaUpPtr != 0)
return lhaUpPtr->skipEvent(nSkip);
367 int mode(
string key) {
return settings.mode(key);}
368 double parm(
string key) {
return settings.parm(key);}
369 string word(
string key) {
return settings.word(key);}
437 Info infoPrivate = {};
454 if (find(physicsPtrs.begin(), physicsPtrs.end(), &pb) != physicsPtrs.end())
457 physicsPtrs.push_back(&pb);
465 static const double VERSIONNUMBERHEAD, VERSIONNUMBERCODE;
468 static const int NTRY = 10;
472 bool doProcessLevel = {}, doPartonLevel = {}, doHadronLevel = {},
473 doLowEnergy = {}, doSoftQCDall = {}, doSoftQCDinel = {},
474 doCentralDiff = {}, doDiffraction = {}, doSoftQCD = {},
475 doHardDiff = {}, doResDec = {}, doFSRinRes = {}, decayRHadrons = {},
476 doPartonVertex = {}, abortIfVeto = {}, checkEvent = {},
477 checkHistory = {}, doNonPert = {};
479 double epTolErr = {}, epTolWarn = {}, mTolErr = {}, mTolWarn = {};
482 bool isConstructed = {}, isInit = {}, showSaV = {}, showMaD = {},
483 doReconnect = {}, forceHadronLevelCR = {};
484 int nCount = {}, nShowLHA = {}, nShowInfo = {}, nShowProc = {},
485 nShowEvt = {}, reconnectMode = {};
489 vector<int> iErrId = {}, iErrCol = {}, iErrEpm = {}, iErrNan = {},
497 bool useNewLHA =
false;
498 LHAupPtr lhaUpPtr = {};
501 DecayHandlerPtr decayHandlePtr = {};
502 vector<int> handledParticles = {};
505 UserHooksPtr userHooksPtr = {};
506 bool doVetoProcess = {}, doVetoPartons = {},
507 retryPartonLevel = {}, canVetoHadronization = {};
510 BeamShapePtr beamShapePtr = {};
511 bool doVertexSpread = {};
512 double eMinPert = {}, eWidthPert = {};
515 vector<SigmaProcessPtr> sigmaPtrs = {};
519 vector<PhaseSpacePtr> phaseSpacePtrs = {};
522 vector<ResonanceWidthsPtr> resonancePtrs = {};
529 ShowerModelPtr showerModelPtr = {};
530 TimeShowerPtr timesDecPtr = {};
531 TimeShowerPtr timesPtr = {};
532 SpaceShowerPtr spacePtr = {};
535 vector<FragmentationModelPtr> fragPtrs = {};
538 PartonVertexPtr partonVertexPtr;
553 StringIntPtr stringInteractionsPtr;
556 ColRecPtr colourReconnectionPtr = {};
571 LundFragmentationPtr fragPtr{};
574 RHadronsPtr rHadronsPtr{};
577 bool hasHeavyIons = {}, doHeavyIons = {};
583 void checkSettings();
586 bool nextNonPert(
int procTypeIn = 0);
589 bool doRHadronDecays();
596 stringstream particleDataBuffer;
599 vector<PhysicsBase*> physicsPtrs = {};
Event process
The event record for the parton-level central process.
Definition: Pythia.h:372
HeavyIonsPtr getHeavyIonsPtr()
Definition: Pythia.h:257
bool doLowEnergyProcess(int i1, int i2, int procTypeIn)
Do a low-energy collision between two hadrons in the event record.
Definition: Pythia.h:311
bool setRndmEnginePtr(RndmEnginePtr rndmEnginePtrIn)
Possibility to pass in pointer for external random number generation.
Definition: Pythia.h:151
double sigmaPartial(int id1, int id2, double eCM12, double m1, double m2, int type, int mixLoHi=0)
Get partial cross sections.
Definition: SigmaLowEnergy.cc:1563
bool moreDecays(Event &event)
Special routine to allow more decays if on/off switches changed.
Definition: HadronLevel.cc:340
bool setPDFAPtr(PDFPtr pdfAPtrIn)
Routine to pass in pointers to PDF's. Usage optional.
Definition: BeamSetup.cc:105
LHAupPtr getLHAupPtr()
Possibility to get the pointer to the LHA accessor.
Definition: Pythia.h:266
bool flag(string keyIn)
Give back current value, with check that key exists.
Definition: Settings.cc:1613
Definition: NucleonExcitations.h:23
PDFPtr getPDFPtr(int idIn, int sequence=1, string beam="A", bool resolved=true)
Return a parton density set among list of possibilities.
Definition: Pythia.h:350
Definition: PhysicsBase.h:26
bool rndmEnginePtr(RndmEnginePtr rndmEngPtrIn)
Possibility to pass in pointer for external random number generation.
Definition: Basics.cc:27
Definition: BeamSetup.h:33
Rndm rndm
Random number generator.
Definition: Pythia.h:390
bool LHAeventSkip(int nSkip)
Skip a number of Les Houches events at input.
Definition: Pythia.h:358
bool readString(string line, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in one update for a setting or particle data from a single line.
Definition: Pythia.h:99
ParticleData particleData
ParticleData: the particle data table/database.
Definition: Pythia.h:387
The Event class holds all info on the generated event.
Definition: Event.h:408
Definition: BeamParticle.h:133
bool addResonancePtr(ResonanceWidthsPtr resonancePtrIn)
Possibility to add further pointers to allow for multiple resonances.
Definition: Pythia.h:217
Definition: Weights.h:433
Definition: SigmaLowEnergy.h:135
PDFPtr getPDFPtr(int idIn, int sequence=1, string beam="A", bool resolved=true)
Return a parton density set among list of possibilities.
Definition: BeamSetup.cc:1146
bool setResonancePtr(ResonanceWidthsPtr resonancePtrIn)
Possibility to pass in pointer for external resonance.
Definition: Pythia.h:212
Definition: SLHAinterface.h:27
vector< shared_ptr< UserHooks > > hooks
The vector of user hooks.
Definition: UserHooks.h:738
Definition: SigmaTotal.h:141
bool setDecayPtr(DecayHandlerPtr decayHandlePtrIn, vector< int > handledParticlesIn={})
Possibility to pass in pointer for external handling of some decays.
Definition: Pythia.h:144
bool setPhotonFluxPtr(PDFPtr photonFluxAIn, PDFPtr photonFluxBIn)
Set photon fluxes externally. Used with option "PDF:lepton2gammaSet = 2".
Definition: BeamSetup.h:53
Definition: JunctionSplitting.h:30
bool setFragmentationPtr(FragmentationModelPtr fragmentationPtrIn)
Possibility to pass in pointer for external fragmentation model.
Definition: Pythia.h:231
Class for doing Pythia runs in parallel.
Definition: PythiaParallel.h:18
bool checkVersion()
Check consistency of version numbers (called by constructors).
Definition: Pythia.cc:385
Settings settings
Settings: databases of flags/modes/parms/words to control run.
Definition: Pythia.h:384
bool forceRHadronDecays()
Special routine to force R-hadron decay when not done before.
Definition: Pythia.h:308
void initInfoPtr(Info &infoPtrIn)
This function is called from above for physics objects used in a run.
Definition: PhysicsBase.cc:21
Definition: ProcessLevel.h:36
Gets cross sections for hadron-hadron collisions at low energies.
Definition: SigmaLowEnergy.h:22
bool setLHAupPtr(LHAupPtr lhaUpPtrIn)
Possibility to pass in pointer to external LHA-interfaced generator.
Definition: Pythia.h:138
HIUserHooksPtr hiHooksPtr
Pointer to a HIUserHooks object to modify heavy ion modelling.
Definition: Pythia.h:415
bool setKinematics(double eCMIn)
Switch beam kinematics.
Definition: Pythia.cc:1377
Event event
The event record for the complete event history.
Definition: Pythia.h:375
bool init()
Initialize.
Definition: Pythia.cc:422
bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn, PDFPtr pdfHardAPtrIn=nullptr, PDFPtr pdfHardBPtrIn=nullptr, PDFPtr pdfPomAPtrIn=nullptr, PDFPtr pdfPomBPtrIn=nullptr, PDFPtr pdfGamAPtrIn=nullptr, PDFPtr pdfGamBPtrIn=nullptr, PDFPtr pdfHardGamAPtrIn=nullptr, PDFPtr pdfHardGamBPtrIn=nullptr, PDFPtr pdfUnresAPtrIn=nullptr, PDFPtr pdfUnresBPtrIn=nullptr, PDFPtr pdfUnresGamAPtrIn=nullptr, PDFPtr pdfUnresGamBPtrIn=nullptr, PDFPtr pdfVMDAPtrIn=nullptr, PDFPtr pdfVMDBPtrIn=nullptr)
Possibility to pass in pointers to PDF's.
Definition: Pythia.h:116
bool setMergingPtr(MergingPtr mergingPtrIn)
Possibility to pass in pointer for full merging class.
Definition: Pythia.h:177
bool setPDFPtr(PDFPtr pdfAPtrIn, PDFPtr pdfBPtrIn, PDFPtr pdfHardAPtrIn=nullptr, PDFPtr pdfHardBPtrIn=nullptr, PDFPtr pdfPomAPtrIn=nullptr, PDFPtr pdfPomBPtrIn=nullptr, PDFPtr pdfGamAPtrIn=nullptr, PDFPtr pdfGamBPtrIn=nullptr, PDFPtr pdfHardGamAPtrIn=nullptr, PDFPtr pdfHardGamBPtrIn=nullptr, PDFPtr pdfUnresAPtrIn=nullptr, PDFPtr pdfUnresBPtrIn=nullptr, PDFPtr pdfUnresGamAPtrIn=nullptr, PDFPtr pdfUnresGamBPtrIn=nullptr, PDFPtr pdfVMDAPtrIn=nullptr, PDFPtr pdfVMDBPtrIn=nullptr)
Possibility to pass in pointers to PDF's.
Definition: BeamSetup.cc:21
const BeamParticle & beamA
The two incoming beams.
Definition: Pythia.h:421
~Pythia()
Destructor.
Definition: Pythia.h:89
SLHAinterface slhaInterface
SLHA Interface.
Definition: Pythia.h:399
bool insertResonancePtr(int idx, ResonanceWidthsPtr resonancePtrIn)
Possibility to insert further pointers to allow for multiple resonances.
Definition: Pythia.h:221
bool insertUserHooksPtr(int idx, UserHooksPtr userHooksPtrIn)
Possibility to insert a user hook.
Definition: Pythia.h:169
HeavyIonsPtr heavyIonsPtr
Pointer to a HeavyIons object for generating heavy ion collisions.
Definition: Pythia.h:412
bool readString(string line, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in one update from a single line.
Definition: Settings.cc:384
bool setPartonVertexPtr(PartonVertexPtr partonVertexPtrIn)
Possibility to pass in pointer for setting of parton space-time vertices.
Definition: Pythia.h:269
BeamShapePtr getBeamShapePtr()
Possibility to access the pointer to the BeamShape object.
Definition: Pythia.h:260
CoupSUSY coupSUSY
SUSY couplings.
Definition: Pythia.h:396
bool readFile(string fileName, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in updates from a user-defined file.
Definition: Settings.cc:699
bool addFragmentationPtr(FragmentationModelPtr fragmentationPtrIn)
Possibility to allow for multiple external fragmentation models.
Definition: Pythia.h:236
bool setBeamIDs(int idAin, int idBin=0)
Switch to new beam particle identities; for similar hadrons only.
Definition: Pythia.cc:1355
CoupSM coupSM
Standard Model couplings, including alphaS and alphaEM.
Definition: Pythia.h:393
BeamParticle beamA
The two incoming beams.
Definition: BeamSetup.h:131
Definition: HadronLevel.h:44
PartonSystems partonSystems
The partonic content of each subcollision system (auxiliary to event).
Definition: Pythia.h:402
bool moreDecays()
Special routine to allow more decays if on/off switches changed.
Definition: Pythia.h:304
ShowerModelPtr getShowerModelPtr()
Possibility to get the pointer to the parton-shower model.
Definition: Pythia.h:263
bool insertFragmentationPtr(int idx, FragmentationModelPtr fragmentationPtrIn)
Possibility to insert external fragmentation model, in specific position.
Definition: Pythia.h:240
bool setBeamShapePtr(BeamShapePtr beamShapePtrIn)
Possibility to pass in pointer for beam shape.
Definition: Pythia.h:185
Definition: PartonLevel.h:45
Status
Enumerate the different status codes the event generation can have.
Definition: PhysicsBase.h:31
Definition: HadronWidths.h:22
bool setMergingHooksPtr(MergingHooksPtr mergingHooksPtrIn)
Possibility to pass in pointer for merging hooks.
Definition: Pythia.h:181
MergingHooksPtr mergingHooksPtr
Definition: Pythia.h:409
void stat()
Main routine to provide final statistics on generation.
Definition: Pythia.cc:1691
bool doLowEnergyProcess(int i1, int i2, int procTypeIn, Event &event)
Special routine to do a low-energy hadron-hadron scattering.
Definition: HadronLevel.h:81
bool addSigmaPtr(SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Possibility to add further pointers to allow for multiple cross sections.
Definition: Pythia.h:197
bool setHeavyIonsPtr(HeavyIonsPtr heavyIonsPtrIn)
Possibility to pass in pointer for modelling of heavy ion collisions.
Definition: Pythia.h:247
bool setLHAupPtr(LHAupPtr lhaUpPtrIn)
Possibility to pass in pointer to external LHA-interfaced generator.
Definition: BeamSetup.h:59
Definition: StandardModel.h:142
bool forceHadronLevel(bool findJunctions=true)
Generate only the hadronization/decay stage.
Definition: Pythia.cc:1480
bool readFile(string fileName, bool warn=true, int subrun=SUBRUNDEFAULT)
Read in updates for settings or particle data from user-defined file.
Definition: Pythia.h:104
HadronWidths hadronWidths
HadronWidths: the hadron widths data table/database.
Definition: Pythia.h:418
double getSigmaTotal()
Get total cross section for two hadrons in the event record or standalone.
Definition: Pythia.h:317
double m2(const Vec4 &v1)
The squared invariant mass of one or more four-vectors.
Definition: Basics.cc:597
bool setUserHooksPtr(UserHooksPtr userHooksPtrIn)
Possibility to pass in pointer for user hooks.
Definition: Pythia.h:155
bool setPDFBPtr(PDFPtr pdfBPtrIn)
Routine to pass in pointers to PDF's. Usage optional.
Definition: BeamSetup.cc:129
bool addUserHooksPtr(UserHooksPtr userHooksPtrIn)
Possibility to add further pointers to allow multiple user hooks.
Definition: Pythia.h:159
bool setShowerModelPtr(ShowerModelPtr showerModelPtrIn)
Possibility to pass in pointer for external showers.
Definition: Pythia.h:227
The PartonSystems class describes the whole set of subcollisions.
Definition: PartonSystems.h:42
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
The Pythia class contains the top-level routines to generate an event.
Definition: Pythia.h:72
double getSigmaPartial(int procTypeIn)
Definition: Pythia.h:333
UserHooksVector implements a vector of UserHooks and is itself a UserHooks.
Definition: UserHooks.h:313
const Info & info
Public information and statistic on the generation.
Definition: Pythia.h:378
Pythia(string xmlDir="../share/Pythia8/xmldoc", bool printBanner=true)
Constructor. (See Pythia.cc file.)
Definition: Pythia.cc:33
bool next()
Generate the next event.
Definition: Pythia.h:276
BeamShapePtr getBeamShapePtr()
Possibility to access the pointer to the BeamShape object.
Definition: BeamSetup.h:81
double sigmaTotal(int id1, int id2, double eCM12, double m1, double m2, int mixLoHi=0)
Get total cross section.
Definition: SigmaLowEnergy.cc:1526
bool setPhotonFluxPtr(PDFPtr photonFluxAIn, PDFPtr photonFluxBIn)
Set photon fluxes externally. Used with option "PDF:lepton2gammaSet = 2".
Definition: Pythia.h:134
int forceTimeShower(int iBeg, int iEnd, double pTmax, int nBranchMax=0)
Generate only a single timelike shower as in a decay.
Definition: Pythia.h:290
bool insertSigmaPtr(int idx, SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Definition: Pythia.h:204
void LHAeventList()
List the current Les Houches event.
Definition: Pythia.h:355
MergingPtr mergingPtr
Merging object as wrapper for matrix element merging routines.
Definition: Pythia.h:405
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:423
bool setSigmaPtr(SigmaProcessPtr sigmaPtrIn, PhaseSpacePtr phaseSpacePtrIn=nullptr)
Definition: Pythia.h:190
bool decay(int iDec, Event &event)
Try to decay the specified particle. Returns false if decay failed.
Definition: HadronLevel.h:66
Logger logger
Logger: for diagnostic messages, errors, statistics, etc.
Definition: Pythia.h:381
bool flag(string key)
Read in settings values: shorthand, not new functionality.
Definition: Pythia.h:366
bool setBeamShapePtr(BeamShapePtr beamShapePtrIn)
Possibility to pass in pointer for beam shape.
Definition: BeamSetup.h:77
bool setHIHooks(HIUserHooksPtr hiHooksPtrIn)
Definition: Pythia.h:252
Definition: SusyCouplings.h:27
Definition: Settings.h:196
void clear()
Reset system list to empty.
Definition: PartonSystems.h:50