 ROOT   Reference Guide
Searching...
No Matches
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.

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.

static UInt_t integer (UInt_t max, TRandom *generator=randomGenerator())
Return an integer uniformly distributed from [0,n-1].

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.

static RooQuasiRandomGeneratorquasiGenerator ()
Return a pointer to a singleton quasi-random generator implementation.

static TRandomrandomGenerator ()
Return a pointer to a singleton random-number generator implementation.

static void setRandomGenerator (TRandom *gen)
set the random number generator; takes ownership of the object passed as parameter

static Double_t uniform (TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1)

static void uniform (UInt_t dimension, Double_t vector[], TRandom *generator=randomGenerator())
Fill the vector provided with random numbers uniformly distributed from (0,1)

RooRandom ()

## Static Private Attributes

static TRandom_theGenerator = 0

static RooQuasiRandomGenerator_theQuasiGenerator = 0

static struct Guard guard

## Friends

struct RooRandom::Guard

#include <RooRandom.h>

## ◆ ~RooRandom()

 virtual RooRandom::~RooRandom ( )
inlinevirtual

Definition at line 27 of file RooRandom.h.

## ◆ RooRandom()

 RooRandom::RooRandom ( )
private

## ◆ gaussian()

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

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

Definition at line 110 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 101 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 121 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 73 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 53 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 63 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 83 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 92 of file RooRandom.cxx.

## ◆ RooRandom::Guard

 friend struct RooRandom::Guard
friend

Definition at line 49 of file RooRandom.h.

## ◆ _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: