+
class ROOT::Math::GSLRandomEngine
-
library: libMathMore
#include "GSLRndmEngines.h"
Display options:
Show inherited
Show non-public

class ROOT::Math::GSLRandomEngine

Function Members (Methods)

public:
virtual~GSLRandomEngine()
unsigned intBinomial(double p, unsigned int n)
doubleCauchy(double a)
doubleChiSquare(double nu)
voidDir2D(double& x, double& y)
voidDir3D(double& x, double& y, double& z)
doubleExponential(double mu)
doubleFDist(double nu1, double nu2)
doubleGamma(double a, double b)
doubleGaussian(double sigma)
voidGaussian2D(double sigmaX, double sigmaY, double rho, double& x, double& y)
doubleGaussianRatio(double sigma)
doubleGaussianTail(double a, double sigma)
doubleGaussianZig(double sigma)
ROOT::Math::GSLRandomEngineGSLRandomEngine()
ROOT::Math::GSLRandomEngineGSLRandomEngine(ROOT::Math::GSLRng* rng)
ROOT::Math::GSLRandomEngineGSLRandomEngine(const ROOT::Math::GSLRandomEngine&)
voidInitialize()
doubleLandau()
doubleLogNormal(double zeta, double sigma)
vector<unsigned int>Multinomial(unsigned int ntot, const vector<double>& p)
stringName() const
doubleoperator()()
ROOT::Math::GSLRandomEngine&operator=(const ROOT::Math::GSLRandomEngine&)
unsigned intPoisson(double mu)
voidRandomArray(double* begin, double* end)
voidSetSeed(unsigned int seed)
unsigned intSize() const
doubletDist(double nu)
voidTerminate()

Data Members

private:
unsigned intfCurTimecurrent time used to seed the generator
ROOT::Math::GSLRng*fRngpointer to GSL generator wrapper

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

GSLRandomEngine()
~GSLRandomEngine()
 no op , fRng is delete in terminate to avoid problem when copying the instances
void Initialize()
void Terminate()
double operator()()
 generate random between 0 and 1.
 0 is excluded
void RandomArray(double* begin, double* end)
 generate array of randoms betweeen 0 and 1. 0 is excluded
 specialization for double * (to be faster)
void SetSeed(unsigned int seed)
 set the seed, if = 0then the seed is set randomly using an std::rand()
 seeded with the current time. Be carefuk in case the current time is
 the same in consecutive calls
std::string Name()
unsigned int Size()
double GaussianZig(double sigma)
 Gaussian distribution. Use fast ziggurat algorithm implemented since GSL 1.8
double Gaussian(double sigma)
 Gaussian distribution. Use default Box-Muller method
double GaussianRatio(double sigma)
 Gaussian distribution. Use ratio method
double GaussianTail(double a, double sigma)
 Gaussian Tail distribution: eeturn values larger than a distributed
 according to the gaussian
void Gaussian2D(double sigmaX, double sigmaY, double rho, double& x, double& y)
 Gaussian Bivariate distribution, with correlation coefficient rho
double Exponential(double mu)
 Exponential distribution
double Cauchy(double a)
 Cauchy distribution
double Landau()
 Landau distribution
double Gamma(double a, double b)
 Gamma distribution
double LogNormal(double zeta, double sigma)
 Log normal distribution
double ChiSquare(double nu)
 Chi square distribution
double FDist(double nu1, double nu2)
 F distribution
double tDist(double nu)
 t distribution
void Dir2D(double& x, double& y)
 generate random numbers in a 2D circle of radious 1
void Dir3D(double& x, double& y, double& z)
 generate random numbers in a 3D sphere of radious 1
unsigned int Poisson(double mu)
 Poisson distribution
unsigned int Binomial(double p, unsigned int n)
 Binomial distribution
std::vector<unsigned int> Multinomial(unsigned int ntot, const vector<double>& p)
 Multinomial distribution  return vector of integers which sum is ntot
GSLRandomEngine()
GSLRandomEngine( GSLRng * rng)
{}

Last update: root/mathmore:$Name: $:$Id: GSLRndmEngines.cxx,v 1.9 2007/03/23 14:31:59 moneta Exp $
Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.