3 #ifndef GAUDIMATH_GSLFUNADAPTERS_H
4 #define GAUDIMATH_GSLFUNADAPTERS_H 1
10 #include "CLHEP/GenericFunctions/GenericFunctions.hh"
11 #include "CLHEP/GenericFunctions/Argument.hh"
12 #include "CLHEP/GenericFunctions/AbsFunction.hh"
16 #include "GaudiMath/FunAdapters.h"
20 #include "gsl/gsl_mode.h"
21 #include "gsl/gsl_sf_result.h"
23 #include "GaudiKernel/Kernel.h"
27 namespace GaudiMathImplementation
36 typedef int (*
Function)( double , gsl_sf_result* ) ;
46 virtual ~GSLFunctionWithError () ;
48 virtual
double operator() (
double x ) const ;
49 virtual
double operator() ( const Argument& x ) const ;
50 virtual
bool hasAnalyticDerivative ()
const {
return true ; }
51 virtual unsigned int dimensionality ()
const {
return 1 ; }
57 const gsl_sf_result& result ()
const ;
59 double error ()
const ;
67 gsl_sf_result* m_result ;
74 typedef double (*
Function)( double , gsl_mode_t ) ;
81 const gsl_mode_t& mode ) ;
85 virtual ~GSLFunctionWithMode () ;
87 virtual
double operator() (
double x ) const ;
88 virtual
double operator() ( const Argument& x ) const ;
89 virtual
bool hasAnalyticDerivative ()
const {
return true ; }
90 virtual unsigned int dimensionality ()
const {
return 1 ; }
95 const gsl_mode_t& mode ()
const ;
119 const gsl_mode_t& mode ) ;
123 virtual ~GSLFunctionWithModeAndError () ;
125 virtual
double operator() (
double x ) const ;
126 virtual
double operator() ( const Argument& x ) const ;
127 virtual
bool hasAnalyticDerivative ()
const {
return true ; }
128 virtual unsigned int dimensionality ()
const {
return 1 ; }
133 const gsl_mode_t& mode ()
const ;
135 const gsl_sf_result& result ()
const ;
137 double error ()
const ;
147 gsl_sf_result* m_result ;
153 #endif // GAUDIMATH_GSLFUNADAPTERS_H
Genfun::GaudiMathImplementation::GSLFunctionWithMode GSLFunctionWithMode
Genfun::GaudiMathImplementation::GSLFunctionWithError GSLFunctionWithError
Genfun::AbsFunction Function
Genfun::GaudiMathImplementation::NumericalDerivative Derivative
Genfun::GaudiMathImplementation::SimpleFunction GSLFunction
the actual type for primitive adaptor
Genfun::GaudiMathImplementation::GSLFunctionWithModeAndError GSLFunctionWithModeAndError
double fun(const std::vector< double > &x)