ROOT  6.06/09
Reference Guide
Public Member Functions | Private Attributes | List of all members
ROOT::Math::QuasiRandom< Engine > Class Template Reference

template<class Engine>
class ROOT::Math::QuasiRandom< Engine >

User class for MathMore random numbers template on the Engine type.

The API of this class followed that of the class ROOT::Math::Random It must be implemented using as Engine one of the derived classes of ROOT::Math::GSLQuasiRandomEngine, like ROOT::Math::GSLQrngSobol

Definition at line 60 of file QuasiRandom.h.

Public Member Functions

 QuasiRandom (unsigned int dimension=1)
 Create a QuasiRandom generator. More...
 
 QuasiRandom (const Engine &e, unsigned int dimension=1)
 Create a QuasiRandom generator based on a provided generic engine. More...
 
 ~QuasiRandom ()
 Destructor: call Terminate() function of engine to free any allocated resource. More...
 
bool Next (double *x)
 Generate next quasi random numbers points. More...
 
double Next ()
 Generate next quasi random numbers point (1 - dimension) More...
 
double Rndm ()
 Generate quasi random numbers between ]0,1[ 0 and 1 are excluded Function to be compatible with ROOT TRandom compatibility. More...
 
bool Skip (unsigned int n)
 skip the next n number and jumb directly to the current state + n More...
 
bool RndmArray (int n, double *array)
 Generate an array of random numbers between ]0,1[ Function to preserve ROOT Trandom compatibility The array will be filled as x1,y1,z1,....x2,y2,z2,... More...
 
std::string Type () const
 Return the type (name) of the used generator. More...
 
unsigned int EngineSize () const
 Return the size of the generator state. More...
 
unsigned int NDim () const
 Return the dimension of the generator. More...
 
std::string Name () const
 Return the name of the generator. More...
 

Private Attributes

Engine fEngine
 

#include <Math/QuasiRandom.h>

Constructor & Destructor Documentation

template<class Engine >
ROOT::Math::QuasiRandom< Engine >::QuasiRandom ( unsigned int  dimension = 1)
inline

Create a QuasiRandom generator.

Use default engine constructor. Engine will be initialized via Initialize() function in order to allocate resources

Definition at line 70 of file QuasiRandom.h.

template<class Engine >
ROOT::Math::QuasiRandom< Engine >::QuasiRandom ( const Engine &  e,
unsigned int  dimension = 1 
)
inlineexplicit

Create a QuasiRandom generator based on a provided generic engine.

Engine will be initialized via Initialize() function in order to allocate resources

Definition at line 80 of file QuasiRandom.h.

template<class Engine >
ROOT::Math::QuasiRandom< Engine >::~QuasiRandom ( )
inline

Destructor: call Terminate() function of engine to free any allocated resource.

Definition at line 88 of file QuasiRandom.h.

Member Function Documentation

template<class Engine >
unsigned int ROOT::Math::QuasiRandom< Engine >::EngineSize ( ) const
inline

Return the size of the generator state.

Definition at line 140 of file QuasiRandom.h.

template<class Engine >
std::string ROOT::Math::QuasiRandom< Engine >::Name ( ) const
inline

Return the name of the generator.

Definition at line 154 of file QuasiRandom.h.

template<class Engine >
unsigned int ROOT::Math::QuasiRandom< Engine >::NDim ( ) const
inline

Return the dimension of the generator.

Definition at line 147 of file QuasiRandom.h.

Referenced by ROOT::Math::QuasiRandom< Engine >::RndmArray().

template<class Engine >
bool ROOT::Math::QuasiRandom< Engine >::Next ( double x)
inline

Generate next quasi random numbers points.

Definition at line 95 of file QuasiRandom.h.

Referenced by testQuasiRandom().

template<class Engine >
double ROOT::Math::QuasiRandom< Engine >::Next ( )
inline

Generate next quasi random numbers point (1 - dimension)

Definition at line 102 of file QuasiRandom.h.

template<class Engine >
double ROOT::Math::QuasiRandom< Engine >::Rndm ( )
inline

Generate quasi random numbers between ]0,1[ 0 and 1 are excluded Function to be compatible with ROOT TRandom compatibility.

Definition at line 111 of file QuasiRandom.h.

template<class Engine >
bool ROOT::Math::QuasiRandom< Engine >::RndmArray ( int  n,
double array 
)
inline

Generate an array of random numbers between ]0,1[ Function to preserve ROOT Trandom compatibility The array will be filled as x1,y1,z1,....x2,y2,z2,...

Definition at line 126 of file QuasiRandom.h.

Referenced by testQuasiRandom().

template<class Engine >
bool ROOT::Math::QuasiRandom< Engine >::Skip ( unsigned int  n)
inline

skip the next n number and jumb directly to the current state + n

Definition at line 118 of file QuasiRandom.h.

template<class Engine >
std::string ROOT::Math::QuasiRandom< Engine >::Type ( ) const
inline

Return the type (name) of the used generator.

Definition at line 133 of file QuasiRandom.h.

Member Data Documentation

template<class Engine >
Engine ROOT::Math::QuasiRandom< Engine >::fEngine
private

The documentation for this class was generated from the following file: