Logo ROOT  
Reference Guide
RooRandom Class Reference

This class provides a static interface for generating random numbers.

By default a private copy of TRandom3 is used to generate all random numbers.

Definition at line 24 of file RooRandom.h.

Classes

struct  Guard
 

Public Member Functions

virtual ~RooRandom ()
 

Static Public Member Functions

static Double_t gaussian (TRandom *generator=randomGenerator())
 Return a Gaussian random variable with mean 0 and variance 1. More...
 
static UInt_t integer (UInt_t max, TRandom *generator=randomGenerator())
 Return an integer uniformly distributed from [0,n-1]. More...
 
static Bool_t quasi (UInt_t dimension, Double_t vector[], RooQuasiRandomGenerator *generator=quasiGenerator())
 Return a quasi-random number in the range (0,1) using the Niederreiter base 2 generator described in Bratley, Fox, Niederreiter, ACM Trans. More...
 
static RooQuasiRandomGeneratorquasiGenerator ()
 Return a pointer to a singleton quasi-random generator implementation. More...
 
static TRandomrandomGenerator ()
 Return a pointer to a singleton random-number generator implementation. More...
 
static void setRandomGenerator (TRandom *gen)
 set the random number generator; takes ownership of the object passed as parameter More...
 
static Double_t uniform (TRandom *generator=randomGenerator())
 Return a number uniformly distributed from (0,1) More...
 
static void uniform (UInt_t dimension, Double_t vector[], TRandom *generator=randomGenerator())
 Fill the vector provided with random numbers uniformly distributed from (0,1) More...
 

Private Member Functions

 RooRandom ()
 

Static Private Attributes

static TRandom_theGenerator = 0
 
static RooQuasiRandomGenerator_theQuasiGenerator = 0
 
static struct Guard guard
 

Friends

struct RooRandom::Guard
 

#include <RooRandom.h>

Constructor & Destructor Documentation

◆ ~RooRandom()

virtual RooRandom::~RooRandom ( )
inlinevirtual

Definition at line 27 of file RooRandom.h.

◆ RooRandom()

RooRandom::RooRandom ( )
private

Member Function Documentation

◆ gaussian()

Double_t RooRandom::gaussian ( TRandom generator = randomGenerator())
static

Return a Gaussian random variable with mean 0 and variance 1.

Definition at line 111 of file RooRandom.cxx.

◆ integer()

UInt_t RooRandom::integer ( UInt_t  max,
TRandom generator = randomGenerator() 
)
static

Return an integer uniformly distributed from [0,n-1].

Definition at line 102 of file RooRandom.cxx.

◆ quasi()

Bool_t RooRandom::quasi ( UInt_t  dimension,
Double_t  vector[],
RooQuasiRandomGenerator generator = quasiGenerator() 
)
static

Return a quasi-random number in the range (0,1) using the Niederreiter base 2 generator described in Bratley, Fox, Niederreiter, ACM Trans.

Model. Comp. Sim. 2, 195 (1992).

Definition at line 122 of file RooRandom.cxx.

◆ quasiGenerator()

RooQuasiRandomGenerator * RooRandom::quasiGenerator ( )
static

Return a pointer to a singleton quasi-random generator implementation.

Creates the object the first time it is called.

Definition at line 74 of file RooRandom.cxx.

◆ randomGenerator()

TRandom * RooRandom::randomGenerator ( )
static

Return a pointer to a singleton random-number generator implementation.

Creates the object the first time it is called.

Definition at line 54 of file RooRandom.cxx.

◆ setRandomGenerator()

void RooRandom::setRandomGenerator ( TRandom gen)
static

set the random number generator; takes ownership of the object passed as parameter

Definition at line 64 of file RooRandom.cxx.

◆ uniform() [1/2]

Double_t RooRandom::uniform ( TRandom generator = randomGenerator())
static

Return a number uniformly distributed from (0,1)

Definition at line 84 of file RooRandom.cxx.

◆ uniform() [2/2]

void RooRandom::uniform ( UInt_t  dimension,
Double_t  vector[],
TRandom generator = randomGenerator() 
)
static

Fill the vector provided with random numbers uniformly distributed from (0,1)

Definition at line 93 of file RooRandom.cxx.

Friends And Related Function Documentation

◆ RooRandom::Guard

friend struct RooRandom::Guard
friend

Definition at line 49 of file RooRandom.h.

Member Data Documentation

◆ _theGenerator

TRandom * RooRandom::_theGenerator = 0
staticprivate

Definition at line 43 of file RooRandom.h.

◆ _theQuasiGenerator

RooQuasiRandomGenerator * RooRandom::_theQuasiGenerator = 0
staticprivate

Definition at line 44 of file RooRandom.h.

◆ guard

RooRandom::Guard RooRandom::guard
staticprivate

Definition at line 48 of file RooRandom.h.

Libraries for RooRandom:
[legend]

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