7#ifndef FRAMEWORK_RANDOMNUMBERSEEDSERVICE_H_
8#define FRAMEWORK_RANDOMNUMBERSEEDSERVICE_H_
79 uint64_t
getSeed(
const std::string& name)
const;
105 virtual std::pair<const ConditionsObject*, ConditionsIOV>
getCondition(
122 void stream(std::ostream& s)
const;
149 mutable std::map<std::string, uint64_t>
seeds_;
Base class for provider of conditions information like pedestals, gains, electronics maps,...
Base class for conditions information like pedestals, gains, electronics maps, etc.
Base class for all providers of conditions objects.
const Process & process() const
Get the process handle.
Base class for all conditions objects, very simple.
Class which represents the process under execution.
System for consistent seeding of random number generators.
virtual std::pair< const ConditionsObject *, ConditionsIOV > getCondition(const ldmx::EventHeader &context)
Get the seed service as a conditions object.
bool initialized_
whether the master seed has been initialized
std::map< std::string, uint64_t > seeds_
cache of seeds by name
friend std::ostream & operator<<(std::ostream &s, const RandomNumberSeedService &o)
Output streaming operator.
std::vector< std::string > getSeedNames() const
Get a list of all the known seeds.
virtual void releaseConditionsObject(const ConditionsObject *co)
This object is both the provider of the seed service and the conditions object itself,...
static const std::string CONDITIONS_OBJECT_NAME
Conditions object name.
int seedMode_
what mode of master seed are we using
uint64_t getMasterSeed() const
Access the master seed.
uint64_t masterSeed_
what the master seed actually is
uint64_t getSeed(const std::string &name) const
Access a given seed by name.
virtual void onNewRun(ldmx::RunHeader &header)
Configure the seed service when a new run starts.
void stream(std::ostream &s) const
Stream the configuration of this object to the input ostream.
Class encapsulating parameters for configuring a processor.
All classes in the ldmx-sw project use this namespace.