8#ifndef _SIMCORE_SIMULATOR_H_
9#define _SIMCORE_SIMULATOR_H_
19#include "Framework/Configure/Parameters.h"
21#include "SimCore/SimulatorBase.h"
26#include "Framework/EventFile.h"
50class G4CascadeParameters;
125 void setSeeds(std::vector<int> seeds);
Base classes for all user event processing components to extend.
Class which represents the process under execution.
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 ...