38 defaults( HepRandom & g, HepJamesRandom & e )
43 void resetEngine( HepRandomEngine * newEngine ) {
47 void resetEngine( HepRandomEngine & newEngine ) {
48 theEngine.reset( &newEngine, do_nothing_deleter() );
51 bool ensureInitialized() {
64 defaults & theDefaults() {
65 static HepRandom theDefaultGenerator;
66 static HepJamesRandom theDefaultEngine;
67 static defaults theDefaults(theDefaultGenerator, theDefaultEngine);
85 theDefaults().resetEngine( algorithm );
90 theDefaults().resetEngine( algorithm );
98 return theDefaults().theEngine->flat();
103 theDefaults().theEngine->flatArray(size,vect);
112 std::cerr <<
"HepRandom::engine() called -- there is no assigned engine!\n";
113 return *theDefaults().theEngine.
get();
133 theDefaults().theEngine->setSeed(seed,lux);
138 return theDefaults().theEngine->getSeed();
143 theDefaults().theEngine->setSeeds(seeds,aux);
148 return theDefaults().theEngine->getSeeds();
153 if ((index >= 0) && (index < 215)) {
162 return theDefaults().theGenerator.
get();
167 return theDefaults().theEngine.
get();
177 theDefaults().theEngine->saveStatus( filename );
182 theDefaults().theEngine->restoreStatus( filename );
205 theDefaults().theEngine->showStatus();
210 return static_cast<int>( theDefaults().ensureInitialized() );
shared_ptr< HepRandom > theGenerator
shared_ptr< HepRandomEngine > theEngine
virtual std::istream & get(std::istream &is)
static HepRandom * getTheGenerator()
static HepRandomEngine * getTheEngine()
static const long * getTheSeeds()
virtual double operator()()
void flatArray(const int size, double *vect)
static std::ostream & saveStaticRandomStates(std::ostream &os)
static std::ostream & saveFullState(std::ostream &os)
virtual HepRandomEngine & engine()
static std::istream & restoreFullState(std::istream &is)
static void restoreEngineStatus(const char filename[]="Config.conf")
static void showEngineStatus()
virtual std::istream & get(std::istream &is)
static int createInstance()
static const long seedTable[215][2]
static void setTheSeeds(const long *seeds, int aux=-1)
virtual std::ostream & put(std::ostream &os) const
static void setTheEngine(HepRandomEngine *theNewEngine)
static void setTheSeed(long seed, int lux=3)
virtual std::string name() const
static void saveEngineStatus(const char filename[]="Config.conf")
static void getTheTableSeeds(long *seeds, int index)
static std::istream & restoreStaticRandomStates(std::istream &is)
static std::istream & restore(std::istream &is)
static std::ostream & save(std::ostream &os)
std::istream & operator>>(std::istream &is, HepRandom &dist)
std::ostream & operator<<(std::ostream &os, const HepRandom &dist)