From 943c18ba011eea3b1a8d460644350e413ebf39e3 Mon Sep 17 00:00:00 2001 From: lintao <lintao51@gmail.com> Date: Mon, 12 Aug 2019 13:28:50 +0800 Subject: [PATCH] WIP: Add the Run/Event Action. --- Simulation/DetSimCore/CMakeLists.txt | 3 +++ .../DetSimCore/src/ActionInitialization.cpp | 26 +++++++++++++++++++ .../DetSimCore/src/ActionInitialization.h | 18 +++++++++++++ Simulation/DetSimCore/src/DetSimAlg.cpp | 12 ++++++--- Simulation/DetSimCore/src/EventAction.cpp | 21 +++++++++++++++ Simulation/DetSimCore/src/EventAction.h | 19 ++++++++++++++ Simulation/DetSimCore/src/RunAction.cpp | 26 +++++++++++++++++++ Simulation/DetSimCore/src/RunAction.h | 20 ++++++++++++++ 8 files changed, 141 insertions(+), 4 deletions(-) create mode 100644 Simulation/DetSimCore/src/ActionInitialization.cpp create mode 100644 Simulation/DetSimCore/src/ActionInitialization.h create mode 100644 Simulation/DetSimCore/src/EventAction.cpp create mode 100644 Simulation/DetSimCore/src/EventAction.h create mode 100644 Simulation/DetSimCore/src/RunAction.cpp create mode 100644 Simulation/DetSimCore/src/RunAction.h diff --git a/Simulation/DetSimCore/CMakeLists.txt b/Simulation/DetSimCore/CMakeLists.txt index e6dd0669..abda7f59 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 00000000..7a16a831 --- /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 00000000..6ad9791d --- /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 209a51f0..8bd06abb 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 00000000..c0a9ab35 --- /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 00000000..af2bc93a --- /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 00000000..b86ff14c --- /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 00000000..72b76012 --- /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 -- GitLab