Public Types | Public Member Functions | Protected Member Functions | List of all members
rndm::details::PredefinedSeedPolicy< SEED > Class Template Reference

Implementation of the "preDefinedSeed" policy. More...

#include <BasePolicies.h>

Inheritance diagram for rndm::details::PredefinedSeedPolicy< SEED >:
rndm::details::PerInstancePolicy< SEED > rndm::details::PerInstancePolicy< SEED > rndm::details::CheckedRangePolicy< SEED > rndm::details::CheckedRangePolicy< SEED > rndm::details::CheckedRangePolicy< SEED > rndm::details::CheckedRangePolicy< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED > rndm::details::RandomSeedPolicyBase< SEED >

Public Types

using base_t = PerInstancePolicy< SEED >
 
using this_t = PredefinedSeedPolicy< SEED >
 
using seed_t = typename base_t::seed_t
 
using base_t = PerInstancePolicy< SEED >
 
using this_t = PredefinedSeedPolicy< SEED >
 
using seed_t = typename base_t::seed_t
 
- Public Types inherited from rndm::details::PerInstancePolicy< SEED >
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
 
- Public Types inherited from rndm::details::CheckedRangePolicy< SEED >
using base_t = RandomSeedPolicyBase< SEED >
 
using this_t = CheckedRangePolicy< SEED >
 
using seed_t = typename base_t::seed_t
 
using base_t = RandomSeedPolicyBase< SEED >
 
using this_t = CheckedRangePolicy< SEED >
 
using seed_t = typename base_t::seed_t
 
- Public Types inherited from rndm::details::RandomSeedPolicyBase< SEED >
using seed_t = SEED
 type of the random seed More...
 
using EventData_t = NuRandomServiceHelper::EventSeedInputData
 type of data used for event seeds More...
 
using seed_t = SEED
 type of the random seed More...
 
using EventData_t = NuRandomServiceHelper::EventSeedInputData
 type of data used for event seeds More...
 

Public Member Functions

 PredefinedSeedPolicy (fhicl::ParameterSet const &pset)
 
virtual void configure (fhicl::ParameterSet const &pset) override
 Configure this policy. More...
 
virtual void print (std::ostream &out) const override
 Prints the configuration of this policy. More...
 
virtual bool yieldsUniqueSeeds () const override
 Returns whether the returned seed should be unique: for us it "no". More...
 
 PredefinedSeedPolicy (fhicl::ParameterSet const &pset)
 
virtual void configure (fhicl::ParameterSet const &pset) override
 Configure this policy. More...
 
virtual void print (std::ostream &out) const override
 Prints the configuration of this policy. More...
 
virtual bool yieldsUniqueSeeds () const override
 Returns whether the returned seed should be unique: for us it "no". More...
 
- Public Member Functions inherited from rndm::details::PerInstancePolicy< SEED >
 PerInstancePolicy (std::string name, fhicl::ParameterSet const &pset)
 
 PerInstancePolicy (std::string name, fhicl::ParameterSet const &pset)
 
- Public Member Functions inherited from rndm::details::CheckedRangePolicy< SEED >
 CheckedRangePolicy (std::string policy_name, fhicl::ParameterSet const &pset)
 Constructor; requires the policy name. More...
 
virtual seed_t getSeed (SeedMasterHelper::EngineId const &id)
 Returns the next random number. More...
 
 CheckedRangePolicy (std::string policy_name, fhicl::ParameterSet const &pset)
 Constructor; requires the policy name. More...
 
virtual seed_t getSeed (SeedMasterHelper::EngineId const &id) override
 Returns the next random number. More...
 
- Public Member Functions inherited from rndm::details::RandomSeedPolicyBase< SEED >
 RandomSeedPolicyBase (std::string policy_name)
 Constructor; requires the policy name. More...
 
virtual ~RandomSeedPolicyBase ()
 
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...
 
 RandomSeedPolicyBase (std::string policy_name)
 Constructor; requires the policy name. More...
 
virtual ~RandomSeedPolicyBase ()
 
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...
 

Protected Member Functions

virtual seed_t createSeed (SeedMasterHelper::EngineId const &id) override
 Returns the seed stored in the parameter set. More...
 
void static_configure (fhicl::ParameterSet const &)
 
virtual seed_t createSeed (SeedMasterHelper::EngineId const &id) override
 Returns the seed stored in the parameter set. More...
 
void static_configure (fhicl::ParameterSet const &)
 
- Protected Member Functions inherited from rndm::details::PerInstancePolicy< SEED >
 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)
 
