12 #ifndef Pythia8_PhysicsBase_H
13 #define Pythia8_PhysicsBase_H
15 #include "Pythia8/Info.h"
16 #include "Pythia8/Settings.h"
17 #include "Pythia8/SharedPointers.h"
32 enum Status { INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED,
33 INIT_FAILED, LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED,
34 PROCESSLEVEL_USERVETO, MERGING_FAILED, PARTONLEVEL_FAILED,
35 PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED, CHECK_FAILED,
36 OTHER_UNPHYSICAL, HEAVYION_FAILED };
39 void initInfoPtr(
Info& infoPtrIn);
45 bool flag(
string key)
const {
return settingsPtr->flag(key);}
46 int mode(
string key)
const {
return settingsPtr->mode(key);}
47 double parm(
string key)
const {
return settingsPtr->parm(key);}
48 string word(
string key)
const {
return settingsPtr->word(key);}
57 virtual void onInitInfoPtr() {}
60 virtual void onBeginEvent() {}
64 virtual void onEndEvent(Status) {}
67 virtual void onStat() {}
111 set<PhysicsBase*> subObjects;
115 UserHooksPtr userHooksPtr;
125 void endEvent(Status status);
136 #endif // Pythia8_PhysicsBase_H