Class name:
HepJamesRandom
Category: HEPRandom
Documentation:
HepJamesRandom implements the algorithm by
Marsaglia-Zaman RANMAR described in "F.James,
Comp.Phys.Comm. 60 (1990) 329" and implemented in
FORTRAN77 as part of the MATHLIB HEP library for
pseudo-random numbers generation.
This is the default random engine invoked by each
distribution, unless the user sets a different one.
Export Control: Public
Cardinality: 1..n
Hierarchy:
Superclasses: HepRandomEngine
Public Interface:
Operations:
flat
setSeed
setSeeds
flatArray
saveStatus
restoreStatus
showStatus
Private Interface:
Attributes:
c : double
cd : double
cm : double
pi97 : double
pj97 : double
Has-A Relationships:
double u
State machine: No
Concurrency: Guarded
Space complexity:
Persistence: Transient
Operation name:
flat
Public member of: HepJamesRandom
Return Class: double
Documentation:
Returns a pseudo-random number between 0 and 1.
Concurrency: Sequential
Operation name:
setSeed
Public member of: HepJamesRandom
Return Class: void
Arguments:
long seed
int dummy
Documentation:
Sets the state of the algorithm according to seed.
Concurrency: Sequential
Operation name:
setSeeds
Public member of: HepJamesRandom
Return Class: void
Arguments:
const long* seeds
int dummy
Documentation:
Sets the state of the algorithm according to the zero
terminated array of seeds.
Concurrency: Sequential
Operation name:
flatArray
Public member of: HepJamesRandom
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills the array "vect" of specified "size" with flat
random values.
Concurrency: Sequential
Operation name:
saveStatus
Public member of: HepJamesRandom
Return Class: void
Documentation:
Saves on file JamesRand.conf the current engine status.
Qualification: const
Concurrency: Sequential
Operation name:
restoreStatus
Public member of: HepJamesRandom
Return Class: void
Documentation:
Reads from file JamesRand.conf the last saved engine
status and restores it.
Concurrency: Sequential
Operation name:
showStatus
Public member of: HepJamesRandom
Return Class: void
Documentation:
Dumps the engine status on the screen.
Qualification: const
Concurrency: Sequential
Class name:
DRand48Engine
Category: HEPRandom
Documentation:
Random engine using drand48() and srand48() functions
from C standard library to implement the flat() basic
distribution and for setting seeds.
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandomEngine
Public Interface:
Operations:
setSeed
flat
setSeeds
flatArray
saveStatus
restoreStatus
showStatus
State machine: No
Concurrency: Guarded
Persistence: Transient
Operation name:
setSeed
Public member of: DRand48Engine
Return Class: void
Arguments:
long seed
int dummy
Documentation:
Sets the state of the algorithm according to seed.
Concurrency: Sequential
Operation name:
flat
Public member of: DRand48Engine
Return Class: double
Documentation:
It returns a pseudo-random number between 0 and 1,
according to the standard stdlib random function
drand48() but excluding the end points.
Concurrency: Sequential
Operation name:
setSeeds
Public member of: DRand48Engine
Return Class: void
Arguments:
const long* seeds
int dummy
Documentation:
Sets the state of the algorithm according to the zero
terminated array of seeds. Only the first seed is used.
Concurrency: Sequential
Operation name:
flatArray
Public member of: DRand48Engine
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills the array "vect" of specified "size" with flat
random values.
Concurrency: Sequential
Operation name:
saveStatus
Public member of: DRand48Engine
Return Class: void
Documentation:
Saves on file DRand48.conf the current engine status.
Qualification: const
Concurrency: Sequential
Operation name:
restoreStatus
Public member of: DRand48Engine
Return Class: void
Documentation:
Reads from file DRand48.conf the last saved engine
status and restores it.
Concurrency: Sequential
Operation name:
showStatus
Public member of: DRand48Engine
Return Class: void
Documentation:
Dumps the engine status on the screen.
Qualification: const
Concurrency: Sequential
Class name:
RandEngine
Category: HEPRandom
Documentation:
Random engine using rand() and srand() functions from C
standard library to implement the flat() basic
distribution and for setting seeds.
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandomEngine
Public Interface:
Operations:
flat
setSeed
setSeeds
flatArray
saveStatus
restoreStatus
showStatus
Private Interface:
Attributes:
mx : const double
seq : long
The number of invocations of
flat() given a status.
State machine: No
Concurrency: Guarded
Persistence: Transient
Operation name:
flat
Public member of: RandEngine
Return Class: double
Documentation:
It returns a pseudo-random number between 0 and 1,
according to the standard stdlib random function
rand(), but excluding the end points.
Concurrency: Sequential
Operation name:
setSeed
Public member of: RandEngine
Return Class: void
Arguments:
long seed
int dummy
Documentation:
Sets the state of the algorithm according to seed.
Concurrency: Sequential
Operation name:
setSeeds
Public member of: RandEngine
Return Class: void
Arguments:
const long* seeds
int dummy
Documentation:
Sets the state of the algorithm according to the zero
terminated array of seeds. Only the first seed is used.
Concurrency: Sequential
Operation name:
flatArray
Public member of: RandEngine
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills the array "vect" of specified "size" with flat
random values.
Concurrency: Sequential
Operation name:
saveStatus
Public member of: RandEngine
Return Class: void
Documentation:
Saves on file Rand.conf the current engine status.
Qualification: const
Concurrency: Sequential
Operation name:
restoreStatus
Public member of: RandEngine
Return Class: void
Documentation:
Reads from file Rand.conf the last saved engine status
and restores it.
Concurrency: Sequential
Operation name:
showStatus
Public member of: RandEngine
Return Class: void
Documentation:
Dumps the engine status on the screen.
Qualification: const
Concurrency: Sequential
Class name:
RanluxEngine
Category: HEPRandom
Documentation:
The algorithm for this random engine has been taken
from the original implementation in FORTRAN77 by Fred
James 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".
Luxury level is set in the same way as the original
FORTRAN routine.
level 0 - (p=24): equivalent to the original RCARRY
of Marsaglia and Zaman, very long
period, but fails many tests.
level 1 - (p=48): considerable improvement in quality
over level 0, now passes the gap test,
but still fails spectral test.
level 2 - (p=97): passes all known tests, but
theoretically still defective.
level 3 - (p=223): DEFAULT VALUE. Any theoretically
possible correlations have very small
chance of being observed.
level 4 - (p=389): highest possible luxury, all 24 bits
chaotic.
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandomEngine
Public Interface:
Operations:
flat
setSeed
setSeeds
getLuxury
flatArray
saveStatus
restoreStatus
showStatus
Private Interface:
Attributes:
nskip : int
i_lag : int
j_lag : int
carry : float
count24 : int
int_modulus : const int
mantissa_bit_24 : const float
mantissa_bit_12 : const float
luxury : int
Has-A Relationships:
float float_seed_table
State machine: No
Concurrency: Guarded
Persistence: Transient
Operation name:
flat
Public member of: RanluxEngine
Return Class: double
Documentation:
It returns a pseudo-random number between 0 and 1,
excluding the end points.
Concurrency: Sequential
Operation name:
setSeed
Public member of: RanluxEngine
Return Class: void
Arguments:
long seed
int lux
Documentation:
Sets the state of the algorithm according to seed and
fixing the luxury level.
Concurrency: Sequential
Operation name:
setSeeds
Public member of: RanluxEngine
Return Class: void
Arguments:
const long* seeds
int lux
Documentation:
Sets the state of the algorithm according to the zero
terminated array of seeds.
Concurrency: Sequential
Operation name:
getLuxury
Public member of: RanluxEngine
Return Class: int
Documentation:
Returns the luxury-level value of the engine.
Qualification: const
Concurrency: Sequential
Operation name:
flatArray
Public member of: RanluxEngine
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills the array "vect" of specified "size" with flat
random values.
Concurrency: Sequential
Operation name:
saveStatus
Public member of: RanluxEngine
Return Class: void
Documentation:
Saves on file Ranlux.conf the current engine status.
Qualification: const
Concurrency: Sequential
Operation name:
restoreStatus
Public member of: RanluxEngine
Return Class: void
Documentation:
Reads from file Ranlux.conf the last saved engine
status and restores it.
Concurrency: Sequential
Operation name:
showStatus
Public member of: RanluxEngine
Return Class: void
Documentation:
Dumps the engine status on the screen.
Qualification: const
Concurrency: Sequential
Class name:
RanecuEngine
Category: HEPRandom
Documentation:
RANECU Random Engine - algorithm originally written in
FORTRAN 77 as part of the MATHLIB HEP library.
Seeds are taken from a seed table given an index, the
getSeed() method returns the current index in the
table, while getSeeds() method returns a pointer to the
local seed table at the current index.
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandomEngine
Public Interface:
Operations:
flat
setSeed
setSeeds
saveStatus
showStatus
flatArray
restoreStatus
Protected Interface:
Attributes:
ecuyer_a : const int
ecuyer_b : const int
ecuyer_c : const int
ecuyer_d : const int
ecuyer_e : const int
ecuyer_f : const int
shift1 : const int
shift2 : const int
prec : const double
Private Interface:
Attributes:
maxSeq : const int
Maximum number of seed sequences
in SeedTable.
seq : int
Has-A Relationships:
long table
The local SeedTable.
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
flat
Public member of: RanecuEngine
Return Class: double
Documentation:
It returns a pseudo-random number between 0 and 1,
excluding the end points.
Concurrency: Sequential
Operation name:
setSeed
Public member of: RanecuEngine
Return Class: void
Arguments:
long index
int dum
Documentation:
Resets the state of the algorithm according to "index",
the position in the static table of seeds stored in
HepRandom.
Concurrency: Sequential
Operation name:
setSeeds
Public member of: RanecuEngine
Return Class: void
Arguments:
const long* seeds
int index
Documentation:
Sets the state of the algorithm according to the array
of seeds "seeds" containing two seed values to be
stored in the local SeedTable at "index" position.
Concurrency: Sequential
Operation name:
saveStatus
Public member of: RanecuEngine
Return Class: void
Documentation:
Saves on file Ranecu.conf the current engine status.
Qualification: const
Concurrency: Sequential
Operation name:
showStatus
Public member of: RanecuEngine
Return Class: void
Documentation:
Dumps the engine status on the screen.
Qualification: const
Concurrency: Sequential
Operation name:
flatArray
Public member of: RanecuEngine
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills an array "vect" of specified "size" with flat
random values.
Concurrency: Sequential
Operation name:
restoreStatus
Public member of: RanecuEngine
Return Class: void
Documentation:
Reads from file Ranecu.conf the last saved engine
status and restores it.
Concurrency: Sequential
Class name:
HepRandomEngine
Category: HEPRandom
Documentation:
Is the 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
7 pure virtual functions, 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
this class and defining the 7 functions (here pure
virtual), 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. The seed can
be changed using a static method defined in HepRandom.
Export Control: Public
Cardinality: 1..n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
flat
setSeed
setSeeds
getSeed
getSeeds
flatArray
saveStatus
showStatus
restoreStatus
Protected Interface:
Attributes:
theSeeds : const long
Pointer to the current array of
seeds.
theSeed : long
The current seed value.
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
flat
Public member of: HepRandomEngine
Return Class: double
Documentation:
Should return a pseudo random number between 0 and 1
(excluding the end points).
Qualification: pure virtual
Concurrency: Sequential
Operation name:
setSeed
Public member of: HepRandomEngine
Return Class: void
Arguments:
long seed
int aux
Documentation:
Should set the state of the algorithm according to
seed.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
setSeeds
Public member of: HepRandomEngine
Return Class: void
Arguments:
const long* seeds
int aux
Documentation:
Should set the state of the algorithm according to the
zero terminated array of seeds. It is allowed to ignore
one or many seeds in this array.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
getSeed
Public member of: HepRandomEngine
Return Class: long
Documentation:
Gets the current seed.
Qualification: const
Concurrency: Sequential
Operation name:
getSeeds
Public member of: HepRandomEngine
Return Class: const long*
Documentation:
Gets the current array of seeds.
Qualification: const
Concurrency: Sequential
Operation name:
flatArray
Public member of: HepRandomEngine
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills an array "vect" of specified "size" with flat
random values.
Qualification: pure virtual
Concurrency: Sequential
Operation name:
saveStatus
Public member of: HepRandomEngine
Return Class: void
Documentation:
Should save on a file specific to the instantiated
engine in use, the current status.
Qualification: pure virtual const
Concurrency: Sequential
Operation name:
showStatus
Public member of: HepRandomEngine
Return Class: void
Documentation:
Should dump the current engine status on the screen.
Qualification: pure virtual const
Concurrency: Sequential
Operation name:
restoreStatus
Public member of: HepRandomEngine
Return Class: void
Documentation:
Should read from a file (specific to the instantiated
engine in use) and restore the last engine
configuration.
Qualification: pure virtual
Concurrency: Sequential
Class name:
HepRandom
Category: HEPRandom
Documentation:
An object of this class is instantiated by default
within the HEP random module and uses an instantiated
HepJamesRandom engine as default algorithm for
pseudo-random number generation. HepRandom defines a
static private data member theGenerator and a set of
static inlined methods to manipulate it. By means of
theGenerator the user can change the underlying engine
algorithm, get and set the seeds and use any kind of
defined random distribution.
Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: none
Public Interface:
Operations:
flat
setTheEngine
getFlag
setFlag
getOldMean
setOldMean
getVal
setVal
getPStatus
setPStatus
getTheGenerator
getTheEngine
setTheSeed
setTheSeeds
getTheSeed
getTheSeeds
getTheTableSeeds
flatArray
operator()
flat
flatArray
getMaxMean
saveEngineStatus
restoreEngineStatus
showEngineStatus
createInstance
Protected Interface:
Attributes:
nextGauss : double
For Gaussian random numbers which
are generated two at a time.
set : boolean
For Gaussian random numbers which
are generated two at a time.
oldm : double
For Poisson method.
meanMax : const double
Max mean value allowed for
Poisson distribution.
Has-A Relationships:
HepRandomEngine theEngine
The corresponding algorithm.
const long seedTable
The static table of seeds.
double status
For poisson method to re-initialize if
mean is the same as the previous.
Private Interface:
Attributes:
deleteEngine : boolean
True if the engine should be
deleted on destruction.
isActive : int
Flag nottifying singleton
instance.
Has-A Relationships:
HepRandom theGenerator
The static instance of the shared
generator.
Operations:
setSeed
setSeeds
getEngine
setEngine
getSeed
getSeeds
saveStatus
restoreStatus
showStatus
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
setSeed
Private member of: HepRandom
Return Class: void
Arguments:
long seed
int lux
Documentation:
(Re)Initializes the generator with a seed.
Concurrency: Sequential
Operation name:
setSeeds
Private member of: HepRandom
Return Class: void
Arguments:
const long* seeds
int aux
Documentation:
(Re)Initializes the generator with a list of seeds.
Concurrency: Sequential
Operation name:
flat
Public member of: HepRandom
Return Class: double
Documentation:
Flat in interval ]0,1[.
Concurrency: Sequential
Operation name:
getEngine
Private member of: HepRandom
Return Class: HepRandomEngine*
Documentation:
Returns a pointer to the underlying algorithm object.
Qualification: const
Concurrency: Sequential
Operation name:
setEngine
Private member of: HepRandom
Return Class: void
Arguments:
HepRandomEngine* engine
Documentation:
Sets the underlying algorithm object.
Concurrency: Sequential
Operation name:
setTheEngine
Public member of: HepRandom
Return Class: void
Arguments:
HepRandomEngine* theNewEngine
Documentation:
The Static definition for SetEngine().
Qualification: static
Concurrency: Guarded
Operation name:
getFlag
Public member of: HepRandom
Return Class: boolean
Concurrency: Sequential
Operation name:
setFlag
Public member of: HepRandom
Return Class: void
Arguments:
boolean val
Concurrency: Sequential
Operation name:
getOldMean
Public member of: HepRandom
Return Class: double
Concurrency: Sequential
Operation name:
setOldMean
Public member of: HepRandom
Return Class: void
Arguments:
double val
Concurrency: Sequential
Operation name:
getVal
Public member of: HepRandom
Return Class: double
Concurrency: Sequential
Operation name:
setVal
Public member of: HepRandom
Return Class: void
Arguments:
double nextVal
Concurrency: Sequential
Operation name:
getPStatus
Public member of: HepRandom
Return Class: double*
Concurrency: Sequential
Operation name:
setPStatus
Public member of: HepRandom
Return Class: void
Arguments:
double sq
double alxm
double g
Concurrency: Sequential
Operation name:
getSeed
Private member of: HepRandom
Return Class: long
Documentation:
Gets the current seed of the current generator.
Qualification: const
Concurrency: Sequential
Operation name:
getSeeds
Private member of: HepRandom
Return Class: const long*
Documentation:
Gets the current array of seeds of the current
generator.
Qualification: const
Concurrency: Sequential
Operation name:
getTheGenerator
Public member of: HepRandom
Return Class: HepRandom*
Documentation:
Returns the current static generator.
Qualification: static
Concurrency: Sequential
Operation name:
getTheEngine
Public member of: HepRandom
Return Class: HepRandomEngine*
Documentation:
The static definition for getEngine().
Qualification: static
Concurrency: Sequential
Operation name:
setTheSeed
Public member of: HepRandom
Return Class: void
Arguments:
long seed
int lux=23
Documentation:
The static definition for setSeed().
Qualification: static
Concurrency: Sequential
Operation name:
setTheSeeds
Public member of: HepRandom
Return Class: void
Arguments:
const long* seeds
int aux=23
Documentation:
The static definition for setSeeds().
Qualification: static
Concurrency: Sequential
Operation name:
getTheSeed
Public member of: HepRandom
Return Class: long
Documentation:
The static definition for getSeed().
Qualification: static
Concurrency: Sequential
Operation name:
getTheSeeds
Public member of: HepRandom
Return Class: const long*
Documentation:
The static definition for getSeeds().
Qualification: static
Concurrency: Sequential
Operation name:
getTheTableSeeds
Public member of: HepRandom
Return Class: void
Arguments:
long* seeds
int index
Documentation:
Gets the array of seeds in the static seedTable at
"index" position.
Qualification: static
Concurrency: Sequential
Operation name:
flatArray
Public member of: HepRandom
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Fills an array "vect" of specified "size" with flat
random values.
Concurrency: Sequential
Operation name:
operator()
Public member of: HepRandom
Return Class: double
Documentation:
To get a flat random number using the operator ().
Qualification: virtual
Concurrency: Sequential
Operation name:
flat
Public member of: HepRandom
Return Class: double
Arguments:
HepRandomEngine* theNewEngine
Documentation:
Returns a flat value, given a defined Random Engine.
Concurrency: Sequential
Operation name:
flatArray
Public member of: HepRandom
Return Class: void
Arguments:
HepRandomEngine* theNewEngine
const int size
double* vect
Documentation:
Fills "vect" array of flat random values, given the
size and a defined random engine.
Concurrency: Sequential
Operation name:
getMaxMean
Public member of: HepRandom
Return Class: double
Concurrency: Sequential
Operation name:
saveEngineStatus
Public member of: HepRandom
Return Class: void
Documentation:
The static definition for saveStatus().
Qualification: static
Concurrency: Sequential
Operation name:
restoreEngineStatus
Public member of: HepRandom
Return Class: void
Documentation:
The static definition for restoreStatus().
Qualification: static
Concurrency: Sequential
Operation name:
showEngineStatus
Public member of: HepRandom
Return Class: void
Documentation:
The static definition for showStatus().
Qualification: static
Concurrency: Sequential
Operation name:
saveStatus
Private member of: HepRandom
Return Class: void
Documentation:
Saves to file the current status of the current engine.
Qualification: const
Concurrency: Sequential
Operation name:
restoreStatus
Private member of: HepRandom
Return Class: void
Documentation:
Restores a saved status (if any) for the current
engine.
Concurrency: Sequential
Operation name:
showStatus
Private member of: HepRandom
Return Class: void
Documentation:
Dumps the current engine status on the screen.
Qualification: const
Concurrency: Sequential
Operation name:
createInstance
Public member of: HepRandom
Return Class: int
Documentation:
Create a single instance of the generator.
Qualification: static
Concurrency: Sequential
Class name:
RandFlat
Category: HEPRandom
Documentation:
Utility class for flat random numbers generation. It
provides static methods for shooting flat random
numbers (double or integers) and for filling arrays of
specified size.
It is possible to instantiate RandFlat objects to skeep
the static generator mechanism, passing to the
constructor a local engine as argument and using the
non-static methods fire(). If the engine is passed by
pointer the corresponding engine object will be deleted
by the RandFlat destructor, if the engine is passed by
reference, it will not be deleted by the RandFlat
destructor.
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandom
Implementation Uses:
HepRandom theGenerator
Public Interface:
Operations:
shoot
shoot
shoot
shootInt
shootInt
shootArray
shoot
shootArray
shoot
shoot
shootInt
shootInt
fire
fireArray
fire
fire
fireInt
fireInt
shootBit
fireBit
shootBit
Private Interface:
Attributes:
deleteEngine : boolean
Flag to specify deletion or not
of the local engine object.
MSB : const unsigned long
In MSB, the most significant bit
of the integer random number
generated by shootBits() is set.
MSBBits : const int
randomInt : unsigned long
firstUnusedBit : unsigned long
staticRandomInt : unsigned long
staticFirstUnusedBit : unsigned long
Has-A Relationships:
HepRandomEngine localEngine
Pointer to the local engine.
Operations:
shootBits
shootBits
fireBits
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
shoot
Public member of: RandFlat
Return Class: double
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandFlat
Return Class: double
Arguments:
double width
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandFlat
Return Class: double
Arguments:
double a
double b
Qualification: static
Concurrency: Sequential
Operation name:
shootInt
Public member of: RandFlat
Return Class: long
Arguments:
long n
Qualification: static
Concurrency: Sequential
Operation name:
shootInt
Public member of: RandFlat
Return Class: long
Arguments:
long m
long n
Qualification: static
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandFlat
Return Class: void
Arguments:
const int size
double* vect
Documentation:
Shoots an array "vect" of size "size", filled of flat
double random values.
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandFlat
Return Class: double
Arguments:
HepRandomEngine* anEngine
Qualification: static
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandFlat
Return Class: void
Arguments:
HepRandomEngine* anEngine
const int size
double* vect
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandFlat
Return Class: double
Arguments:
HepRandomEngine* anEngine
double width
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandFlat
Return Class: double
Arguments:
HepRandomEngine* anEngine
double a
double b
Qualification: static
Concurrency: Sequential
Operation name:
shootInt
Public member of: RandFlat
Return Class: long
Arguments:
HepRandomEngine* anEngine
long n
Qualification: static
Concurrency: Sequential
Operation name:
shootInt
Public member of: RandFlat
Return Class: long
Arguments:
HepRandomEngine* anEngine
long m
long n
Qualification: static
Concurrency: Sequential
Operation name:
fire
Public member of: RandFlat
Return Class: double
Concurrency: Sequential
Operation name:
fireArray
Public member of: RandFlat
Return Class: void
Arguments:
const int size
double* vect
Concurrency: Sequential
Operation name:
fire
Public member of: RandFlat
Return Class: double
Arguments:
double width
Concurrency: Sequential
Operation name:
fire
Public member of: RandFlat
Return Class: double
Arguments:
double a
double b
Concurrency: Sequential
Operation name:
fireInt
Public member of: RandFlat
Return Class: long
Arguments:
long n
Concurrency: Sequential
Operation name:
fireInt
Public member of: RandFlat
Return Class: long
Arguments:
long m
long n
Concurrency: Sequential
Operation name:
shootBit
Public member of: RandFlat
Return Class: int
Documentation:
Method to shoot a single bit from a given random value.
Qualification: static
Concurrency: Sequential
Operation name:
fireBit
Public member of: RandFlat
Return Class: int
Documentation:
Method to shoot a single bit from a given random value.
Concurrency: Sequential
Operation name:
shootBit
Public member of: RandFlat
Return Class: int
Arguments:
HepRandomEngine* anEngine
Documentation:
Method to shoot a single bit from a given random value.
Qualification: static
Concurrency: Sequential
Operation name:
shootBits
Private member of: RandFlat
Return Class: void
Documentation:
It generates an integer random number which is used by
shootBit(). The number is stored in randomInt and
firstUnusedBit.
Qualification: static
Concurrency: Sequential
Operation name:
shootBits
Private member of: RandFlat
Return Class: void
Arguments:
HepRandomEngine* anEngine
Qualification: static
Concurrency: Sequential
Operation name:
fireBits
Private member of: RandFlat
Return Class: void
Concurrency: Sequential
Class name:
RandExponential
Category: HEPRandom
Documentation:
Utility class defining exponential random numbers
distribution. It provides static methods for shooting
numbers according to an exponential distribution, given
a mean m.
It is possible to instantiate RandExponential objects
to skeep the static generator mechanism, passing to the
constructor a local engine as argument and using the
non-static methods fire(). If the engine is passed by
pointer the corresponding engine object will be deleted
by the RandExponential destructor, if the engine is
passed by reference, it will not be deleted by the
RandExponential destructor.
Default mean is used for operator()().
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandom
Implementation Uses:
HepRandom theGenerator
Public Interface:
Operations:
shoot
shoot
shoot
shoot
fire
fire
shootArray
fireArray
shootArray
operator()
Private Interface:
Attributes:
deleteEngine : boolean
Flag to specify the deletion or
not of the local engine object.
Has-A Relationships:
HepRandomEngine localEngine
Pointer to the local engine.
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
shoot
Public member of: RandExponential
Return Class: double
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandExponential
Return Class: double
Arguments:
double mean
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandExponential
Return Class: double
Arguments:
HepRandomEngine* anEngine
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandExponential
Return Class: double
Arguments:
HepRandomEngine* anEngine
double mean
Qualification: static
Concurrency: Sequential
Operation name:
fire
Public member of: RandExponential
Return Class: double
Concurrency: Sequential
Operation name:
fire
Public member of: RandExponential
Return Class: double
Arguments:
double mean
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandExponential
Return Class: void
Arguments:
const int size
double* vect
double mean =1.0
Qualification: static
Concurrency: Sequential
Operation name:
fireArray
Public member of: RandExponential
Return Class: void
Arguments:
const int size
double* vect
double mean =1.0
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandExponential
Return Class: void
Arguments:
HepRandomEngine* anEngine
const int size
double* vect
double mean =1.0
Qualification: static
Concurrency: Sequential
Operation name:
operator()
Public member of: RandExponential
Return Class: double
Concurrency: Sequential
Class name:
RandGauss
Category: HEPRandom
Documentation:
Class defining Gauss random numbers distribution. It
provides static methods to shoot random numbers
according to a Gaussian distribution given a mean or
specifying also a variance (default = 1).
Gaussian random numbers are generated two at a time, so
every other time shoot is called the number returned is
the one generated the time before.
It is possible to instantiate RandGauss objects to
skeep the static generator mechanism, passing to the
constructor a local engine as argument and using the
non-static methods fire(). If the engine is passed by
pointer the corresponding engine object will be deleted
by the RandGauss destructor, if the engine is passed by
reference, it will not be deleted by the RandGauss
destructor.
Default values are used for operator()().
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandom
Implementation Uses:
HepRandom theGenerator
Public Interface:
Operations:
shoot
shoot
getFlag
setFlag
getVal
setVal
shoot
shoot
fire
fire
shootArray
shootArray
fireArray
operator()
Private Interface:
Attributes:
deleteEngine : boolean
Flag to specify the deletion or
not of the local engine object.
set : boolean
nextGauss : double
Has-A Relationships:
HepRandomEngine localEngine
Pointer to the local engine.
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
shoot
Public member of: RandGauss
Return Class: double
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandGauss
Return Class: double
Arguments:
double mean
double stdDev
Qualification: static
Concurrency: Sequential
Operation name:
getFlag
Public member of: RandGauss
Return Class: boolean
Qualification: static
Concurrency: Sequential
Operation name:
setFlag
Public member of: RandGauss
Return Class: void
Arguments:
boolean val
Concurrency: Sequential
Operation name:
getVal
Public member of: RandGauss
Return Class: double
Qualification: static
Concurrency: Sequential
Operation name:
setVal
Public member of: RandGauss
Return Class: void
Arguments:
double nextVal
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandGauss
Return Class: double
Arguments:
HepRandomEngine* anEngine
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandGauss
Return Class: double
Arguments:
HepRandomEngine* anEngine
double mean
double stdDev
Qualification: static
Concurrency: Sequential
Operation name:
fire
Public member of: RandGauss
Return Class: double
Concurrency: Sequential
Operation name:
fire
Public member of: RandGauss
Return Class: double
Arguments:
double mean
double stdDev
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandGauss
Return Class: void
Arguments:
const int size
double* vect
double mean =0.0
double stdDev =1.0
Qualification: static
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandGauss
Return Class: void
Arguments:
HepRandomEngine* anEngine
const int size
double* vect
double mean =0.0
double stdDev =1.0
Qualification: static
Concurrency: Sequential
Operation name:
fireArray
Public member of: RandGauss
Return Class: void
Arguments:
const int size
double* vect
double mean =0.0
double stdDev =1.0
Concurrency: Sequential
Operation name:
operator()
Public member of: RandGauss
Return Class: double
Concurrency: Sequential
Class name:
RandBreitWigner
Category: HEPRandom
Documentation:
Utility class defining the Breit-Wigner random numbers
distribution. It provides static methods to shoot
random numbers according to the Breit-Wigner
distribution algorithm.
It is possible to instantiate RandBreitWigner objects
to skeep the static generator mechanism, passing to the
constructor a local engine as argument and using the
non-static methods fire(). If the engine is passed by
pointer the corresponding engine object will be deleted
by the RandBreitWigner destructor, if the engine is
passed by reference, it will not be deleted by the
RandBreitWigner destructor.
Plain algorithm is used for shootArray() and
fireArrary().
Plain algorithm with default values is used for
operator()().
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandom
Implementation Uses:
HepRandom theGenerator
Public Interface:
Operations:
shoot
shoot
shootM2
shootM2
shoot
shoot
shootM2
shootM2
fire
fire
fireM2
fireM2
shootArray
shootArray
fireArray
operator()
Private Interface:
Attributes:
deleteEngine : boolean
Flag to specify the deletion or
not of the local engine object.
Has-A Relationships:
HepRandomEngine localEngine
Pointer to the local engine.
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
shoot
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
double c
Qualification: static
Concurrency: Sequential
Operation name:
shootM2
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
Qualification: static
Concurrency: Sequential
Operation name:
shootM2
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
double c
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandBreitWigner
Return Class: double
Arguments:
HepRandomEngine* anEngine
double a
double b
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandBreitWigner
Return Class: double
Arguments:
HepRandomEngine* anEngine
double a
double b
double c
Qualification: static
Concurrency: Sequential
Operation name:
shootM2
Public member of: RandBreitWigner
Return Class: double
Arguments:
HepRandomEngine* anEngine
double a
double b
Qualification: static
Concurrency: Sequential
Operation name:
shootM2
Public member of: RandBreitWigner
Return Class: double
Arguments:
HepRandomEngine* anEngine
double a
double b
double c
Qualification: static
Concurrency: Sequential
Operation name:
fire
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
Concurrency: Sequential
Operation name:
fire
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
double c
Concurrency: Sequential
Operation name:
fireM2
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
Concurrency: Sequential
Operation name:
fireM2
Public member of: RandBreitWigner
Return Class: double
Arguments:
double a
double b
double c
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandBreitWigner
Return Class: void
Arguments:
const int size
double* vect
double a =1.0
double b =0.2
double c =1.0
Qualification: static
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandBreitWigner
Return Class: void
Arguments:
HepRandomEngine* anEngine
const int size
double* vect
double a =1.0
double b =0.2
double c =1.0
Qualification: static
Concurrency: Sequential
Operation name:
fireArray
Public member of: RandBreitWigner
Return Class: void
Arguments:
const int size
double* vect
double a =1.0
double b =0.2
double c =1.0
Concurrency: Sequential
Operation name:
operator()
Public member of: RandBreitWigner
Return Class: double
Concurrency: Sequential
Class name:
RandPoisson
Category: HEPRandom
Documentation:
Utility class defining the Poisson random numbers
distribution. It provides static methods to shoot
random numbers according to a Poisson distribution,
given a mean. The algorithm has been taken from "W. H.
Press et al., Numerical Recipes in C, Second Edition".
It is possible to instantiate RandPoisson objects to
skeep the static generator mechanism, passing to the
constructor a local engine as argument and using the
non-static methods fire(). If the engine is passed by
pointer the corresponding engine object will be deleted
by the RandPoisson destructor, if the engine is passed
by reference, it will not be deleted by the RandPoisson
destructor.
Default mean value is set to 1. Default mean value
used for operator()().
Export Control: Public
Cardinality: 0..n
Hierarchy:
Superclasses: HepRandom
Implementation Uses:
HepRandom theGenerator
Public Interface:
Operations:
shoot
shoot
fire
shootArray
shootArray
fireArray
operator()
Protected Interface:
Operations:
getOldMean
setOldMean
getStatus
setStatus
getMaxMean
Private Interface:
Attributes:
deleteEngine : boolean
Flag to specify the deletion or
not of the local engine object.
oldm : double
meanMax : const double
Maximum mean value allowed.
Has-A Relationships:
HepRandomEngine localEngine
Pointer to the local engine.
double status
State machine: No
Concurrency: Sequential
Persistence: Transient
Operation name:
shoot
Public member of: RandPoisson
Return Class: long
Arguments:
double m
Qualification: static
Concurrency: Sequential
Operation name:
getOldMean
Protected member of: RandPoisson
Return Class: double
Qualification: static
Concurrency: Sequential
Operation name:
setOldMean
Protected member of: RandPoisson
Return Class: void
Arguments:
double val
Qualification: static
Concurrency: Sequential
Operation name:
getStatus
Protected member of: RandPoisson
Return Class: double*
Qualification: static
Concurrency: Sequential
Operation name:
setStatus
Protected member of: RandPoisson
Return Class: void
Arguments:
double sq
double alxm
double g
Qualification: static
Concurrency: Sequential
Operation name:
shoot
Public member of: RandPoisson
Return Class: long
Arguments:
HepRandomEngine* anEngine
double m
Qualification: static
Concurrency: Sequential
Operation name:
fire
Public member of: RandPoisson
Return Class: long
Arguments:
double m
Concurrency: Sequential
Operation name:
getMaxMean
Protected member of: RandPoisson
Return Class: double
Qualification: static
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandPoisson
Return Class: void
Arguments:
const int size
long* vect
double m =1.0
Qualification: static
Concurrency: Sequential
Operation name:
shootArray
Public member of: RandPoisson
Return Class: void
Arguments:
HepRandomEngine* anEngine
const int size
long* vect
double m =1.0
Qualification: static
Concurrency: Sequential
Operation name:
fireArray
Public member of: RandPoisson
Return Class: void
Arguments:
const int size
double* vect
double m =1.0
Concurrency: Sequential
Operation name:
operator()
Public member of: RandPoisson
Return Class: double
Concurrency: Sequential