It's exactly analogous to
HepRandom
except that the return types for the fire() and related methods
are HepVector
instead of HepDouble.
Distribution classes returning HepVectors of results inherit from
HepRandomVector instead of HepRandom.
HepVector is used instead of the more modern looking
std::vector<HepDouble> because the motivating sub-class
RandMultiGauss uses
HepMatrix
to supply the correlation matrix S anyway.
Given that, we might as well stick to
HepVector when a vector of numbers is needed, as well.
Author
Mark Fischler
See also
RandMultiGauss
Declaration
#include "CLHEP/RandomObjects/RandomVector.h"
class HepRandomVector
Public Member Functions
- Constructors
- HepRandomVector()
- HepRandomVector(long seed)
- Contructors with and without a seed using a default engine
(JamesRandom) which is
instantiated for use of this distribution instance.
- If the seed is omitted,
multiple instantiations will each get unique seeds.
- HepRandomVector(HepRandomEngine & engine)
- HepRandomVector(HepRandomEngine * engine)
- Constructor taking an alternative engine as argument.
- If a pointer is given the corresponding object will be deleted by
the HepRandom destructor.
- Destructor
- virtual ~HepRandomVector()
- ()
- virtual HepVector operator()()
- To get a flat random number using the operator().
- flat
- inline HepVector flat()
- Returns vector of the flat values ( interval ]0,1[ ).
- inline HepVector flat (HepRandomEngine* theNewEngine)
- Returns a vector of flat values, given a defined Random Engine.
- flatArray
- inline void flatArray(const HepInt size, HepVector* vect)
- Fills vect array of flat random values, given the size.
- Included for consistency with the HepRandom class.
- inline void flatArray(HepRandomEngine* theNewEngine,
const HepInt size, HepVector* vect)
- Fills vect array of flat random values, given the size
and a defined Random Engine.
Example
CLHEP/test/testVectorDists.cc
19 June 2001
EVC