PYTHIA
8.312
|
#include <PhysicsBase.h>
Public Types | |
enum | Status { INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED, INIT_FAILED, LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED, PROCESSLEVEL_USERVETO, MERGING_FAILED, PARTONLEVEL_FAILED, PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED, CHECK_FAILED, OTHER_UNPHYSICAL, HEAVYION_FAILED, HADRONLEVEL_USERVETO } |
Enumerate the different status codes the event generation can have. | |
Public Member Functions | |
void | initInfoPtr (Info &infoPtrIn) |
This function is called from above for physics objects used in a run. More... | |
virtual | ~PhysicsBase () |
Empty virtual destructor. | |
bool | flag (string key) const |
Shorthand to read settings values. | |
int | mode (string key) const |
double | parm (string key) const |
string | word (string key) const |
vector< bool > | fvec (string key) const |
vector< int > | mvec (string key) const |
vector< double > | pvec (string key) const |
vector< string > | wvec (string key) const |
Protected Member Functions | |
PhysicsBase () | |
Default constructor. | |
virtual void | onInitInfoPtr () |
virtual void | onBeginEvent () |
This function is called in the very beginning of each Pythia::next call. | |
virtual void | onEndEvent (Status) |
virtual void | onStat () |
This function is called from the Pythia::stat() call. | |
void | registerSubObject (PhysicsBase &pb) |
Register a sub object that should have its information in sync with this. | |
Protected Attributes | |
Info * | infoPtr = {} |
Settings * | settingsPtr = {} |
Pointer to the settings database. | |
ParticleData * | particleDataPtr = {} |
Pointer to the particle data table. | |
Logger * | loggerPtr = {} |
Pointer to logger. | |
HadronWidths * | hadronWidthsPtr = {} |
Pointer to the hadron widths data table. | |
Rndm * | rndmPtr = {} |
Pointer to the random number generator. | |
CoupSM * | coupSMPtr = {} |
Pointers to SM and SUSY couplings. | |
CoupSUSY * | coupSUSYPtr = {} |
BeamSetup * | beamSetupPtr = {} |
BeamParticle * | beamAPtr = {} |
BeamParticle * | beamBPtr = {} |
BeamParticle * | beamPomAPtr = {} |
BeamParticle * | beamPomBPtr = {} |
BeamParticle * | beamGamAPtr = {} |
BeamParticle * | beamGamBPtr = {} |
BeamParticle * | beamVMDAPtr = {} |
BeamParticle * | beamVMDBPtr = {} |
PartonSystems * | partonSystemsPtr = {} |
Pointer to information on subcollision parton locations. | |
SigmaTotal * | sigmaTotPtr = {} |
Pointers to the total/elastic/diffractive cross sections. | |
SigmaCombined * | sigmaCmbPtr = {} |
set< PhysicsBase * > | subObjects |
UserHooksPtr | userHooksPtr |
Friends | |
class | Pythia |
Classes that implement physics models should inherit from the PhysicsBase class. It includes pointers to objects set up in the controlling Pythia object to take care of bookkeeping and simpler service tasks.
void initInfoPtr | ( | Info & | infoIn | ) |
This function is called from above for physics objects used in a run.
The PhysicsBase class.
Make available an assortment of pointers stored in the info object.
Store the info object.
Other objects extracted from Info.
If the class has sub objects, register them now.
|
inlineprotectedvirtual |
This function is called in the very end of each Pythia::next call with the argument set to the current status of the event.
Reimplemented in Dire.
|
inlineprotectedvirtual |
If an object needs to set up infoPtr for sub objects, override this and call registerSubObject for each object in question.
Reimplemented in FlavourRope, Angantyr, UserHooks, BeamSetup, HiddenValleyFragmentation, PartonLevel, HadronLevel, ParticleDecays, ProcessLevel, BeamRemnants, and JunctionSplitting.
|
protected |
Pointers to the two incoming beams and to Pomeron, photon or VMD beam-inside-beam cases.
|
protected |
Pointer to various information on the generation. This is also the place from which a number of pointers are recovered.
|
protected |
A set of sub objects that should have their information in sync with This.
|
protected |