Randomclassspec



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