GSLRandomEngine Base class for all GSL random engines, normally user instantiate the derived classes which creates internally the generator. The main GSL generators (see <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-number-generator-algorithms.html"> here</A>) are available as derived classes In addition to generate uniform numbers it provides method for generating numbers according to pre-defined distributions using the GSL functions from <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-Number-Distributions.html"> GSL random number distributions</A>. @ingroup Random
virtual | ~GSLRandomEngine() |
double | Beta(double a, double b) const |
unsigned int | Binomial(double p, unsigned int n) const |
double | Cauchy(double a) const |
double | ChiSquare(double nu) const |
void | Dir2D(double& x, double& y) const |
void | Dir3D(double& x, double& y, double& z) const |
double | Exponential(double mu) const |
double | FDist(double nu1, double nu2) const |
double | Gamma(double a, double b) const |
double | Gaussian(double sigma) const |
void | Gaussian2D(double sigmaX, double sigmaY, double rho, double& x, double& y) const |
double | GaussianRatio(double sigma) const |
double | GaussianTail(double a, double sigma) const |
double | GaussianZig(double sigma) const |
ROOT::Math::GSLRandomEngine | GSLRandomEngine() |
ROOT::Math::GSLRandomEngine | GSLRandomEngine(ROOT::Math::GSLRngWrapper* rng) |
ROOT::Math::GSLRandomEngine | GSLRandomEngine(const ROOT::Math::GSLRandomEngine& eng) |
void | Initialize() |
unsigned long | IntRndm() const |
double | Landau() const |
double | Logistic(double a) const |
double | LogNormal(double zeta, double sigma) const |
unsigned long | MaxInt() const |
unsigned long | MinInt() const |
vector<unsigned int> | Multinomial(unsigned int ntot, const vector<double>& p) const |
string | Name() const |
unsigned int | NegativeBinomial(double p, double n) const |
double | operator()() const |
ROOT::Math::GSLRandomEngine& | operator=(const ROOT::Math::GSLRandomEngine& eng) |
double | Pareto(double a, double b) const |
unsigned int | Poisson(double mu) const |
void | RandomArray(double* begin, double* end) const |
double | Rayleigh(double sigma) const |
double | Rndm() const |
unsigned long | RndmInt(unsigned long max) const |
void | SetSeed(unsigned int seed) const |
unsigned int | Size() const |
double | tDist(double nu) const |
void | Terminate() |
default constructor. No creation of rng is done. If then Initialize() is called an engine is created based on default GSL type (MT)
create from an existing rng. User manage the rng pointer which is then deleted olny by calling Terminate()
Assignment operator : make a deep copy of the contained GSL generator
initialize the generator If no rng is present the default one based on Mersenne and Twister is created
Generate a random number between ]0,1] 0 is excluded and 1 is included
{ return (*this)(); }
Generate an integer number between [0,max-1] (including 0 and max-1) if max is larger than available range of algorithm an error message is printed and zero is returned
Generate an integer number between [0,max_generator-1] (including 0 and max-1) if max is larger than available range of algorithm an error message is printed and zero is returned
Generate an array of random numbers. The iterators points to the random numbers
return the minimum integer a generator can handle typically this value is 0
@name Random Distributions Implemented using the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-Number-Distributions.html"> GSL Random number Distributions</A> @{ Gaussian distribution - default method is Box-Muller (polar method)
Bivariate Gaussian distribution with correlation
generate random numbers in a 3D sphere of radious 1
Multinomial distribution
@} internal method used by the derived class to set the type of generators
internal method to return the engine Used by class like GSLMCIntegrator to set the engine