Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
CLHEP::HepRandom Class Reference

#include <Random.h>

+ Inheritance diagram for CLHEP::HepRandom:

Public Member Functions

 HepRandom ()
 
 HepRandom (long seed)
 
 HepRandom (HepRandomEngine &algorithm)
 
 HepRandom (HepRandomEngine *algorithm)
 
virtual ~HepRandom ()
 
double flat ()
 
void flatArray (const int size, double *vect)
 
double flat (HepRandomEngine *theNewEngine)
 
void flatArray (HepRandomEngine *theNewEngine, const int size, double *vect)
 
virtual double operator() ()
 
virtual std::string name () const
 
virtual HepRandomEngineengine ()
 
virtual std::ostream & put (std::ostream &os) const
 
virtual std::istream & get (std::istream &is)
 

Static Public Member Functions

static void setTheSeed (long seed, int lxr=3)
 
static long getTheSeed ()
 
static void setTheSeeds (const long *seeds, int aux=-1)
 
static const long * getTheSeeds ()
 
static void getTheTableSeeds (long *seeds, int index)
 
static HepRandomgetTheGenerator ()
 
static void setTheEngine (HepRandomEngine *theNewEngine)
 
static HepRandomEnginegetTheEngine ()
 
static void saveEngineStatus (const char filename[]="Config.conf")
 
static void restoreEngineStatus (const char filename[]="Config.conf")
 
static std::ostream & saveFullState (std::ostream &os)
 
static std::istream & restoreFullState (std::istream &is)
 
static std::ostream & saveDistState (std::ostream &os)
 
static std::istream & restoreDistState (std::istream &is)
 
static std::ostream & saveStaticRandomStates (std::ostream &os)
 
static std::istream & restoreStaticRandomStates (std::istream &is)
 
static void showEngineStatus ()
 
static int createInstance ()
 
static std::string distributionName ()
 

Static Protected Attributes

static const long seedTable [215][2]
 

Detailed Description

Constructor & Destructor Documentation

◆ HepRandom() [1/4]

CLHEP::HepRandom::HepRandom ( )

Definition at line 178 of file Random.cc.

179{ }

◆ HepRandom() [2/4]

CLHEP::HepRandom::HepRandom ( long  seed)

Definition at line 181 of file Random.cc.

182{
183 setTheSeed(seed);
184}
static void setTheSeed(long seed, int lxr=3)
Definition: Random.cc:234

◆ HepRandom() [3/4]

CLHEP::HepRandom::HepRandom ( HepRandomEngine algorithm)

Definition at line 186 of file Random.cc.

187{
188 theDefaults().resetEngine( algorithm );
189}

◆ HepRandom() [4/4]

CLHEP::HepRandom::HepRandom ( HepRandomEngine algorithm)

Definition at line 191 of file Random.cc.

192{
193 theDefaults().resetEngine( algorithm );
194}

◆ ~HepRandom()

CLHEP::HepRandom::~HepRandom ( )
virtual

Definition at line 196 of file Random.cc.

197{ }

Member Function Documentation

◆ createInstance()

int CLHEP::HepRandom::createInstance ( )
static

Definition at line 311 of file Random.cc.

312{
313 return static_cast<int>( theDefaults().ensureInitialized() );
314}

◆ distributionName()

static std::string CLHEP::HepRandom::distributionName ( )
inlinestatic

Definition at line 151 of file Random.h.

151{return "HepRandomEngine";}

◆ engine()

HepRandomEngine & CLHEP::HepRandom::engine ( )
virtual

Reimplemented in CLHEP::RandBinomial, CLHEP::RandBreitWigner, CLHEP::RandChiSquare, CLHEP::RandExponential, CLHEP::RandExpZiggurat, CLHEP::RandFlat, CLHEP::RandGamma, CLHEP::RandGauss, CLHEP::RandGaussQ, CLHEP::RandGaussZiggurat, CLHEP::RandGeneral, CLHEP::RandLandau, CLHEP::RandPoisson, CLHEP::RandPoissonQ, and CLHEP::RandStudentT.

Definition at line 214 of file Random.cc.

214 {
215 std::cerr << "HepRandom::engine() called -- there is no assigned engine!\n";
216 return *theDefaults().theEngine.get();
217}

◆ flat() [1/2]

double CLHEP::HepRandom::flat ( )

Definition at line 199 of file Random.cc.

200{
201 return theDefaults().theEngine->flat();
202}

Referenced by CLHEP::RandExponential::shoot().

◆ flat() [2/2]

double CLHEP::HepRandom::flat ( HepRandomEngine theNewEngine)
inline

◆ flatArray() [1/2]

void CLHEP::HepRandom::flatArray ( const int  size,
double *  vect 
)

Definition at line 204 of file Random.cc.

205{
206 theDefaults().theEngine->flatArray(size,vect);
207}

◆ flatArray() [2/2]

void CLHEP::HepRandom::flatArray ( HepRandomEngine theNewEngine,
const int  size,
double *  vect 
)
inline

◆ get()

◆ getTheEngine()

