diff --git a/Simulation/DetSimCore/CMakeLists.txt b/Simulation/DetSimCore/CMakeLists.txt index e6dd06698ad116b1bada6e94facbe1565430e848..abda7f59f6db52b74e1478ff061168b18e37d85c 100644 --- a/Simulation/DetSimCore/CMakeLists.txt +++ b/Simulation/DetSimCore/CMakeLists.txt @@ -13,6 +13,9 @@ set(DetSimCore_srcs src/DetSimSvc.cpp src/DetectorConstruction.cpp src/PrimaryGeneratorAction.cpp + src/ActionInitialization.cpp + src/RunAction.cpp + src/EventAction.cpp ) gaudi_add_module(DetSimCore ${DetSimCore_srcs} diff --git a/Simulation/DetSimCore/src/ActionInitialization.cpp b/Simulation/DetSimCore/src/ActionInitialization.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7a16a83128a922931e5810fd8f2961ba24ec4f5f --- /dev/null +++ b/Simulation/DetSimCore/src/ActionInitialization.cpp @@ -0,0 +1,26 @@ +#include "ActionInitialization.h" + +#include "RunAction.h" + +ActionInitialization::ActionInitialization() + : G4VUserActionInitialization() { + +} + +ActionInitialization::~ActionInitialization() { + +} + +void +ActionInitialization::BuildForMaster() const { + +} + +void +ActionInitialization::Build() const { + + + RunAction* runAction = new RunAction(); + SetUserAction(runAction); + +} diff --git a/Simulation/DetSimCore/src/ActionInitialization.h b/Simulation/DetSimCore/src/ActionInitialization.h new file mode 100644 index 0000000000000000000000000000000000000000..6ad9791d4c71d5aa839295ef2d24655771abd407 --- /dev/null +++ b/Simulation/DetSimCore/src/ActionInitialization.h @@ -0,0 +1,18 @@ +#ifndef ActionInitialization_h +#define ActionInitialization_h + +#include "G4VUserActionInitialization.hh" + +class ActionInitialization: public G4VUserActionInitialization { +public: + + ActionInitialization(); + ~ActionInitialization(); + + void BuildForMaster() const override; + void Build() const override; + +}; + + +#endif diff --git a/Simulation/DetSimCore/src/DetSimAlg.cpp b/Simulation/DetSimCore/src/DetSimAlg.cpp index 209a51f09903540540992818266e898502a1e5d6..8bd06abb4c7d5d23c147134c9b00e6cf800e0f69 100644 --- a/Simulation/DetSimCore/src/DetSimAlg.cpp +++ b/Simulation/DetSimCore/src/DetSimAlg.cpp @@ -4,15 +4,16 @@ #include "GaudiKernel/GaudiException.h" #include "G4RunManager.hh" - -#include "DetectorConstruction.h" - -#include "G4PhysListFactory.hh" #include "G4UImanager.hh" #include "G4VisExecutive.hh" #include "G4UIExecutive.hh" + +#include "DetectorConstruction.h" +#include "G4PhysListFactory.hh" #include "PrimaryGeneratorAction.h" +#include "ActionInitialization.h" + DECLARE_COMPONENT(DetSimAlg) DetSimAlg::DetSimAlg(const std::string& name, ISvcLocator* pSvcLocator) @@ -54,6 +55,9 @@ DetSimAlg::initialize() { // Primary Generator Action runmgr->SetUserAction(new PrimaryGeneratorAction()); + // User Actions + runmgr->SetUserInitialization(new ActionInitialization()); + // Vis Mac bool hasVis = false; G4VisManager* visManager = nullptr; diff --git a/Simulation/DetSimCore/src/EventAction.cpp b/Simulation/DetSimCore/src/EventAction.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c0a9ab3593b8dfd440d96dad6b961701989c2057 --- /dev/null +++ b/Simulation/DetSimCore/src/EventAction.cpp @@ -0,0 +1,21 @@ +#include "EventAction.h" + +EventAction::EventAction() + : G4UserEventAction() { + +} + +EventAction::~EventAction() { + +} + +void +EventAction::BeginOfEventAction(const G4Event*) { + +} + +void +EventAction::EndOfEventAction(const G4Event*) { + +} + diff --git a/Simulation/DetSimCore/src/EventAction.h b/Simulation/DetSimCore/src/EventAction.h new file mode 100644 index 0000000000000000000000000000000000000000..af2bc93a78b4740525ec5dcbc00597886b7ff2e0 --- /dev/null +++ b/Simulation/DetSimCore/src/EventAction.h @@ -0,0 +1,19 @@ +#ifndef EventAction_h +#define EventAction_h + +#include "G4UserEventAction.hh" + +class G4Event; + +class EventAction: public G4UserEventAction { +public: + + EventAction(); + ~EventAction(); + + void BeginOfEventAction(const G4Event*) override; + void EndOfEventAction(const G4Event*) override; + +}; + +#endif diff --git a/Simulation/DetSimCore/src/RunAction.cpp b/Simulation/DetSimCore/src/RunAction.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b86ff14c215dccc43aa69f63437412d482b05243 --- /dev/null +++ b/Simulation/DetSimCore/src/RunAction.cpp @@ -0,0 +1,26 @@ +#include "RunAction.h" + +#include "G4Run.hh" + +RunAction::RunAction() + : G4UserRunAction() { + +} + +RunAction::~RunAction() { + +} + +void +RunAction::BeginOfRunAction(const G4Run* aRun) +{ + +} + +void +RunAction::EndOfRunAction(const G4Run* aRun) +{ + +} + + diff --git a/Simulation/DetSimCore/src/RunAction.h b/Simulation/DetSimCore/src/RunAction.h new file mode 100644 index 0000000000000000000000000000000000000000..72b7601280fa87143d5bab613c02152cd479b573 --- /dev/null +++ b/Simulation/DetSimCore/src/RunAction.h @@ -0,0 +1,20 @@ +#ifndef RunAction_h +#define RunAction_h + +#include "G4UserRunAction.hh" + +class G4Run; + + +class RunAction: public G4UserRunAction { + +public: + RunAction(); + ~RunAction(); + + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); + +}; + +#endif