1#ifndef SIMCORE_SIMULATOR_BASE_H_
2#define SIMCORE_SIMULATOR_BASE_H_
4#include <G4CascadeParameters.hh>
5#include <G4GeometryManager.hh>
6#include <G4UImanager.hh>
7#include <G4UIsession.hh>
9#include "Framework/Configure/Parameters.h"
10#include "Framework/EventFile.h"
13#include "SimCore/ConditionsInterface.h"
14#include "SimCore/DetectorConstruction.h"
17#include "SimCore/Geo/ParserFactory.h"
19#include "SimCore/SensitiveDetector.h"
20#include "SimCore/UserEventInformation.h"
65 std::vector<std::string> preInitCommands_;
67 std::vector<std::string> postInitCommands_;
103 void buildGeometry();
112 void verifyParameters()
const;
Base classes for all user event processing components to extend.
Classes which redirect the output of G4cout and G4cerr.
Class providing a Geant4 run manager implementation.
Class which implements the user tracking action.
Implements an event buffer system for storing event data.
Class which represents the process under execution.
Base class for a module which produces a data product.
Class encapsulating parameters for configuring a processor.
Handle to the conditions system, provided at construction to classes which require it.
G4UImanager * uiManager_
User interface handle.
ConditionsInterface conditionsIntf_
Conditions interface.
std::unique_ptr< RunManager > runManager_
Manager controlling G4 simulation run.
virtual void produce(framework::Event &event) override=0
Process the event and put new data products into it.
void configure(framework::config::Parameters ¶meters) override
Callback for the EventProcessor to configure itself from the given set of parameters.
int verbosity_
Vebosity for the simulation.
std::unique_ptr< G4UIsession > sessionHandle_
Handle to the G4Session -> how to deal with G4cout and G4cerr.
void onProcessStart() override
Initialization of simulation.
void onProcessEnd() override
Callback called once processing is complete.
static const std::vector< std::string > invalidCommands_
Commands not allowed to be passed from python config file This is because Simulator already runs them...
framework::config::Parameters parameters_
The parameters used to configure the simulation.