RanecuEngine


The algorithm originally written in FORTRAN77 as part of the MATHLIB HEP library.

The initialisation is carried out using a Multiplicative Congruential generator using formula constants of L'Ecuyer as described in "F.James, Comp. Phys. Comm. 60 (1990) 329-344".

Seeds are taken from a seed table given an index, the getSeed() method returns the current index in the seed table, the getSeeds() method returns a pointer to the couple of seeds stored in the local table of seeds at the current index.

Author

Gabriele Cosmo

See also

Engines: HepRandomEngine, DRand48Engine , DualRand HepJamesRandom Hurd160Engine Hurd288Engine MTwistEngine RandEngine RanluxEngine Ranlux64Engine RanshiEngine TripleRand

Distributions: HepRandom, RandBinomial RandBreitWigner RandChiSquare RandExponential RandFlat RandGamma RandGauss RandGeneral RandPoisson RandStudentT

Declaration

#include "CLHEP/Random/RanecuEngine.h"

class RanecuEngine : public HepRandomEngine

Public Member Functions

Constructors
RanecuEngine()
RanecuEngine(HepInt index)
RanecuEngine(std::istream& is)
Copy constructor
RanecuEngine(const RanecuEngine &p)
Destructor
virtual ~RanecuEngine()
Conversion operator
operator unsigned int()
32-bit int flat, faster in this case
=
RanecuEngine & operator = (const RanecuEngine &p)
Overloaded assignment operator, to retrieve the engine status.
flat
HepDouble flat()
Returns a pseudo random number between 0 and 1, (excluding the end points).
flatArray
void flatArray (const HepInt size, HepDouble* vect)
Fills the array vect of specified size with flat random values.
restoreStatus
void restoreStatus(const char filename[] = "Ranecu.conf")
Reads from file Ranecu.conf the last saved engine status and restores it.
saveStatus
void saveStatus(const char filename[] = "Ranecu.conf") const
Saves on file Ranecu.conf the current engine status.
setIndex
void setIndex (long index)
Sets the state of the algorithm according to index, the position in the local table of seeds.
setSeed
void setSeed (long index, HepInt dum=0)
Resets the state of the algorithm according to index, the position in the static table of seeds stored in HepRandom.
setSeeds
void setSeeds (const long* seeds, HepInt index)
Sets the state of the algorithm according to the array of seeds seeds containing two seed values to be stored in the local table at index position.
showStatus
void showStatus() const
Dumps the engine status on the screen.

Non-Member Functions

<<
std::ostream & operator<< (std::ostream & os, const RanecuEngine & e)
Output to a stream.
>>
std::istream & operator>> (std::istream & is, RanecuEngine & e)
Input from a stream.

Example

CLHEP/test/testRandom.cc


04 May 1999
EVC