31#ifndef ROOT_Math_GSLMultiMinFunctionWrapper
32#define ROOT_Math_GSLMultiMinFunctionWrapper
34#include "gsl/gsl_multimin.h"
74 template<
class FuncType>
86 return (
fFunc.f != 0) ? true :
false;
125 template<
class FuncType>
142 return GSL_MULTIMIN_FN_EVAL(&
fFunc, vx);
148 return (
fFunc.f != 0) ? true :
false;
TRObject operator()(const T1 &t1) const
typedef void((*Func_t)())
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 *)
Class for adapting any multi-dimension C++ functor class to C function pointers used by GSL MultiMin ...