5 #ifndef GENERATOR_PYTHIA8_USER_HOOKS_FACTORY_H
6 #define GENERATOR_PYTHIA8_USER_HOOKS_FACTORY_H
8 #include "Pythia8/Pythia.h"
9 #include "Pythia8/UserHooks.h"
14 #define PYTHIA8_PTRWRAP(A) A
15 #define PYTHIA8_INITUSERHOOK_WRAP(A) A->initPtr(infoPtr, settingsPtr, particleDataPtr, rndmPtr, beamAPtr, beamBPtr, beamPomAPtr, beamPomBPtr, coupSMPtr, partonSystemsPtr, sigmaTotPtr)
16 #ifdef PYTHIA_VERSION_INTEGER
17 #define PYTHIA8_3SERIES
18 #if PYTHIA_VERSION_INTEGER > 8303
19 #define PYTHIA8_304SERIES
22 #undef PYTHIA8_PTRWRAP
23 #define PYTHIA8_PTRWRAP(A) std::shared_ptr<Pythia8::UserHooks>(A)
24 #undef PYTHIA8_INITUSERHOOK_WRAP
25 #define PYTHIA8_INITUSERHOOK_WRAP(A) registerSubObject(*A)
32 using Pythia8::UserHooks;
39 static UserHooks *
create(
const std::string &hookName);
47 virtual UserHooks *
create()
const = 0;
83 static std::map<std::string, std::string> &
userWords();
87 static std::map<std::string, const ICreator*> &
s_creators();