31#ifndef ROOT_Math_GSLMultiMinFunctionWrapper
32#define ROOT_Math_GSLMultiMinFunctionWrapper
34#include "gsl/gsl_multimin.h"
66 fFunc.params =
nullptr;
74 template<
class FuncType>
77 assert (
p !=
nullptr);
86 return (
fFunc.f !=
nullptr) ? true :
false;
114 fFunc.params =
nullptr;
125 template<
class FuncType>
128 assert (
p !=
nullptr);
142 return GSL_MULTIMIN_FN_EVAL(&
fFunc, vx);
148 return (
fFunc.f !=
nullptr) ? true :
false;
winID h TVirtualViewer3D TVirtualGLPainter p
TRObject operator()(const T1 &t1) const
Wrapper for a multi-dimensional function with derivatives used in GSL multidim minimization algorithm...
void SetDim(unsigned int n)
void SetFuncPointer(GSLMultiMinFuncPointer f)
bool IsValid()
check if function is valid (has been set)
void SetFdfPointer(GSLMultiMinFdfPointer f)
void SetDerivPointer(GSLMultiMinDfPointer f)
gsl_multimin_function_fdf * GetFunc()
void SetFunction(const FuncType &f)
Fill gsl function structure from a C++ Function class.
GSLMultiMinDerivFunctionWrapper()
gsl_multimin_function_fdf fFunc
wrapper to a multi-dim function withtout derivatives for multi-dimensional minimization algorithm
void SetFuncPointer(GSLMultiMinFuncPointer f)
gsl_multimin_function * GetFunc()
void SetFunction(const FuncType &f)
Fill gsl function structure from a C++ Function class.
GSLMultiMinFunctionWrapper()
void SetDim(unsigned int n)
gsl_multimin_function fFunc
Namespace for new Math classes and functions.
void(* GSLMultiMinDfPointer)(const gsl_vector *, void *, gsl_vector *)
double(* GSLMultiMinFuncPointer)(const gsl_vector *, void *)
void(* GSLMultiMinFdfPointer)(const gsl_vector *, void *, double *, gsl_vector *)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Class for adapting any multi-dimension C++ functor class to C function pointers used by GSL MultiMin ...