1 #ifndef _utl_Probability_h_
2 #define _utl_Probability_h_
14 #include <utl/Vector.h>
15 #include <utl/Singleton.h>
37 void SetSeed(
const unsigned int seed);
46 static double GetNormalPDF(
const double x,
const double mu,
const double sigma);
55 static long double GetVonMisesPDF(
const double x,
const double mu,
const double kappa);
58 static double GetFisherPDF(
const double x,
const double kappa);
61 static double GetFisherCDF(
const double x,
const double kappa);
double GetRandomFisher(const double k)
returns a Fisher distributed random variable
static double GetRayleighCDF(const double x, const double sigma)
evaluates the Rayleigh CDF of sigma at position x
static double GetNormalPDF(const double x, const double mu, const double sigma)
utl::Vector GetFisher(const utl::Vector &meanDirection, const double alpha)
returns a random vector that has an angle alpha wrt the given vector
TVector3 GetRandomVectorOnSphere()
static double GetFisherPDF(const double x, const double kappa)
Utility class to provide often used probability distributions in radio reconstruction. In addition this singleton class can return random variables. Currently only Fisher is implemented.
double GetRandomRayleigh(const double sigma)
returns a Rayleigh distributed random variable
static double GetFisherCDF(const double x, const double kappa)
static double GetRayleighPDF(const double x, const double sigma)
evaluates the Rayleigh PDF of sigma at position x
void SetSeed(const unsigned int seed)
static long double GetVonMisesPDF(const double x, const double mu, const double kappa)
Curiously Recurring Template Pattern (CRTP) for Meyers singleton.