module to produce single or multiple specified particles in the detector More...
Public Member Functions | |
SingleGen (fhicl::ParameterSet const &pset) | |
virtual | ~SingleGen () |
void | produce (::art::Event &evt) |
void | beginRun (::art::Run &run) |
void | reconfigure (fhicl::ParameterSet const &p) |
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 | |
void | SampleOne (unsigned int i, simb::MCTruth &mct) |
void | Sample (simb::MCTruth &mct) |
void | printVecs (std::vector< std::string > const &list) |
bool | PadVector (std::vector< double > &vec) |
Private Attributes | |
int | fMode |
bool | fPadOutVectors |
std::vector< int > | fPDG |
PDG code of particles to generate. More... | |
std::vector< double > | fP0 |
Central momentum (GeV/c) to generate. More... | |
std::vector< double > | fSigmaP |
Variation in momenta (GeV/c) More... | |
int | fPDist |
How to distribute momenta (gaus or uniform) More... | |
std::vector< double > | fX0 |
Central x position (cm) in world coordinates. More... | |
std::vector< double > | fY0 |
Central y position (cm) in world coordinates. More... | |
std::vector< double > | fZ0 |
Central z position (cm) in world coordinates. More... | |
std::vector< double > | fT0 |
Central t position (s) in world coordinates. More... | |
std::vector< double > | fSigmaX |
Variation in x position (cm) More... | |
std::vector< double > | fSigmaY |
Variation in y position (cm) More... | |
std::vector< double > | fSigmaZ |
Variation in z position (cm) More... | |
std::vector< double > | fSigmaT |
Variation in t position (s) More... | |
int | fPosDist |
How to distribute xyz (gaus, or uniform) More... | |
int | fTDist |
How to distribute t (gaus, or uniform) More... | |
std::vector< double > | fTheta0XZ |
Angle in XZ plane (degrees) More... | |
std::vector< double > | fTheta0YZ |
Angle in YZ plane (degrees) More... | |
std::vector< double > | fSigmaThetaXZ |
Variation in angle in XZ plane. More... | |
std::vector< double > | fSigmaThetaYZ |
Variation in angle in YZ plane. More... | |
int | fAngleDist |
How to distribute angles (gaus, uniform) More... | |
CLHEP::HepRandomEngine & | fEngine |
Static Private Attributes | |
static const int | kUNIF = 0 |
static const int | kGAUS = 1 |
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 () |
module to produce single or multiple specified particles in the detector
Definition at line 62 of file SingleGen_module.cc.
|
explicit |
Definition at line 116 of file SingleGen_module.cc.
|
virtual |
Definition at line 129 of file SingleGen_module.cc.
void gar::evgen::SingleGen::beginRun | ( | ::art::Run & | run | ) |
Definition at line 235 of file SingleGen_module.cc.
|
private |
Definition at line 208 of file SingleGen_module.cc.
|
private |
Definition at line 394 of file SingleGen_module.cc.
void gar::evgen::SingleGen::produce | ( | ::art::Event & | evt | ) |
unique_ptr allows ownership to be transferred to the art::Event after the put statement
Definition at line 249 of file SingleGen_module.cc.
void gar::evgen::SingleGen::reconfigure | ( | fhicl::ParameterSet const & | p | ) |
Definition at line 134 of file SingleGen_module.cc.
|
private |
Definition at line 364 of file SingleGen_module.cc.
|
private |
Definition at line 271 of file SingleGen_module.cc.
|
private |
How to distribute angles (gaus, uniform)
Definition at line 109 of file SingleGen_module.cc.
|
private |
Definition at line 111 of file SingleGen_module.cc.
|
private |
Particle Selection Mode 0–generate a list of all particles, 1–generate a single particle selected randomly from the list
Definition at line 84 of file SingleGen_module.cc.
|
private |
Central momentum (GeV/c) to generate.
Definition at line 92 of file SingleGen_module.cc.
|
private |
Select to pad out configuration vectors if they are not of of the same length as PDG false: don't pad out - all values need to specified true: pad out - default values assumed and printed out
Definition at line 87 of file SingleGen_module.cc.
|
private |
PDG code of particles to generate.
Definition at line 91 of file SingleGen_module.cc.
|
private |
How to distribute momenta (gaus or uniform)
Definition at line 94 of file SingleGen_module.cc.
|
private |
How to distribute xyz (gaus, or uniform)
Definition at line 103 of file SingleGen_module.cc.
|
private |
Variation in momenta (GeV/c)
Definition at line 93 of file SingleGen_module.cc.
|
private |
Variation in t position (s)
Definition at line 102 of file SingleGen_module.cc.
|
private |
Variation in angle in XZ plane.
Definition at line 107 of file SingleGen_module.cc.
|
private |
Variation in angle in YZ plane.
Definition at line 108 of file SingleGen_module.cc.
|
private |
Variation in x position (cm)
Definition at line 99 of file SingleGen_module.cc.
|
private |
Variation in y position (cm)
Definition at line 100 of file SingleGen_module.cc.
|
private |
Variation in z position (cm)
Definition at line 101 of file SingleGen_module.cc.
|
private |
Central t position (s) in world coordinates.
Definition at line 98 of file SingleGen_module.cc.
|
private |
How to distribute t (gaus, or uniform)
Definition at line 104 of file SingleGen_module.cc.
|
private |
Angle in XZ plane (degrees)
Definition at line 105 of file SingleGen_module.cc.
|
private |
Angle in YZ plane (degrees)
Definition at line 106 of file SingleGen_module.cc.
|
private |
Central x position (cm) in world coordinates.
Definition at line 95 of file SingleGen_module.cc.
|
private |
Central y position (cm) in world coordinates.
Definition at line 96 of file SingleGen_module.cc.
|
private |
Central z position (cm) in world coordinates.
Definition at line 97 of file SingleGen_module.cc.
|
staticprivate |
Definition at line 82 of file SingleGen_module.cc.
|
staticprivate |
Definition at line 81 of file SingleGen_module.cc.