1 #ifndef GAUDIMATH_FUNADAPTERS_H 2 #define GAUDIMATH_FUNADAPTERS_H 1 6 #include <boost/variant.hpp> 11 #include "CLHEP/GenericFunctions/AbsFunction.hh" 12 #include "CLHEP/GenericFunctions/Argument.hh" 13 #include "CLHEP/GenericFunctions/GenericFunctions.hh" 18 #if defined( __clang__ ) || defined( __CLING__ ) 19 #pragma clang diagnostic push 20 #pragma clang diagnostic ignored "-Winconsistent-missing-override" 21 #elif defined( __GNUC__ ) && __GNUC__ >= 5 22 #pragma GCC diagnostic push 23 #pragma GCC diagnostic ignored "-Wsuggest-override" 42 namespace GaudiMathImplementation
68 double operator()(
const Argument& x )
const override;
115 typedef double ( *
Function )(
const double,
const double );
126 double operator()(
double x ) const override;
128 double operator()( const Argument& x ) const override;
130 unsigned int dimensionality()
const override {
return 2; }
137 double operator()(
const double x,
const double y )
const;
178 typedef double ( *
Function )(
const double,
const double,
const double );
189 double operator()(
double x ) const override;
191 double operator()( const Argument& x ) const override;
193 unsigned int dimensionality()
const override {
return 3; }
200 double operator()(
const double x,
const double y,
const double z )
const;
223 typedef double ( *Function1 )(
const double );
224 typedef double ( *Function2 )(
const double* );
251 unsigned int dimensionality()
const override 254 [&]( auto ) {
return m_arg.size(); } );
261 double operator()(
const Argument& )
const override;
266 boost::variant<Function1, Function2, Function3>
m_func;
275 #if defined( __clang__ ) || defined( __CLING__ ) 276 #pragma clang diagnostic pop 277 #elif defined( __GNUC__ ) && __GNUC__ >= 5 278 #pragma GCC diagnostic pop 281 #endif // GAUDIMATH_FUNADAPTERS_H
bool hasAnalyticDerivative() const override
Does this function have an analytic derivative?
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
TupleObj.h GaudiAlg/TupleObj.h namespace with few technical implementations.
std::vector< double > m_arg
boost::variant< Function1, Function2, Function3 > m_func
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)
auto compose(lambda_ts &&...lambdas)
unsigned int dimensionality() const override
bool hasAnalyticDerivative() const override
Does this function have an analytic derivative?
constructor from the IFunction ( see AIDA/IFunction.h)