#ifndef __math_tools__ #define __math_tools__ #include #include class Parameters { public: Parameters(){} ~Parameters(){} double dummy[kNDummies]; int idummy[kNDummies]; }; double IntegrateMC (int nDim, int *n, double *x, const std::vector& v, double eps=1E-2); double LogIntegrateMC (int nDim, int *n, double *x, const std::vector& v, double eps=1E-2); double Integrate (double (*f)(double, Parameters &), double a, double b, Parameters & , int n = 500); double LogIntegrate (double (*f)(double, Parameters &), double a, double b, Parameters & , int n = 500); double ZBrent(double (*func)(double, Parameters&), double x1, double x2, double tol, Parameters&); double Random(double x1=0.0, double x2=1.0); #endif