LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Base class for policies reacting at engine instance level. More...
#include "BasePolicies.h"
Public Types | |
using | base_t = CheckedRangePolicy< SEED > |
using | this_t = PerInstancePolicy< SEED > |
using | seed_t = typename base_t::seed_t |
using | base_t = CheckedRangePolicy< SEED > |
using | this_t = PerInstancePolicy< SEED > |
using | seed_t = typename base_t::seed_t |
using | EventData_t = NuRandomServiceHelper::EventSeedInputData |
type of data used for event seeds More... | |
using | EventData_t = NuRandomServiceHelper::EventSeedInputData |
type of data used for event seeds More... | |
Public Member Functions | |
PerInstancePolicy (std::string name, fhicl::ParameterSet const &pset) | |
virtual void | configure (fhicl::ParameterSet const &pset) override |
Configure this policy. More... | |
PerInstancePolicy (std::string name, fhicl::ParameterSet const &pset) | |
virtual void | configure (fhicl::ParameterSet const &pset) override |
Configure this policy. More... | |
virtual seed_t | getSeed (SeedMasterHelper::EngineId const &id) |
Returns the next random number. More... | |
virtual seed_t | getSeed (SeedMasterHelper::EngineId const &id) override |
Returns the next random number. More... | |
virtual void | print (std::ostream &out) const override |
Prints information on the configuration of this policy. More... | |
virtual void | print (std::ostream &out) const override |
Prints information on the configuration of this policy. More... | |
virtual seed_t | getEventSeed (SeedMasterHelper::EngineId const &id, EventData_t const &eventInfo) |
Returns a random number specific to an event. More... | |
virtual seed_t | getEventSeed (SeedMasterHelper::EngineId const &id, EventData_t const &eventInfo) |
Returns a random number specific to an event. More... | |
std::string | getName () const |
Returns the given name of the policy. More... | |
std::string | getName () const |
Returns the given name of the policy. More... | |
virtual bool | yieldsUniqueSeeds () const override |
Returns whether the returned seed should be unique. More... | |
virtual bool | yieldsUniqueSeeds () const |
Returns whether the returned seed should be unique. More... | |
Static Public Attributes | |
static constexpr seed_t | InvalidSeed = 0 |
An invalid seed. More... | |
Protected Member Functions | |
PerInstancePolicy (std::string name) | |
Internal constructor: does not configure. For use in derived classes. More... | |
seed_t | getInstanceSeed (SeedMasterHelper::EngineId const &id) const |
Retrieves the parameter (seed) for the specified engine ID. More... | |
void | static_configure (fhicl::ParameterSet const &pset) |
PerInstancePolicy (std::string name) | |
Internal constructor: does not configure. For use in derived classes. More... | |
seed_t | getInstanceSeed (SeedMasterHelper::EngineId const &id) const |
Retrieves the parameter (seed) for the specified engine ID. More... | |
void | static_configure (fhicl::ParameterSet const &pset) |
virtual void | ensureRange (SeedMasterHelper::EngineId const &id, seed_t seed) const |
Performs the range checks and complains if needed. More... | |
virtual void | ensureRange (SeedMasterHelper::EngineId const &id, seed_t seed) const |
Performs the range checks and complains if needed. More... | |
void | CheckRangeConfiguration () const |
Check that the configuration is complete. More... | |
void | CheckRangeConfiguration () const |
Check that the configuration is complete. More... | |
virtual seed_t | createSeed (SeedMasterHelper::EngineId const &)=0 |
Extracts the next random number seed. More... | |
virtual seed_t | createSeed (SeedMasterHelper::EngineId const &)=0 |
Extracts the next random number seed. More... | |
virtual seed_t | createEventSeed (SeedMasterHelper::EngineId const &, EventData_t const &) |
Extracts a seed for specified event information; returns InvalidSeed. More... | |
virtual seed_t | createEventSeed (SeedMasterHelper::EngineId const &, EventData_t const &) |
Extracts a seed for specified event information; returns InvalidSeed. More... | |
Static Protected Member Functions | |
template<typename T > | |
static T | getInstanceParameter (fhicl::ParameterSet const &pset, SeedMasterHelper::EngineId const &id) |
Retrieves the parameter (seed) for the specified engine ID. More... | |
template<typename T > | |
static T | getInstanceParameter (fhicl::ParameterSet const &pset, SeedMasterHelper::EngineId const &id) |
Retrieves the parameter (seed) for the specified engine ID. More... | |
Protected Attributes | |
fhicl::ParameterSet | parameters |
configuration parameters More... | |
RangeCheckHelper< seed_t > | range_check |
std::string | name |
name of the policy More... | |
Base class for policies reacting at engine instance level.
Definition at line 510 of file BasePolicies.h.
using rndm::details::PerInstancePolicy< SEED >::base_t = CheckedRangePolicy<SEED> |
Definition at line 389 of file RandomSeedPolicyBase.h.
using rndm::details::PerInstancePolicy< SEED >::base_t = CheckedRangePolicy<SEED> |
Definition at line 512 of file BasePolicies.h.
|
inherited |
type of data used for event seeds
Definition at line 48 of file BasePolicies.h.
|
inherited |
type of data used for event seeds
Definition at line 93 of file RandomSeedPolicyBase.h.
using rndm::details::PerInstancePolicy< SEED >::seed_t = typename base_t::seed_t |
Definition at line 391 of file RandomSeedPolicyBase.h.
using rndm::details::PerInstancePolicy< SEED >::seed_t = typename base_t::seed_t |
Definition at line 514 of file BasePolicies.h.
using rndm::details::PerInstancePolicy< SEED >::this_t = PerInstancePolicy<SEED> |
Definition at line 390 of file RandomSeedPolicyBase.h.
using rndm::details::PerInstancePolicy< SEED >::this_t = PerInstancePolicy<SEED> |
Definition at line 513 of file BasePolicies.h.
|
inline |
Configures from a parameter set
Definition at line 518 of file BasePolicies.h.
|
inlineprotected |
Internal constructor: does not configure. For use in derived classes.
Definition at line 534 of file BasePolicies.h.
|
inline |
Configures from a parameter set
Definition at line 395 of file RandomSeedPolicyBase.h.
|
inlineprotected |
Internal constructor: does not configure. For use in derived classes.
Definition at line 411 of file RandomSeedPolicyBase.h.
|
protectedinherited |
Check that the configuration is complete.
Definition at line 323 of file BasePolicies.h.
References art::errors::Configuration, rndm::details::RandomSeedPolicyBase< SEED >::getName(), rndm::details::RangeCheckHelper< SEED >::isConfigured(), and rndm::details::RangeCheckHelper< SEED >::missingConfig().
Referenced by rndm::details::AutoIncrementPolicy< SEED >::createSeed(), rndm::details::LinearMappingPolicy< SEED >::createSeed(), rndm::details::PredefinedOffsetPolicy< SEED >::createSeed(), and rndm::details::CheckedRangePolicy< SEED >::ensureRange().
|
protectedinherited |
Check that the configuration is complete.
|
inlineoverridevirtual |
Configure this policy.
pset | the parameter set for the configuration |
Reimplemented from rndm::details::CheckedRangePolicy< SEED >.
Reimplemented in rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, and rndm::details::PredefinedSeedPolicy< SEED >.
Definition at line 404 of file RandomSeedPolicyBase.h.
|
inlineoverridevirtual |
Configure this policy.
pset | the parameter set for the configuration |
Reimplemented from rndm::details::CheckedRangePolicy< SEED >.
Reimplemented in rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, and rndm::details::PredefinedSeedPolicy< SEED >.
Definition at line 527 of file BasePolicies.h.
|
inlineprotectedvirtualinherited |
Extracts a seed for specified event information; returns InvalidSeed.
Reimplemented in rndm::details::PerEventPolicy< SEED >.
Definition at line 90 of file BasePolicies.h.
Referenced by rndm::details::RandomSeedPolicyBase< seed_t >::getEventSeed().
|
inlineprotectedvirtualinherited |
Extracts a seed for specified event information; returns InvalidSeed.
Reimplemented in rndm::details::PerEventPolicy< SEED >.
Definition at line 135 of file RandomSeedPolicyBase.h.
|
protectedpure virtualinherited |
Extracts the next random number seed.
Implemented in rndm::details::RandomPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, rndm::details::AutoIncrementPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::PerEventPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, rndm::details::RandomPolicy< SEED >, and rndm::details::AutoIncrementPolicy< SEED >.
Referenced by rndm::details::RandomSeedPolicyBase< seed_t >::getSeed(), and rndm::details::CheckedRangePolicy< SEED >::getSeed().
|
protectedpure virtualinherited |
Extracts the next random number seed.
Implemented in rndm::details::RandomPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, rndm::details::AutoIncrementPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::PerEventPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, rndm::details::RandomPolicy< SEED >, and rndm::details::AutoIncrementPolicy< SEED >.
|
inlineprotectedvirtualinherited |
Performs the range checks and complains if needed.
Definition at line 303 of file BasePolicies.h.
References rndm::details::RangeCheckHelper< SEED >::EnsureRange(), rndm::details::RandomSeedPolicyBase< SEED >::getName(), and rndm::details::CheckedRangePolicy< SEED >::static_configure().
|
inlineprotectedvirtualinherited |
Performs the range checks and complains if needed.
Definition at line 348 of file RandomSeedPolicyBase.h.
References rndm::details::CheckedRangePolicy< SEED >::CheckRangeConfiguration(), art::errors::Configuration, rndm::details::RangeCheckHelper< SEED >::configure(), rndm::details::RangeCheckHelper< SEED >::EnsureRange(), rndm::details::RangeCheckHelper< SEED >::isConfigured(), rndm::details::RangeCheckHelper< SEED >::missingConfig(), and rndm::details::CheckedRangePolicy< SEED >::static_configure().
|
inlinevirtualinherited |
Returns a random number specific to an event.
Definition at line 69 of file BasePolicies.h.
Referenced by rndm::details::RandomSeedPolicyBase< seed_t >::getSeed().
|
inlinevirtualinherited |
Returns a random number specific to an event.
Definition at line 114 of file RandomSeedPolicyBase.h.
|
staticprotected |
Retrieves the parameter (seed) for the specified engine ID.
|
staticprotected |
Retrieves the parameter (seed) for the specified engine ID.
Definition at line 562 of file BasePolicies.h.
References art::errors::Configuration, fhicl::ParameterSet::get(), fhicl::ParameterSet::get_if_present(), fhicl::ParameterSet::get_names(), fhicl::ParameterSet::is_key_to_atom(), and fhicl::ParameterSet::is_key_to_table().
Referenced by rndm::details::PerInstancePolicy< SEED >::getInstanceSeed().
|
inlineprotected |
Retrieves the parameter (seed) for the specified engine ID.
Definition at line 414 of file RandomSeedPolicyBase.h.
References art::errors::Configuration, fhicl::ParameterSet::get(), fhicl::ParameterSet::get_if_present(), rndm::details::PerInstancePolicy< SEED >::getInstanceParameter(), fhicl::ParameterSet::has_key(), fhicl::ParameterSet::is_key_to_atom(), fhicl::ParameterSet::is_key_to_table(), and rndm::details::PerInstancePolicy< SEED >::static_configure().
|
inlineprotected |
Retrieves the parameter (seed) for the specified engine ID.
Definition at line 537 of file BasePolicies.h.
References rndm::details::PerInstancePolicy< SEED >::static_configure().
|
inlineinherited |
Returns the given name of the policy.
Definition at line 73 of file BasePolicies.h.
Referenced by rndm::details::CheckedRangePolicy< SEED >::CheckRangeConfiguration(), rndm::details::CheckedRangePolicy< SEED >::ensureRange(), and rndm::details::RandomSeedPolicyBase< seed_t >::print().
|
inlineinherited |
Returns the given name of the policy.
Definition at line 118 of file RandomSeedPolicyBase.h.
|
inlinevirtualinherited |
Returns the next random number.
Reimplemented from rndm::details::RandomSeedPolicyBase< SEED >.
Definition at line 281 of file BasePolicies.h.
References rndm::details::RandomSeedPolicyBase< SEED >::createSeed(), and seed.
|
inlineoverridevirtualinherited |
Returns the next random number.
Reimplemented from rndm::details::RandomSeedPolicyBase< SEED >.
Definition at line 326 of file RandomSeedPolicyBase.h.
References rndm::details::ValidSeed< SEED >::seed.
|
inlineoverridevirtualinherited |
Prints information on the configuration of this policy.
Reimplemented from rndm::details::RandomSeedPolicyBase< SEED >.
Reimplemented in rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, rndm::details::AutoIncrementPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, and rndm::details::AutoIncrementPolicy< SEED >.
Definition at line 289 of file BasePolicies.h.
Referenced by rndm::details::AutoIncrementPolicy< SEED >::createSeed(), rndm::details::LinearMappingPolicy< SEED >::createSeed(), rndm::details::PredefinedOffsetPolicy< SEED >::createSeed(), and rndm::details::PredefinedSeedPolicy< SEED >::static_configure().
|
inlineoverridevirtualinherited |
Prints information on the configuration of this policy.
Reimplemented from rndm::details::RandomSeedPolicyBase< SEED >.
Reimplemented in rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, rndm::details::AutoIncrementPolicy< SEED >, rndm::details::PredefinedOffsetPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::LinearMappingPolicy< SEED >, and rndm::details::AutoIncrementPolicy< SEED >.
Definition at line 334 of file RandomSeedPolicyBase.h.
|
protected |
|
protected |
Definition at line 554 of file BasePolicies.h.
Referenced by rndm::details::PerInstancePolicy< SEED >::getInstanceSeed().
|
inlineoverridevirtualinherited |
Returns whether the returned seed should be unique.
Reimplemented in rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, and rndm::details::PerEventPolicy< SEED >.
Definition at line 80 of file BasePolicies.h.
|
inlinevirtualinherited |
Returns whether the returned seed should be unique.
Reimplemented in rndm::details::PredefinedSeedPolicy< SEED >, rndm::details::PredefinedSeedPolicy< SEED >, and rndm::details::PerEventPolicy< SEED >.
Definition at line 125 of file RandomSeedPolicyBase.h.
|
staticinherited |
An invalid seed.
Definition at line 51 of file BasePolicies.h.
Referenced by rndm::details::RandomSeedPolicyBase< seed_t >::createEventSeed(), rndm::details::PerEventPolicy< SEED >::createEventSeed(), and rndm::details::PerEventPolicy< SEED >::createSeed().
|
protectedinherited |
name of the policy
Definition at line 83 of file BasePolicies.h.
Referenced by rndm::details::RandomSeedPolicyBase< seed_t >::getName().
|
protected |
configuration parameters
Definition at line 531 of file BasePolicies.h.
|
protectedinherited |
Definition at line 296 of file BasePolicies.h.
Referenced by rndm::details::AutoIncrementPolicy< SEED >::configure(), rndm::details::LinearMappingPolicy< SEED >::configure(), rndm::details::PredefinedOffsetPolicy< SEED >::configure(), rndm::details::AutoIncrementPolicy< SEED >::createSeed(), rndm::details::LinearMappingPolicy< SEED >::createSeed(), rndm::details::PredefinedOffsetPolicy< SEED >::createSeed(), and rndm::details::PredefinedSeedPolicy< SEED >::static_configure().