◆ getTheGenerator()

HepRandom * CLHEP::HepRandom::getTheGenerator ( )
static

Definition at line 263 of file Random.cc.

264{
265 return theDefaults().theGenerator.get();
266}

◆ getTheSeed()

long CLHEP::HepRandom::getTheSeed ( )
static

Definition at line 239 of file Random.cc.

240{
241 return theDefaults().theEngine->getSeed();
242}

◆ getTheSeeds()

const long * CLHEP::HepRandom::getTheSeeds ( )
static

Definition at line 249 of file Random.cc.

250{
251 return theDefaults().theEngine->getSeeds();
252}

◆ getTheTableSeeds()

void CLHEP::HepRandom::getTheTableSeeds ( long *  seeds,
int  index 
)
static

Definition at line 254 of file Random.cc.

255{
256 if ((index >= 0) && (index < 215)) {
257 seeds[0] = seedTable[index][0];
258 seeds[1] = seedTable[index][1];
259 }
260 else seeds = NULL;
261}
static const long seedTable[215][2]
Definition: Random.h:156

Referenced by CLHEP::HepJamesRandom::HepJamesRandom(), CLHEP::MTwistEngine::MTwistEngine(), CLHEP::RanecuEngine::RanecuEngine(), CLHEP::Ranlux64Engine::Ranlux64Engine(), CLHEP::RanluxEngine::RanluxEngine(), and CLHEP::RanecuEngine::setSeed().

◆ name()

◆ operator()()

◆ put()

◆ restoreDistState()

static std::istream & CLHEP::HepRandom::restoreDistState ( std::istream &  is)
inlinestatic

Definition at line 136 of file Random.h.

136{return is;}

◆ restoreEngineStatus()

void CLHEP::HepRandom::restoreEngineStatus ( const char  filename[] = "Config.conf")
static

Definition at line 283 of file Random.cc.

284{
285 theDefaults().theEngine->restoreStatus( filename );
286}

◆ restoreFullState()

std::istream & CLHEP::HepRandom::restoreFullState ( std::istream &  is)
static

Definition at line 293 of file Random.cc.

293 {
294 is >> *getTheEngine();
295 return is;
296}
static HepRandomEngine * getTheEngine()
Definition: Random.cc:268

Referenced by CLHEP::RandFlat::restoreFullState(), and CLHEP::RandGauss::restoreFullState().

◆ restoreStaticRandomStates()

std::istream & CLHEP::HepRandom::restoreStaticRandomStates ( std::istream &  is)
static

Definition at line 302 of file Random.cc.

302 {
304}
static std::istream & restore(std::istream &is)

◆ saveDistState()

static std::ostream & CLHEP::HepRandom::saveDistState ( std::ostream &  os)
inlinestatic

Definition at line 133 of file Random.h.

133{return os;}

◆ saveEngineStatus()

void CLHEP::HepRandom::saveEngineStatus ( const char  filename[] = "Config.conf")
static

Definition at line 278 of file Random.cc.

279{
280 theDefaults().theEngine->saveStatus( filename );
281}

Referenced by G4CascadeInterface::ApplyYourself(), G4HadronicProcess::PostStepDoIt(), and G4CascadeInterface::Propagate().

◆ saveFullState()

std::ostream & CLHEP::HepRandom::saveFullState ( std::ostream &  os)
static

Definition at line 288 of file Random.cc.

288 {
289 os << *getTheEngine();
290 return os;
291}

Referenced by G4EventManager::ProcessOneEvent(), CLHEP::RandFlat::saveFullState(), and CLHEP::RandGauss::saveFullState().

◆ saveStaticRandomStates()

std::ostream & CLHEP::HepRandom::saveStaticRandomStates ( std::ostream &  os)
static

Definition at line 298 of file Random.cc.

298 {
299 return StaticRandomStates::save(os);
300}
static std::ostream & save(std::ostream &os)

◆ setTheEngine()

void CLHEP::HepRandom::setTheEngine ( HepRandomEngine theNewEngine)
static

Definition at line 273 of file Random.cc.

274{
275 theDefaults().theEngine.reset( theNewEngine, do_nothing_deleter() );
276}

Referenced by CLHEP::StaticRandomStates::restore().

◆ setTheSeed()

void CLHEP::HepRandom::setTheSeed ( long  seed,
int  lxr = 3 
)
static

Definition at line 234 of file Random.cc.

235{
236 theDefaults().theEngine->setSeed(seed,lux);
237}

◆ setTheSeeds()

void CLHEP::HepRandom::setTheSeeds ( const long *  seeds,
int  aux = -1 
)
static

Definition at line 244 of file Random.cc.

245{
246 theDefaults().theEngine->setSeeds(seeds,aux);
247}

◆ showEngineStatus()

void CLHEP::HepRandom::showEngineStatus ( )
static

Definition at line 306 of file Random.cc.

307{
308 theDefaults().theEngine->showStatus();
309}

Member Data Documentation

◆ seedTable

const long CLHEP::HepRandom::seedTable
staticprotected

Definition at line 156 of file Random.h.


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