Runs Geant4 simulation and propagation of electrons and photons to readout. More...
Public Member Functions | |
GArG4 (fhicl::ParameterSet const &pset) | |
Standard constructor and destructor for an FMWK module. More... | |
virtual | ~GArG4 () |
void | produce (::art::Event &evt) |
void | beginJob () |
void | beginRun (::art::Run &run) |
Public Member Functions inherited from art::EDProducer | |
EDProducer (fhicl::ParameterSet const &pset) | |
template<typename Config > | |
EDProducer (Table< Config > const &config) | |
std::string | workerType () const |
Public Member Functions inherited from art::detail::Producer | |
virtual | ~Producer () noexcept |
Producer (fhicl::ParameterSet const &) | |
Producer (Producer const &)=delete | |
Producer (Producer &&)=delete | |
Producer & | operator= (Producer const &)=delete |
Producer & | operator= (Producer &&)=delete |
void | doBeginJob (SharedResources const &resources) |
void | doEndJob () |
void | doRespondToOpenInputFile (FileBlock const &fb) |
void | doRespondToCloseInputFile (FileBlock const &fb) |
void | doRespondToOpenOutputFiles (FileBlock const &fb) |
void | doRespondToCloseOutputFiles (FileBlock const &fb) |
bool | doBeginRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doEndRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed) |
Public Member Functions inherited from art::Modifier | |
~Modifier () noexcept | |
Modifier () | |
Modifier (Modifier const &)=delete | |
Modifier (Modifier &&)=delete | |
Modifier & | operator= (Modifier const &)=delete |
Modifier & | operator= (Modifier &&)=delete |
Public Member Functions inherited from art::ModuleBase | |
virtual | ~ModuleBase () noexcept |
ModuleBase () | |
ModuleDescription const & | moduleDescription () const |
void | setModuleDescription (ModuleDescription const &) |
std::array< std::vector< ProductInfo >, NumBranchTypes > const & | getConsumables () const |
void | sortConsumables (std::string const ¤t_process_name) |
template<typename T , BranchType BT> | |
ViewToken< T > | consumesView (InputTag const &tag) |
template<typename T , BranchType BT> | |
ViewToken< T > | mayConsumeView (InputTag const &tag) |
Private Member Functions | |
std::unique_ptr< PositionInVolumeFilter > | CreateParticleVolumeFilter (std::set< std::string > const &vol_names) const |
Configures and returns a particle filter. More... | |
void | SetLimitsAndCuts () |
Set the user limits and production cuts per region. More... | |
Private Attributes | |
g4b::G4Helper * | fG4Help |
G4 interface object. More... | |
garg4::EnergyDepositAction * | fEDepAction |
Geant4 user action to handle GAr energy depositions. More... | |
garg4::AuxDetAction * | fAuxDetAction |
Geant4 user action to handle GAr energy depositions. More... | |
garg4::ParticleListAction * | fParticleListAction |
Geant4 user action to particle information. More... | |
fhicl::ParameterSet | fEDepActionPSet |
configuration for GArAction More... | |
fhicl::ParameterSet | fAuxDetActionPSet |
configuration for AuxAction More... | |
std::vector< std::string > | fDetRegionNames |
Name of the volumes used to defined regions. More... | |
std::string | fG4PhysListName |
predefined physics list to use if not making a custom one More... | |
std::string | fG4MacroPath |
executed before main MC processing. More... | |
bool | fCheckOverlaps |
Whether to use the G4 overlap checker. More... | |
bool | fdumpParticleList |
Whether each event's sim::ParticleList will be displayed. More... | |
int | fSmartStacking |
dictate how tracks are put on stack. More... | |
std::vector< float > | fMaxStepSize |
maximum step size in mm per sub-detector region More... | |
float | fProductionCut |
G4 will check if a produced particle should travel this far and drop it if not. More... | |
std::vector< std::string > | fInputLabels |
std::vector< std::string > | fKeepParticlesInVolumes |
Only write particles that have trajectories through these volumes. More... | |
const geo::GeometryCore * | geo |
CLHEP::HepRandomEngine & | fEngine |
Additional Inherited Members | |
Public Types inherited from art::EDProducer | |
using | ModuleType = EDProducer |
using | WorkerType = WorkerT< EDProducer > |
Public Types inherited from art::detail::Producer | |
template<typename UserConfig , typename KeysToIgnore = void> | |
using | Table = Modifier::Table< UserConfig, KeysToIgnore > |
Public Types inherited from art::Modifier | |
template<typename UserConfig , typename UserKeysToIgnore = void> | |
using | Table = ProducerTable< UserConfig, detail::ModuleConfig, UserKeysToIgnore > |
Static Public Member Functions inherited from art::EDProducer | |
static void | commitEvent (EventPrincipal &ep, Event &e) |
Protected Member Functions inherited from art::ModuleBase | |
ConsumesCollector & | consumesCollector () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
Runs Geant4 simulation and propagation of electrons and photons to readout.
The random number generators used by this process are:
Definition at line 152 of file GArG4_module.cc.
|
explicit |
Standard constructor and destructor for an FMWK module.
Definition at line 205 of file GArG4_module.cc.
|
virtual |
Definition at line 274 of file GArG4_module.cc.
|
virtual |
Reimplemented from art::EDProducer.
Definition at line 335 of file GArG4_module.cc.
void gar::garg4::GArG4::beginRun | ( | ::art::Run & | run | ) |
Definition at line 394 of file GArG4_module.cc.
|
private |
Configures and returns a particle filter.
Definition at line 405 of file GArG4_module.cc.
void gar::garg4::GArG4::produce | ( | ::art::Event & | evt | ) |
The main routine of this module: Fetch the primary particles from the event, simulate their evolution in the detctor, and produce the detector response.
Definition at line 451 of file GArG4_module.cc.
|
private |
Set the user limits and production cuts per region.
Definition at line 280 of file GArG4_module.cc.
|
private |
Geant4 user action to handle GAr energy depositions.
Definition at line 169 of file GArG4_module.cc.
|
private |
configuration for AuxAction
Definition at line 172 of file GArG4_module.cc.
|
private |
Whether to use the G4 overlap checker.
Definition at line 177 of file GArG4_module.cc.
|
private |
Name of the volumes used to defined regions.
Definition at line 173 of file GArG4_module.cc.
|
private |
Whether each event's sim::ParticleList will be displayed.
Definition at line 178 of file GArG4_module.cc.
|
private |
Geant4 user action to handle GAr energy depositions.
Definition at line 168 of file GArG4_module.cc.
|
private |
configuration for GArAction
Definition at line 171 of file GArG4_module.cc.
|
private |
Definition at line 195 of file GArG4_module.cc.
|
private |
G4 interface object.
Definition at line 167 of file GArG4_module.cc.
|
private |
executed before main MC processing.
directory path for Geant4 macro file to be
Definition at line 175 of file GArG4_module.cc.
|
private |
predefined physics list to use if not making a custom one
Definition at line 174 of file GArG4_module.cc.
|
private |
Definition at line 183 of file GArG4_module.cc.
|
private |
Only write particles that have trajectories through these volumes.
Definition at line 184 of file GArG4_module.cc.
|
private |
maximum step size in mm per sub-detector region
Definition at line 181 of file GArG4_module.cc.
|
private |
Geant4 user action to particle information.
Definition at line 170 of file GArG4_module.cc.
|
private |
G4 will check if a produced particle should travel this far and drop it if not.
Definition at line 182 of file GArG4_module.cc.
|
private |
dictate how tracks are put on stack.
Whether to instantiate and use class to
Definition at line 179 of file GArG4_module.cc.
|
private |
Definition at line 191 of file GArG4_module.cc.