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" 39 namespace GaudiMathImplementation {
63 double operator()(
const Argument& x )
const override;
109 typedef double ( *
Function )(
const double,
const double );
120 double operator()(
double x ) const override;
122 double operator()( const Argument& x ) const override;
124 unsigned int dimensionality()
const override {
return 2; }
131 double operator()(
const double x,
const double y )
const;
171 typedef double ( *
Function )(
const double,
const double,
const double );
182 double operator()(
double x ) const override;
184 double operator()( const Argument& x ) const override;
186 unsigned int dimensionality()
const override {
return 3; }
193 double operator()(
const double x,
const double y,
const double z )
const;
215 typedef double ( *Function1 )(
const double );
216 typedef double ( *Function2 )(
const double* );
243 unsigned int dimensionality()
const override {
245 [&]( auto ) {
return m_arg.size(); } );
252 double operator()(
const Argument& )
const override;
257 boost::variant<Function1, Function2, Function3>
m_func;
266 #if defined( __clang__ ) || defined( __CLING__ ) 267 # pragma clang diagnostic pop 268 #elif defined( __GNUC__ ) && __GNUC__ >= 5 269 # pragma GCC diagnostic pop 272 #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)