#include "ActionInitialization.hh" #include "EmitterPrimary.hh" #include "SteppingAction.hh" namespace uLib { namespace Geant { ActionInitialization::ActionInitialization(EmitterPrimary *emitter, SimulationContext *context) : G4VUserActionInitialization(), m_Emitter(emitter), m_Context(context) {} ActionInitialization::~ActionInitialization() {} void ActionInitialization::BuildForMaster() const {} void ActionInitialization::Build() const { if (m_Emitter) { SetUserAction(m_Emitter->Clone()); } else { SetUserAction(new EmitterPrimary()); } SteppingAction *sa = new SteppingAction(m_Context); SetUserAction(static_cast(sa)); SetUserAction(static_cast(sa)); } } // namespace Geant } // namespace uLib