Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Random.hh File Reference
#include <cmath>
#include <functional>
#include "Garfield/FundamentalConstants.hh"

Go to the source code of this file.

Classes

class  Garfield::Random

Namespaces

namespace  Garfield

Functions

double Garfield::RndmUniform ()
 Draw a random number uniformly distributed in the range [0, 1).
double Garfield::RndmUniformPos ()
 Draw a random number uniformly distributed in the range (0, 1).
double Garfield::RndmGaussian ()
 Draw a Gaussian random variate with mean zero and standard deviation one.
double Garfield::RndmGaussian (const double mu, const double sigma)
 Draw a Gaussian random variate with mean mu and standard deviation sigma.
double Garfield::RndmLorentzian (const double mu, const double gamma)
 Draw a Lorentzian random variate with mean mu and half-width at half maximum gamma.
double Garfield::RndmVoigt (const double mu, const double sigma, const double gamma)
 Draw a random number according to a Voigt function with mean mu.
unsigned int Garfield::RndmYuleFurry (const double mean)
 Draw a random number from a geometric distribution.
double Garfield::RndmPolya (const double theta)
 Draw a Polya distributed random number.
double Garfield::RndmLandau ()
 Draw a random number from a Landau distribution.
double Garfield::RndmVavilov (const double rkappa, const double beta2)
 Draw a random number from a Vavilov distribution.
int Garfield::RndmPoisson (const double mean)
 Draw a random number from a Poisson distribution.
double Garfield::RndmHeedWF (const double w, const double f)
 Draw a random energy needed to create a single electron in a material asymptotic work function W and Fano factor F, according to Igor Smirnov's phenomenological model.
void Garfield::RndmDirection (double &dx, double &dy, double &dz, const double length=1.)
 Draw a random (isotropic) direction vector.