- Protected Member Functions inherited from rndm::details::CheckedRangePolicy< SEED >
 CheckedRangePolicy (std::string policy_name)
 Lets the derived class to start configuration. 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 static_configure (fhicl::ParameterSet const &pset)
 Local configuration; does not require the range config to be complete. More...
 
 CheckedRangePolicy (std::string policy_name)
 Lets the derived class to start configuration. 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 static_configure (fhicl::ParameterSet const &pset)
 Local configuration; does not require the range config to be complete. More...
 
- Protected Member Functions inherited from rndm::details::RandomSeedPolicyBase< SEED >
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...
 

Additional Inherited Members

- Static Public Attributes inherited from rndm::details::RandomSeedPolicyBase< SEED >
static constexpr seed_t InvalidSeed = 0
 An invalid seed. More...
 
- Static Protected Member Functions inherited from rndm::details::PerInstancePolicy< SEED >
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 inherited from rndm::details::PerInstancePolicy< SEED >
fhicl::ParameterSet parameters
 configuration parameters More...
 
- Protected Attributes inherited from rndm::details::CheckedRangePolicy< SEED >
RangeCheckHelper< seed_trange_check
 
- Protected Attributes inherited from rndm::details::RandomSeedPolicyBase< SEED >
std::string name
 name of the policy More...
 

Detailed Description

template<typename SEED>
class rndm::details::PredefinedSeedPolicy< SEED >

Implementation of the "preDefinedSeed" policy.


Definition at line 625 of file BasePolicies.h.

Member Typedef Documentation

template<typename SEED >
using rndm::details::PredefinedSeedPolicy< SEED >::base_t = PerInstancePolicy<SEED>

Definition at line 208 of file StandardPolicies.h.

template<typename SEED >
using rndm::details::PredefinedSeedPolicy< SEED >::base_t = PerInstancePolicy<SEED>

Definition at line 627 of file BasePolicies.h.

template<typename SEED >
using rndm::details::PredefinedSeedPolicy< SEED >::seed_t = typename base_t::seed_t

Definition at line 210 of file StandardPolicies.h.

template<typename SEED >
using rndm::details::PredefinedSeedPolicy< SEED >::seed_t = typename base_t::seed_t

Definition at line 629 of file BasePolicies.h.

template<typename SEED >
using rndm::details::PredefinedSeedPolicy< SEED >::this_t = PredefinedSeedPolicy<SEED>

Definition at line 209 of file StandardPolicies.h.

template<typename SEED >
using rndm::details::PredefinedSeedPolicy< SEED >::this_t = PredefinedSeedPolicy<SEED>

Definition at line 628 of file BasePolicies.h.

Constructor & Destructor Documentation

template<typename SEED >
rndm::details::PredefinedSeedPolicy< SEED >::PredefinedSeedPolicy ( fhicl::ParameterSet const &  pset)
inline

Configures from a parameter set

See also
configure()

Definition at line 633 of file BasePolicies.h.

633  :
634  base_t("preDefinedSeed")
635  { this_t::configure(pset); }
virtual void configure(fhicl::ParameterSet const &pset) override
Configure this policy.
Definition: BasePolicies.h:656
PerInstancePolicy< SEED > base_t
Definition: BasePolicies.h:627
template<typename SEED >
rndm::details::PredefinedSeedPolicy< SEED >::PredefinedSeedPolicy ( fhicl::ParameterSet const &  pset)
inline

Configures from a parameter set

See also
configure()

Definition at line 214 of file StandardPolicies.h.

214  :
215  base_t("preDefinedSeed")
216  { this_t::configure(pset); }
virtual void configure(fhicl::ParameterSet const &pset) override
Configure this policy.
Definition: BasePolicies.h:656
PerInstancePolicy< SEED > base_t
Definition: BasePolicies.h:627

Member Function Documentation

template<typename SEED >
virtual void rndm::details::PredefinedSeedPolicy< SEED >::configure ( fhicl::ParameterSet const &  pset)
inlineoverridevirtual

Configure this policy.

Parameters
psetthe parameter set for the configuration

Parameters: one entry per engine. The FHiCL grammar to specify the seeds takes two forms. If no instance name is given, the seed is given by:

moduleLabel : seed

When a module has multiple instances, the seeds are given by:

moduleLabel : {
   instanceName1 : seed1
   instanceName2 : seed2
}

Reimplemented from rndm::details::PerInstancePolicy< SEED >.

Definition at line 237 of file StandardPolicies.h.

238  { base_t::configure(pset); static_configure(pset); }
void static_configure(fhicl::ParameterSet const &)
Definition: BasePolicies.h:672
virtual void configure(fhicl::ParameterSet const &pset) override
Configure this policy.
Definition: BasePolicies.h:527
template<typename SEED >
virtual void rndm::details::PredefinedSeedPolicy< SEED >::configure ( fhicl::ParameterSet const &  pset)
inlineoverridevirtual

