1 #ifndef GAUDIMATH_FUNADAPTERS_H 2 #define GAUDIMATH_FUNADAPTERS_H 1 10 #include "CLHEP/GenericFunctions/GenericFunctions.hh" 11 #include "CLHEP/GenericFunctions/Argument.hh" 12 #include "CLHEP/GenericFunctions/AbsFunction.hh" 16 #if defined(__clang__) || defined(__CLING__) 17 #pragma clang diagnostic push 18 #pragma clang diagnostic ignored "-Winconsistent-missing-override" 19 #elif defined(__GNUC__) && __GNUC__ >= 5 20 #pragma GCC diagnostic push 21 #pragma GCC diagnostic ignored "-Wsuggest-override" 24 namespace AIDA {
class IFunction ; }
28 namespace GaudiMathImplementation
56 double operator() (
const Argument& x )
const override;
116 ~Adapter2DoubleFunction () override;
118 double operator() (
double x ) const override;
120 double operator() ( const Argument& x ) const override;
122 unsigned int dimensionality()
const override {
return 2 ; }
128 double operator() (
const double x ,
const double y )
const ;
182 ~Adapter3DoubleFunction () override ;
184 double operator() (
double x ) const override ;
186 double operator() ( const Argument& x ) const override ;
188 unsigned int dimensionality()
const override {
return 3 ; }
196 const double z )
const ;
219 typedef double (*Function1)(
const double ) ;
220 typedef double (*Function2)(
const double* ) ;
223 enum Case { TrivialArg , ArrayArg , VectorArg } ;
263 double operator() (
const Argument& )
const override ;
293 #if defined(__clang__) || defined(__CLING__) 294 #pragma clang diagnostic pop 295 #elif defined(__GNUC__) && __GNUC__ >= 5 296 #pragma GCC diagnostic pop 299 #endif // GAUDIMATH_FUNADAPTERS_H
unsigned int dimensionality() const override
dimensionality of the problem
bool hasAnalyticDerivative() const override
Does this function have an analytic derivative?
std::unique_ptr< double[]> m_arg2
mandatory macro from CLHEP/GenericFunctions
Genfun::AbsFunction Function
Genfun::GaudiMathImplementation::NumericalDerivative Derivative
bool hasAnalyticDerivative() const override
Does this function have an analytic derivative?
bool hasAnalyticDerivative() const override
Does this function have an analytic derivative?
PropertyMgr & operator=(const PropertyMgr &)=delete
mandatory macro from CLHEP/GenericFunctions
std::vector< double > m_arg3
mandatory macro from CLHEP/GenericFunctions
const AIDA::IFunction * m_fun
virtual Out operator()(const vector_of_const_< In > &inputs) const =0
std::vector< double > m_arg
double fun(const std::vector< double > &x)
Genfun::GaudiMathImplementation::SimpleFunction SimpleFunction
unsigned int dimensionality() const override
bool hasAnalyticDerivative() const override
Does this function have an analytic derivative?
constructor from the IFunction ( see AIDA/IFunction.h)