1 #ifndef art_Framework_Services_Optional_RandomNumberGenerator_h 2 #define art_Framework_Services_Optional_RandomNumberGenerator_h 163 #include "CLHEP/Random/RandomEngine.h" 177 class ActivityRegistry;
183 class EventProcessor;
184 class RandomNumberSaver;
187 class ConcurrentEngineRetrieval;
200 friend class test::ConcurrentEngineRetrieval;
213 enum init_t { VIA_SEED = 1, VIA_FILE, VIA_PRODUCT };
215 using eptr_t = std::shared_ptr<base_engine_t>;
216 using dict_t = std::map<label_t, eptr_t>;
218 using kind_t = std::map<label_t, std::string>;
246 std::string
const& kind_of_engine_to_make);
249 std::string kind_of_engine_to_make,
253 label_t const& engine_label = {})
const;
271 return data_[schedule_id.
id()].snapshot_;
277 void restoreFromFile_();
290 bool engine_creation_is_okay_{
true};
yes & test(std::ostream &)
std::shared_ptr< base_engine_t > eptr_t
std::map< label_t, eptr_t > dict_t
void expandToNSchedules(std::size_t const n)
std::string const restoreFromFilename_
constexpr id_type id() const
#define DECLARE_ART_SERVICE(svc, scope)
std::vector< RNGsnapshot > snapshot_t
std::vector< ScheduleData > data_
std::vector< CLHEP_t > engine_state_t
std::string const saveToFilename_
std::map< label_t, std::string > kind_t
CLHEP::HepRandomEngine base_engine_t
snapshot_t const & accessSnapshot_(ScheduleID const schedule_id) const
label_t const restoreStateLabel_
RNGsnapshot::engine_state_t engine_state_t
std::map< label_t, init_t > tracker_t
RNGsnapshot::label_t label_t