40 defaults( HepRandom &
g, HepJamesRandom &
e )
45 void resetEngine( HepRandomEngine * newEngine ) {
49 void resetEngine( HepRandomEngine & newEngine ) {
50 theEngine.reset( &newEngine, do_nothing_deleter() );
53 bool ensureInitialized() {
65 defaults & theDefaults() {
86 theDefaults().resetEngine( algorithm );
91 theDefaults().resetEngine( algorithm );
99 return theDefaults().theEngine->flat();
104 theDefaults().theEngine->flatArray(size,vect);
113 std::cerr <<
"HepRandom::engine() called -- there is no assigned engine!\n";
114 return *theDefaults().theEngine.
get();
134 theDefaults().theEngine->setSeed(seed,lux);
139 return theDefaults().theEngine->getSeed();
144 theDefaults().theEngine->setSeeds(seeds,aux);
149 return theDefaults().theEngine->getSeeds();
154 if ((index >= 0) && (index < 215)) {
155 seeds[0] = seedTable[
index][0];
156 seeds[1] = seedTable[
index][1];
163 return theDefaults().theGenerator.
get();
168 return theDefaults().theEngine.
get();
178 theDefaults().theEngine->saveStatus( filename );
183 theDefaults().theEngine->restoreStatus( filename );
187 os << *getTheEngine();
192 is >> *getTheEngine();
206 theDefaults().theEngine->showStatus();
211 return static_cast<int>( theDefaults().ensureInitialized() );
virtual std::ostream & put(std::ostream &os) const
static const long * getTheSeeds()
static HepRandom * getTheGenerator()
std::shared_ptr< HepRandom > theGenerator
static void restoreEngineStatus(const char filename[]="Config.conf")
std::shared_ptr< HepRandomEngine > theEngine
static void setTheSeeds(const long *seeds, int aux=-1)
virtual std::istream & get(std::istream &is)
void flatArray(const int size, double *vect)
static void setTheSeed(long seed, int lux=3)
static HepRandomEngine * getTheEngine()
std::ostream & operator<<(std::ostream &os, const HepRandom &dist)
virtual std::string name() const
virtual HepRandomEngine & engine()
static void showEngineStatus()
static std::istream & restore(std::istream &is)
#define CLHEP_THREAD_LOCAL
static int createInstance()
static std::ostream & save(std::ostream &os)
static void saveEngineStatus(const char filename[]="Config.conf")
static std::ostream & saveStaticRandomStates(std::ostream &os)
static void setTheEngine(HepRandomEngine *theNewEngine)
static std::ostream & saveFullState(std::ostream &os)
std::istream & operator>>(std::istream &is, HepRandom &dist)
virtual double operator()()
virtual std::istream & get(std::istream &is)
static std::istream & restoreFullState(std::istream &is)
static void getTheTableSeeds(long *seeds, int index)
static std::istream & restoreStaticRandomStates(std::istream &is)