8#ifndef _SIMCORE_SIMULATOR_H_
9#define _SIMCORE_SIMULATOR_H_
22#include "Framework/Configure/Parameters.h"
24#include "SimCore/ConditionsInterface.h"
25#include "SimCore/DetectorConstruction.h"
27#include "SimCore/SimulatorBase.h"
32#include "Framework/EventFile.h"
35#include "Framework/Version.h"
41#include "SimCore/BiasOperators/XsecBiasingOperator.h"
42#include "SimCore/DetectorConstruction.h"
43#include "SimCore/Event/HepMC3GenEvent.h"
46#include "SimCore/G4User/UserEventInformation.h"
48#include "SimCore/SDs/SensitiveDetector.h"
53#include "G4BiasingProcessInterface.hh"
54#include "G4CascadeParameters.hh"
55#include "G4Electron.hh"
56#include "G4GDMLParser.hh"
57#include "G4GeometryManager.hh"
58#include "G4UImanager.hh"
59#include "G4UIsession.hh"
60#include "Randomize.hh"
75class G4CascadeParameters;
150 void setSeeds(std::vector<int> seeds);
Class which defines basic APrime physics.
Base classes for all user event processing components to extend.
Classes which redirect the output of G4cout and G4cerr.
Header file for PrimaryGenerator.
Class which represents the process under execution.
Conditions object for random number seeds.
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.
virtual void process(Event &event) final
Processing an event for a Producer is calling produce.
Class encapsulating parameters for configuring a processor.
Producer that runs Geant4 simulation inside of ldmx-app.
void configure(framework::config::Parameters ¶meters) override
Callback for the processor to configure itself from the given set of parameters.
Simulator(const std::string &name, framework::Process &process)
Constructor.
void beforeNewRun(ldmx::RunHeader &header) override
Given a non-const reference to the new RunHeader, we can add parameters from the simulation here befo...
void setSeeds(std::vector< int > seeds)
Set the seeds to be used by the Geant4 random engine.
void onNewRun(const ldmx::RunHeader &header) override
Before the run starts (but after the conditions are configured) set up the random seeds for this run.
virtual void produce(framework::Event &event) override
Run simulation and export results to output event.
int num_events_began_
Number of events started.
void onProcessEnd() override
Callback called once processing is complete.
virtual ~Simulator()=default
Destructor.
int run_
the run number (for accessing the run header in onFileClose
int num_events_completed_
Number of events completed.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...