17 #ifndef ROOT_Math_Random 18 #define ROOT_Math_Random 38 template <
class Engine>
68 fEngine.RandomArray(array, array+n);
107 double Gaus(
double mean = 0,
double sigma = 1) {
147 double FDist(
double nu1,
double nu2) {
171 void Sphere(
double &
x,
double &
y,
double &
z,
double r = 1) {
179 unsigned int Binomial(
unsigned int ntot,
double prob) {
197 std::vector<unsigned int>
Multinomial(
unsigned int ntot,
const std::vector<double> & p ) {
std::vector< unsigned int > Multinomial(unsigned int ntot, const std::vector< double > &p)
Multinomial distribution.
int Poisson(double mean)
Generates a random integer N according to a Poisson law.
Random< ROOT::Math::StdEngine< std::mt19937_64 > > RandomMT64
double FDist(double nu1, double nu2)
F-distribution.
double LogNormal(double, double)
unsigned int Poisson(double mu)
Poisson distribution.
double LogNormal(double zeta, double sigma)
Log-normal distribution.
Namespace for new ROOT classes and functions.
void Circle(double &x, double &y, double r=1)
generate random numbers in a 2D circle of radious 1
double Exp(double tau)
Returns an exponential deviate.
double Gamma(double, double)
methods which are only for GSL random generators
Engine::BaseType EngineBaseType
void RndmArray(int n, double *array)
Generate an array of random numbers between ]0,1] 0 is excluded and 1 is included Function to preserv...
unsigned int EngineSize() const
Return the size of the generator state.
Random< ROOT::Math::StdEngine< std::ranlux48 > > RandomRanlux48
double Gamma(double a, double b)
Gamma distribution.
you should not use this method at all Int_t y
double Logistic(double a)
Logistic distribution.
unsigned int Binomial(unsigned int ntot, double prob)
discrete distributions
void Circle(double &x, double &y, double r)
Generates random vectors, uniformly distributed over a circle of given radius.
double Landau(double mu, double sigma)
Generate a random number following a Landau distribution with location parameter mu and scale paramet...
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t tau
RandomFunctions< Engine, EngineBaseType > RndmFunctions
double Exp(double tau)
Exponential distribution.
double Gaus(double mean=0, double sigma=1)
double Landau(double m=0, double s=1)
Landau distribution.
double BreitWigner(double mean=0., double gamma=1)
Breit Wigner distribution.
void Sphere(double &x, double &y, double &z, double r)
Generates random vectors, uniformly distributed over the surface of a sphere of given radius...
double Uniform(double a, double b)
generate random numbers following a Uniform distribution in the [a,b] interval
void Sphere(double &x, double &y, double &z, double r=1)
generate random numbers in a 3D sphere of radious 1
Random(unsigned int seed)
double Uniform2(double a, double b)
std::string Type() const
Return the type (name) of the used generator.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t Int_t m
double Beta(double a, double b)
Beta distribution.
double FDist(double, double)
double Uniform(double a, double b)
double tDist(double nu)
t student distribution
double Pareto(double a, double b)
Pareto distribution.
double ChiSquare(double nu)
chi-square
RandomFunctions< Engine, EngineBaseType > & Functions()
Random< ROOT::Math::MixMaxEngine< 240, 0 > > RandomMixMax
Useful typedef definitions.
double Beta(double, double)
* x
Deprecated and error prone model selection interface.
double Rayleigh(double sigma)
Rayleigh distribution.
Namespace for new Math classes and functions.
double Gaus(double mean, double sigma)
generate Gaussian number using defqault method
you should not use this method at all Int_t Int_t z
int Binomial(int ntot, double prob)
Generate binomial numbers.
unsigned int NegativeBinomial(double, double)
Random< ROOT::Math::MersenneTwisterEngine > RandomMT19937
unsigned int NegativeBinomial(double n, double prob)
Negative Binomial distribution First parameter is n, second is probability To be consistent with Rand...
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
double Pareto(double, double)
double Uniform(double a=1.0)
double BreitWigner(double mean, double gamma)
Return a number distributed following a BreitWigner function with mean and gamma. ...
Documentation for the Random class.