Logo ROOT   6.08/07
Reference Guide
RooMathMoreReg.cxx
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
5  * Authors: *
6  * WV, Wouter Verkerke, NIKHEF, verkerke@nikhef.nl *
7  * *
8  * Copyright (c) 2000-2008, NIKHEF, Regents of the University of California *
9  * and Stanford University. All rights reserved. *
10  * *
11  *****************************************************************************/
12 
13 /**
14 \file RooMathMoreReg.cxx
15 \class RooMathMoreReg
16 \ingroup Roofit
17 
18 **/
19 
20 #include "Riostream.h"
21 #include "RooMathMoreReg.h"
22 #include "RooCFunction1Binding.h"
23 #include "RooCFunction2Binding.h"
24 #include "RooCFunction3Binding.h"
25 #include "RooCFunction4Binding.h"
26 #include "Math/SpecFunc.h"
27 #include "Math/DistFunc.h"
28 
30 
32 {
33 #ifdef MATHMORE
34 
35  // Import MathMore 'special' functions from ROOT::Math namespace
36  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::comp_ellint_1",ROOT::Math::comp_ellint_1,"k") ;
37  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::comp_ellint_2",ROOT::Math::comp_ellint_2,"k") ;
38  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::expint",ROOT::Math::expint) ;
39  RooCFunction1Ref<double,double>::fmap().add("ROOT::Math::riemann_zeta",ROOT::Math::riemann_zeta) ;
40  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::cyl_bessel_i",ROOT::Math::cyl_bessel_i, "nu", "x") ;
41  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::cyl_bessel_j",ROOT::Math::cyl_bessel_j, "nu", "x") ;
42  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::cyl_bessel_k",ROOT::Math::cyl_bessel_k, "nu", "x") ;
43  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::cyl_neumann",ROOT::Math::cyl_neumann, "nu", "x") ;
44  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::ellint_1",ROOT::Math::ellint_1, "k", "phi") ;
45  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::ellint_2",ROOT::Math::ellint_2, "k", "phi") ;
46  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::laguerre",ROOT::Math::laguerre, "n", "x") ;
47  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::legendre",ROOT::Math::legendre, "l", "x") ;
48  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::sph_bessel",ROOT::Math::sph_bessel, "n", "x") ;
49  RooCFunction2Ref<double,unsigned int,double>::fmap().add("ROOT::Math::sph_neumann",ROOT::Math::sph_neumann, "n", "x") ;
50  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::conf_hyperg",ROOT::Math::conf_hyperg,"a","b","z") ;
51  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::conf_hypergU",ROOT::Math::conf_hypergU,"a","b","z") ;
52  RooCFunction3Ref<double,double,double,double>::fmap().add("ROOT::Math::ellint_3",ROOT::Math::ellint_3,"n","k","phi") ;
53  RooCFunction3Ref<double,unsigned int,double,double>::fmap().add("ROOT::Math::assoc_laguerre",ROOT::Math::assoc_laguerre,"n","m","x") ;
55  RooCFunction3Ref<double,unsigned int,unsigned int,double>::fmap().add("ROOT::Math::sph_legendre",ROOT::Math::sph_legendre,"l","m","theta") ;
56 
57  // MathMore quantile functions from ROOT::Math namespace
58  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::tdistribution_quantile_c",ROOT::Math::tdistribution_quantile_c,"z","r") ;
59  RooCFunction2Ref<double,double,double>::fmap().add("ROOT::Math::tdistribution_quantile",ROOT::Math::tdistribution_quantile,"z","r") ;
60 
61 #endif
62 }
double sph_legendre(unsigned l, unsigned m, double theta)
Computes the spherical (normalized) associated Legendre polynomials, or spherical harmonic without az...
double cyl_bessel_j(double nu, double x)
Calculates the (cylindrical) Bessel functions of the first kind (also called regular (cylindrical) Be...
double ellint_2(double k, double phi)
Calculates the complete elliptic integral of the second kind.
static RooCFunction1Map< VO, VI > & fmap()
double legendre(unsigned l, double x)
Calculates the Legendre polynomials.
double comp_ellint_1(double k)
Calculates the complete elliptic integral of the first kind.
double sph_bessel(unsigned n, double x)
Calculates the spherical Bessel functions of the first kind (also called regular spherical Bessel fun...
double conf_hyperg(double a, double b, double z)
Calculates the confluent hypergeometric functions of the first kind.
static RooCFunction2Map< VO, VI1, VI2 > & fmap()
double expint(double x)
Calculates the exponential integral.
double ellint_3(double n, double k, double phi)
Calculates the complete elliptic integral of the third kind.
double riemann_zeta(double x)
Calculates the Riemann zeta function.
double comp_ellint_2(double k)
Calculates the complete elliptic integral of the second kind.
double assoc_laguerre(unsigned n, double m, double x)
Computes the generalized Laguerre polynomials for .
double assoc_legendre(unsigned l, unsigned m, double x)
Computes the associated Legendre polynomials.
double laguerre(unsigned n, double x)
Calculates the Laguerre polynomials.
static RooCFunction3Map< VO, VI1, VI2, VI3 > & fmap()
static RooMathMoreReg dummy
double ellint_1(double k, double phi)
Calculates the incomplete elliptic integral of the first kind.
double tdistribution_quantile(double z, double r)
Inverse ( ) of the cumulative distribution function of the lower tail of Student&#39;s t-distribution (td...
double cyl_neumann(double nu, double x)
Calculates the (cylindrical) Bessel functions of the second kind (also called irregular (cylindrical)...
double sph_neumann(unsigned n, double x)
Calculates the spherical Bessel functions of the second kind (also called irregular spherical Bessel ...
double conf_hypergU(double a, double b, double z)
Calculates the confluent hypergeometric functions of the second kind, known also as Kummer function o...
double cyl_bessel_i(double nu, double x)
Calculates the modified Bessel function of the first kind (also called regular modified (cylindrical)...
double tdistribution_quantile_c(double z, double r)
Inverse ( ) of the cumulative distribution function of the upper tail of Student&#39;s t-distribution (td...
double cyl_bessel_k(double nu, double x)
Calculates the modified Bessel functions of the second kind (also called irregular modified (cylindri...