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 () |
virtual TClass * | IsA () const |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static double | 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 | quasi (UInt_t dimension, double 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 RooQuasiRandomGenerator * | quasiGenerator () |
Return a pointer to a singleton quasi-random generator implementation. | |
static TRandom * | randomGenerator () |
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 | uniform (TRandom *generator=randomGenerator()) |
Return a number uniformly distributed from (0,1) | |
static void | uniform (UInt_t dimension, double vector[], TRandom *generator=randomGenerator()) |
Fill the vector provided with random numbers uniformly distributed from (0,1) | |
Private Member Functions | |
RooRandom () | |
Static Private Attributes | |
static TRandom * | _theGenerator = nullptr |
random number generator | |
static RooQuasiRandomGenerator * | _theQuasiGenerator = nullptr |
quasi random number sequence generator | |
static struct Guard | guard |
Friends | |
struct | RooRandom::Guard |
#include <RooRandom.h>
|
inlinevirtual |
Definition at line 27 of file RooRandom.h.
|
private |
|
static |
|
inlinestaticconstexpr |
Definition at line 51 of file RooRandom.h.
|
inlinestatic |
Definition at line 51 of file RooRandom.h.
|
static |
Return a Gaussian random variable with mean 0 and variance 1.
Definition at line 105 of file RooRandom.cxx.
|
static |
Return an integer uniformly distributed from [0,n-1].
Definition at line 96 of file RooRandom.cxx.
|
inlinevirtual |
Definition at line 51 of file RooRandom.h.
|
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 116 of file RooRandom.cxx.
|
static |
Return a pointer to a singleton quasi-random generator implementation.
Creates the object the first time it is called.
Definition at line 68 of file RooRandom.cxx.
|
static |
Return a pointer to a singleton random-number generator implementation.
Creates the object the first time it is called.
Definition at line 48 of file RooRandom.cxx.
|
static |
set the random number generator; takes ownership of the object passed as parameter
Definition at line 58 of file RooRandom.cxx.
|
virtual |
|
inline |
Definition at line 51 of file RooRandom.h.
|
static |
Return a number uniformly distributed from (0,1)
Definition at line 78 of file RooRandom.cxx.
|
static |
Fill the vector provided with random numbers uniformly distributed from (0,1)
Definition at line 87 of file RooRandom.cxx.
|
friend |
Definition at line 49 of file RooRandom.h.
|
staticprivate |
random number generator
Definition at line 43 of file RooRandom.h.
|
staticprivate |
quasi random number sequence generator
Definition at line 44 of file RooRandom.h.
|
staticprivate |
Definition at line 48 of file RooRandom.h.