ROOT  6.06/09
Reference Guide
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
ROOT::Math::GSLQuasiRandomEngine Class Reference

GSLQuasiRandomEngine Base class for all GSL quasi random engines, normally user instantiate the derived classes which creates internally the generator and uses the class ROOT::Math::QuasiRandom.

Definition at line 53 of file GSLQuasiRandom.h.

Public Member Functions

 GSLQuasiRandomEngine ()
 default constructor. More...
 
 GSLQuasiRandomEngine (GSLQRngWrapper *rng)
 create from an existing rng. More...
 
 GSLQuasiRandomEngine (const GSLQuasiRandomEngine &eng)
 Copy constructor : clone the contained GSL generator. More...
 
GSLQuasiRandomEngineoperator= (const GSLQuasiRandomEngine &eng)
 Assignment operator : make a deep copy of the contained GSL generator. More...
 
void Initialize (unsigned int dimension)
 initialize the generator giving the dimension of the sequence If no rng is present the default one based on Mersenne and Twister is created More...
 
void Terminate ()
 delete pointer to contained rng More...
 
virtual ~GSLQuasiRandomEngine ()
 call Terminate() More...
 
double operator() () const
 Generate a random number between ]0,1[. More...
 
bool operator() (double *x) const
 Fill array x with random numbers between ]0,1[. More...
 
bool Skip (unsigned int n) const
 Skip the next n random numbers. More...
 
bool GenerateArray (double *begin, double *end) const
 Generate an array of quasi random numbers The iterators points to the random numbers. More...
 
std::string Name () const
 return name of generator More...
 
unsigned int Size () const
 return the state size of generator More...
 
unsigned int NDim () const
 return the dimension of generator More...
 

Protected Member Functions

void SetType (GSLQRngWrapper *r)
 internal method used by the derived class to set the type of generators More...
 

Private Attributes

GSLQRngWrapperfQRng
 

#include <Math/GSLQuasiRandom.h>

+ Inheritance diagram for ROOT::Math::GSLQuasiRandomEngine:
+ Collaboration diagram for ROOT::Math::GSLQuasiRandomEngine:

Constructor & Destructor Documentation

ROOT::Math::GSLQuasiRandomEngine::GSLQuasiRandomEngine ( )

default constructor.

No creation of rng is done. If then Initialize() is called an engine is created based on default GSL type (MT)

Definition at line 50 of file GSLQuasiRandom.cxx.

ROOT::Math::GSLQuasiRandomEngine::GSLQuasiRandomEngine ( GSLQRngWrapper rng)

create from an existing rng.

User manage the rng pointer which is then deleted olny by calling Terminate()

Definition at line 57 of file GSLQuasiRandom.cxx.

ROOT::Math::GSLQuasiRandomEngine::GSLQuasiRandomEngine ( const GSLQuasiRandomEngine eng)

Copy constructor : clone the contained GSL generator.

Definition at line 62 of file GSLQuasiRandom.cxx.

ROOT::Math::GSLQuasiRandomEngine::~GSLQuasiRandomEngine ( )
virtual

call Terminate()

Definition at line 66 of file GSLQuasiRandom.cxx.

Member Function Documentation

bool ROOT::Math::GSLQuasiRandomEngine::GenerateArray ( double begin,
double end 
) const

Generate an array of quasi random numbers The iterators points to the random numbers.

Definition at line 125 of file GSLQuasiRandom.cxx.

void ROOT::Math::GSLQuasiRandomEngine::Initialize ( unsigned int  dimension)

initialize the generator giving the dimension of the sequence If no rng is present the default one based on Mersenne and Twister is created

Definition at line 82 of file GSLQuasiRandom.cxx.

std::string ROOT::Math::GSLQuasiRandomEngine::Name ( ) const

return name of generator

Definition at line 136 of file GSLQuasiRandom.cxx.

unsigned int ROOT::Math::GSLQuasiRandomEngine::NDim ( ) const

return the dimension of generator

Definition at line 153 of file GSLQuasiRandom.cxx.

double ROOT::Math::GSLQuasiRandomEngine::operator() ( ) const

Generate a random number between ]0,1[.

Definition at line 98 of file GSLQuasiRandom.cxx.

bool ROOT::Math::GSLQuasiRandomEngine::operator() ( double x) const

Fill array x with random numbers between ]0,1[.

Definition at line 108 of file GSLQuasiRandom.cxx.

GSLQuasiRandomEngine & ROOT::Math::GSLQuasiRandomEngine::operator= ( const GSLQuasiRandomEngine eng)

Assignment operator : make a deep copy of the contained GSL generator.

Definition at line 72 of file GSLQuasiRandom.cxx.

void ROOT::Math::GSLQuasiRandomEngine::SetType ( GSLQRngWrapper r)
inlineprotected

internal method used by the derived class to set the type of generators

Definition at line 137 of file GSLQuasiRandom.h.

Referenced by ROOT::Math::GSLQRngNiederreiter2::GSLQRngNiederreiter2(), and ROOT::Math::GSLQRngSobol::GSLQRngSobol().

unsigned int ROOT::Math::GSLQuasiRandomEngine::Size ( ) const

return the state size of generator

Definition at line 146 of file GSLQuasiRandom.cxx.

bool ROOT::Math::GSLQuasiRandomEngine::Skip ( unsigned int  n) const

Skip the next n random numbers.

Definition at line 115 of file GSLQuasiRandom.cxx.

void ROOT::Math::GSLQuasiRandomEngine::Terminate ( void  )

delete pointer to contained rng

Definition at line 89 of file GSLQuasiRandom.cxx.

Referenced by ~GSLQuasiRandomEngine().

Member Data Documentation

GSLQRngWrapper* ROOT::Math::GSLQuasiRandomEngine::fQRng
private

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