1 #ifndef __JMATHSUPPORTKIT__ 
    2 #define __JMATHSUPPORTKIT__ 
   19 namespace JPP { 
using namespace JMATH; }
 
   52   inline double gauss(
const double x, 
const double x0, 
const double sigma)
 
   79   inline double Gauss(
const double x, 
const double x0, 
const double sigma)
 
   96   inline double Gamma(
const double a, 
const double x)
 
  100     const int max = 1000000;
 
  105     const double gln = lgamma(
a);
 
  118       double sum = 1.0 / 
a;
 
  121       for (
int i = 0; i != max; ++i) {
 
  128           return sum*exp(-
x + 
a*log(
x) - gln);
 
  138       double b = 
x + 1.0 - 
a;
 
  139       double c = 1.0 / FPMIN;
 
  143       for (
int i = 1; i != max; ++i) {
 
  145         const double an = -i * (i-
a);
 
  150         if (fabs(d) < FPMIN) {
 
  156         if (fabs(c) < FPMIN) {
 
  162         const double del = d*c;
 
  167           return 1.0 - exp(-
x + 
a*log(
x) - gln) * h;
 
  199         for (
size_t i = 2; i <= 
n; ++i) {
 
  202           p2 = ((2*i-1) * 
x*
p1  -  (i-1) * p0) / i;
 
  220     if (
n == 0 || 
n < k) {
 
  224     if (k == 0 || 
n == k) {
 
  228     const int k1 = std::min(k, 
n - k);
 
  229     const int k2 = 
n - k1;
 
  231     double value = k2 + 1;
 
  233     for (
int i = k1; i != 1; --i) {
 
  234       value *= (double) (k2 + i) / (double) i;
 
  248   inline double poisson(
const size_t n, 
const double mu)
 
  255         return exp(
n*log(mu) - lgamma(
n+1) - mu);
 
  258     } 
else if (mu == 0.0) {
 
  260       return (
n == 0 ? 1.0 : 0.0);
 
  274   inline double Poisson(
const size_t n, 
const double mu)
 
  276     return 1.0 - 
Gamma(
n + 1, mu);
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
Exception for accessing a value in a collection that is outside of its range.
 
Auxiliary classes and methods for mathematical operations.
 
double Gamma(const double a, const double x)
Incomplete gamma function.
 
double poisson(const size_t n, const double mu)
Poisson probability density distribition.
 
static const double PI
Mathematical constants.
 
double Poisson(const size_t n, const double mu)
Poisson cumulative density distribition.
 
double Gauss(const double x, const double x0, const double sigma)
Normalised Gauss function.
 
double legendre(const size_t n, const double x)
Legendre polynome.
 
double binomial(const size_t n, const size_t k)
Binomial function.
 
double gauss(const double x, const double x0, const double sigma)
Gauss function (normalised to 1 at x = x0).
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).