4#include "G4VUserActionInitialization.hh"
7#include <gemc/gbase/gbase.h>
8#include <gemc/ganalysis/gAnalysisAccumulator.h>
9#include <gemc/gdynamicDigitization/gdynamicdigitization.h>
10#include <gemc/gstreamer/gstreamer.h>
95class GAction :
public GBase<GAction>,
public G4VUserActionInitialization {
104 explicit GAction(std::shared_ptr<GOptions> gopts,
105 std::shared_ptr<gdynamicdigitization::dRoutinesMap> digi_map,
106 std::shared_ptr<GAnalysisAccumulator> analysis_accumulator =
nullptr);
131 void Build()
const override;
158 std::shared_ptr<gdynamicdigitization::dRoutinesMap> digitization_routines_map;
165 std::shared_ptr<GAnalysisAccumulator> analysis_accumulator;
174 std::shared_ptr<std::vector<GparticlePtr>> sharedParticles_;
GAction(std::shared_ptr< GOptions > gopts, std::shared_ptr< gdynamicdigitization::dRoutinesMap > digi_map, std::shared_ptr< GAnalysisAccumulator > analysis_accumulator=nullptr)
Constructs the action initializer used by the Geant4 run manager.
GAction(const GAction &)=delete
std::shared_ptr< std::vector< GparticlePtr > > getSharedParticles() const
Returns the shared particle list so the pmaker GUI can wire its tabs to the same objects.
~GAction() override=default
GAction(GAction &&)=delete
void Build() const override
Registers the user actions required by worker threads and sequential execution.
void BuildForMaster() const override
Registers the user actions required by the master thread.
GAction & operator=(const GAction &)=delete
GAction & operator=(GAction &&)=delete
GBase(const std::shared_ptr< GOptions > &gopt, std::string logger_name="")
Declares GEventAction, the per-event processing action for the GEMC actions module.
Declares GPrimaryGeneratorAction, the primary-particle generation action for the GEMC actions module.
Declares GRunAction, the run-lifecycle action for the GEMC actions module.
Declares GRun, the thread-local run container used by the GEMC actions module.
constexpr const char * GACTION_LOGGER
Namespace containing helpers related to action-subsystem configuration.
GOptions defineOptions()
Builds the aggregate option set required by the actions subsystem.
GOptions defineOptions()
Returns the options associated with the event-action logger scope.
GOptions defineOptions()
Returns the options associated with the primary-generator action scope.
GOptions defineOptions()
Returns the options associated with the run-container logger scope.
GOptions defineOptions()
Returns the options associated with the run-action logger scope.