8 #ifndef Pythia8_PhysicsBase_H 9 #define Pythia8_PhysicsBase_H 11 #include "Pythia8/Info.h" 12 #include "Pythia8/Settings.h" 13 #include "Pythia8/SharedPointers.h" 31 enum Status { INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED,
32 INIT_FAILED, LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED,
33 PROCESSLEVEL_USERVETO, MERGING_FAILED, PARTONLEVEL_FAILED,
34 PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED, CHECK_FAILED,
35 OTHER_UNPHYSICAL, HEAVYION_FAILED, HADRONLEVEL_USERVETO };
45 int mode(
string key)
const {
return settingsPtr->mode(key);}
46 double parm(
string key)
const {
return settingsPtr->parm(key);}
47 string word(
string key)
const {
return settingsPtr->word(key);}
48 vector<bool> fvec(
string key)
const {
return settingsPtr->fvec(key);}
49 vector<int> mvec(
string key)
const {
return settingsPtr->mvec(key);}
50 vector<double> pvec(
string key)
const {
return settingsPtr->pvec(key);}
51 vector<string> wvec(
string key)
const {
return settingsPtr->wvec(key);}
142 void endEvent(
Status status);
virtual ~PhysicsBase()
Empty virtual destructor.
Definition: PhysicsBase.h:41
bool flag(string keyIn)
Give back current value, with check that key exists.
Definition: Settings.cc:1613
Settings * settingsPtr
Pointer to the settings database.
Definition: PhysicsBase.h:85
Definition: PhysicsBase.h:26
void registerSubObject(PhysicsBase &pb)
Register a sub object that should have its information in sync with this.
Definition: PhysicsBase.cc:57
mutex * mutexPtr
Mutex that should be locked for thread-unsafe code.
Definition: PhysicsBase.h:131
Definition: BeamSetup.h:33
Definition: BeamParticle.h:133
virtual void onBeginEvent()
This function is called in the very beginning of each Pythia::next call.
Definition: PhysicsBase.h:63
Definition: SigmaLowEnergy.h:135
PartonSystems * partonSystemsPtr
Pointer to information on subcollision parton locations.
Definition: PhysicsBase.h:116
Definition: SigmaTotal.h:141
Class for doing Pythia runs in parallel.
Definition: PythiaParallel.h:18
void initInfoPtr(Info &infoPtrIn)
This function is called from above for physics objects used in a run.
Definition: PhysicsBase.cc:21
Rndm * rndmPtr
Pointer to the random number generator.
Definition: PhysicsBase.h:97
virtual void onStat()
This function is called from the Pythia::stat() call.
Definition: PhysicsBase.h:70
BeamSetup * beamSetupPtr
Definition: PhysicsBase.h:105
ParticleData * particleDataPtr
Pointer to the particle data table.
Definition: PhysicsBase.h:88
UserHooksPtr userHooksPtr
Definition: PhysicsBase.h:128
virtual void onInitInfoPtr()
Definition: PhysicsBase.h:60
set< PhysicsBase * > subObjects
Definition: PhysicsBase.h:124
Status
Enumerate the different status codes the event generation can have.
Definition: PhysicsBase.h:31
Definition: HadronWidths.h:22
Definition: StandardModel.h:142
CoupSM * coupSMPtr
Pointers to SM and SUSY couplings.
Definition: PhysicsBase.h:100
virtual void onStat(vector< PhysicsBase * >, Pythia *)
Definition: PhysicsBase.h:75
Logger * loggerPtr
Pointer to logger.
Definition: PhysicsBase.h:91
PhysicsBase()
Default constructor.
Definition: PhysicsBase.h:56
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
Info * infoPtr
Definition: PhysicsBase.h:82
virtual void onEndEvent(Status)
Definition: PhysicsBase.h:67
bool flag(string key) const
Shorthand to read settings values.
Definition: PhysicsBase.h:44
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:423
SigmaTotal * sigmaTotPtr
Pointers to the total/elastic/diffractive cross sections.
Definition: PhysicsBase.h:119
Definition: SusyCouplings.h:27
Definition: Settings.h:196
HadronWidths * hadronWidthsPtr
Pointer to the hadron widths data table.
Definition: PhysicsBase.h:94