HepRandomEngine
is an abstract class defining the interface for each random engine. It
implements the getSeed() and getSeeds() methods which
return the initial
seed value and the initial array of seeds respectively. It defines seven
pure virtual functions:
flat(),
flatArray(),
setSeed(),
setSeeds(),
saveStatus(),
restoreStatus() and
showStatus(),
which are implemented by
the concrete random engines each one inheriting from this abstract class.
Many concrete random engines can be defined and added to the structure,
simply making them inheriting from HepRandomEngine
and definingf the six functions
flat(),
flatArray(),
setSeed(),
setSeeds(),
saveStatus(),
restoreStatus() and
showStatus() in such a way that flat() and
flatArray() return double random values ranging between
]0,1[.
All the random engines have a default seed value already set but they
can be instantiated with a different seed value set up by the user.
Author
Gabriele Cosmo
See also
Engines:
DRand48Engine ,
DualRand
HepJamesRandom
Hurd160Engine
Hurd288Engine
MTwistEngine
RandEngine
RanecuEngine
RanluxEngine
Ranlux64Engine
RanshiEngine
TripleRand
Distributions:
HepRandom,
RandBinomial
RandBreitWigner
RandChiSquare
RandExponential
RandFlat
RandGamma
RandGauss
RandGeneral
RandPoisson
RandStudentT
Declaration
#include "CLHEP/Random/RandomEngine.h"
class HepRandomEngine
Public Member Functions
- Constructor
- HepRandomEngine()
- Destructor
- virtual ~HepRandomEngine()
- Conversion operators
- virtual operator HepDouble()
- Returns same as flat()
- virtual operator HepFloat()
- Less precise flat, faster if possible
- virtual operator unsigned int()
- 32-bit int flat, faster if possible
- ==
- inline HepBoolean operator==(const HepRandomEngine& engine)
- Overloaded equality operator.
- !=
- inline HepBoolean operator!=(const HepRandomEngine& engine)
- Overloaded inequality operator.
- flat
- virtual HepDouble flat() = 0
- Should return a pseudo random number between 0 and 1,
excluding the end points.
- flatArray
- virtual void flatArray(const HepInt size, HepDouble* vect) = 0
- Fills an array vect of specified size with flat random values.
- getSeed
- long getSeed() const
- Gets the current seed.
- getSeeds
- const long* getSeeds() const
- Gets the current array of seeds.
- restoreStatus
- virtual void restoreStatus(const char filename[] = "Config.conf") = 0
- Should read from a file (specific to the instantiated engine in use)
and restore the last saved engine configuration.
- saveStatus
- virtual void saveStatus(const char filename[] = "Config.conf") const = 0
- Should save on a file specific to the instantiated engine in use
the current status.
- setSeed
- virtual void setSeed(long seed, HepInt) = 0
- Should initialise the status of the algorithm according to seed.
- setSeeds
- virtual void setSeeds(const long * seeds, HepInt) = 0
- Should initialise the status of the algorithm according to the zero
terminated array of seeds. It is allowed to ignore one or many seeds
in this array.
- showStatus
- virtual void showStatus() const = 0
- Should dump the current engine status on the screen.
04 May 1999
EVC