Logo ROOT   6.19/01
Reference Guide
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...
 
unsigned int EngineSize () const
 Return the size of the generator state. More...
 
std::string Name () const
 Return the name of the generator. More...
 
unsigned int NDim () const
 Return the dimension of the generator. 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 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...
 
bool Skip (unsigned int n)
 skip the next n number and jumb directly to the current state + n More...
 
std::string Type () const
 Return the type (name) of the used generator. More...
 

Private Attributes

Engine fEngine
 

#include <Math/QuasiRandom.h>

Constructor & Destructor Documentation

◆ QuasiRandom() [1/2]

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.

◆ QuasiRandom() [2/2]

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.

◆ ~QuasiRandom()

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

◆ EngineSize()

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.

◆ Name()

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.

◆ NDim()

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.

◆ Next() [1/2]

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.

◆ Next() [2/2]

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.

◆ Rndm()

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.

◆ RndmArray()

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.

◆ Skip()

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.

◆ Type()

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

◆ fEngine

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

Definition at line 160 of file QuasiRandom.h.


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