Configure this policy.

Parameters
psetthe parameter set for the configuration

Parameters: one entry per engine. The FHiCL grammar to specify the seeds takes two forms. If no instance name is given, the seed is given by:

moduleLabel : seed

When a module has multiple instances, the seeds are given by:

moduleLabel : {
   instanceName1 : seed1
   instanceName2 : seed2
}

Reimplemented from rndm::details::PerInstancePolicy< SEED >.

Definition at line 656 of file BasePolicies.h.

657  { base_t::configure(pset); static_configure(pset); }
void static_configure(fhicl::ParameterSet const &)
Definition: BasePolicies.h:672
virtual void configure(fhicl::ParameterSet const &pset) override
Configure this policy.
Definition: BasePolicies.h:527
template<typename SEED >
virtual seed_t rndm::details::PredefinedSeedPolicy< SEED >::createSeed ( SeedMasterHelper::EngineId const &  id)
inlineoverrideprotectedvirtual

Returns the seed stored in the parameter set.

Implements rndm::details::RandomSeedPolicyBase< SEED >.

Definition at line 250 of file StandardPolicies.h.

251  { return base_t::getInstanceSeed(id); }
seed_t getInstanceSeed(SeedMasterHelper::EngineId const &id) const
Retrieves the parameter (seed) for the specified engine ID.
Definition: BasePolicies.h:537
template<typename SEED >
virtual seed_t rndm::details::PredefinedSeedPolicy< SEED >::createSeed ( SeedMasterHelper::EngineId const &  id)
inlineoverrideprotectedvirtual

Returns the seed stored in the parameter set.

Implements rndm::details::RandomSeedPolicyBase< SEED >.

Definition at line 669 of file BasePolicies.h.

670  { return base_t::getInstanceSeed(id); }
seed_t getInstanceSeed(SeedMasterHelper::EngineId const &id) const
Retrieves the parameter (seed) for the specified engine ID.
Definition: BasePolicies.h:537
template<typename SEED >
virtual void rndm::details::PredefinedSeedPolicy< SEED >::print ( std::ostream &  out) const
overridevirtual

Prints the configuration of this policy.

Reimplemented from rndm::details::CheckedRangePolicy< SEED >.

template<typename SEED >
void rndm::details::PredefinedSeedPolicy< SEED >::print ( std::ostream &  out) const
overridevirtual

Prints the configuration of this policy.

Reimplemented from rndm::details::CheckedRangePolicy< SEED >.

Definition at line 679 of file BasePolicies.h.

679  {
680  base_t::print(out);
681  out << "\n seeds directly from the configuration";
682  } // PredefinedSeedPolicy<SEED>::print()
virtual void print(std::ostream &out) const override
Prints information on the configuration of this policy.
Definition: BasePolicies.h:289
template<typename SEED >
void rndm::details::PredefinedSeedPolicy< SEED >::static_configure ( fhicl::ParameterSet const &  )
inlineprotected

Definition at line 253 of file StandardPolicies.h.

254  { base_t::range_check.SetCheck(false); }
void SetCheck(bool doCheck=true)
Sets whether to perform the check or not.
Definition: BasePolicies.h:124
RangeCheckHelper< seed_t > range_check
Definition: BasePolicies.h:296
template<typename SEED >
void rndm::details::PredefinedSeedPolicy< SEED >::static_configure ( fhicl::ParameterSet const &  )
inlineprotected

Definition at line 672 of file BasePolicies.h.

673  { base_t::range_check.SetCheck(false); }
void SetCheck(bool doCheck=true)
Sets whether to perform the check or not.
Definition: BasePolicies.h:124
RangeCheckHelper< seed_t > range_check
Definition: BasePolicies.h:296
template<typename SEED >
virtual bool rndm::details::PredefinedSeedPolicy< SEED >::yieldsUniqueSeeds ( ) const
inlineoverridevirtual

Returns whether the returned seed should be unique: for us it "no".

Reimplemented from rndm::details::RandomSeedPolicyBase< SEED >.

Definition at line 245 of file StandardPolicies.h.

245 { return false; }
template<typename SEED >
virtual bool rndm::details::PredefinedSeedPolicy< SEED >::yieldsUniqueSeeds ( ) const
inlineoverridevirtual

Returns whether the returned seed should be unique: for us it "no".

Reimplemented from rndm::details::RandomSeedPolicyBase< SEED >.

Definition at line 664 of file BasePolicies.h.

664 { return false; }

The documentation for this class was generated from the following files: