BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ROOT::Math::GSLMultiMinDerivFunctionWrapper Class Reference

Description

Wrapper for a multi-dimensional function with derivatives used in GSL multidim minimization algorithm

Definition at line 104 of file GSLMultiMinFunctionWrapper.h.

Public Member Functions

 GSLMultiMinDerivFunctionWrapper ()
 
gsl_multimin_function_fdf * GetFunc ()
 
bool IsValid ()
 check if function is valid (has been set) More...
 
void SetDerivPointer (GSLMultiMinDfPointer f)
 
void SetDim (unsigned int n)
 
void SetFdfPointer (GSLMultiMinFdfPointer f)
 
void SetFuncPointer (GSLMultiMinFuncPointer f)
 
template<class FuncType >
void SetFunction (const FuncType &f)
 Fill gsl function structure from a C++ Function class. More...
 
void SetParams (void *p)
 

Private Attributes

gsl_multimin_function_fdf fFunc
 

Constructor & Destructor Documentation

◆ GSLMultiMinDerivFunctionWrapper()

ROOT::Math::GSLMultiMinDerivFunctionWrapper::GSLMultiMinDerivFunctionWrapper ( )
inline

Definition at line 108 of file GSLMultiMinFunctionWrapper.h.

109  {
110  fFunc.f = 0;
111  fFunc.df = 0;
112  fFunc.fdf = 0;
113  fFunc.n = 0;
114  fFunc.params = 0;
115  }

References fFunc.

Member Function Documentation

◆ GetFunc()

gsl_multimin_function_fdf* ROOT::Math::GSLMultiMinDerivFunctionWrapper::GetFunc ( )
inline

Definition at line 136 of file GSLMultiMinFunctionWrapper.h.

136 { return &fFunc; }

References fFunc.

Referenced by ROOT::Math::GSLMultiMinimizer::Set().

◆ IsValid()

bool ROOT::Math::GSLMultiMinDerivFunctionWrapper::IsValid ( )
inline

check if function is valid (has been set)

Definition at line 147 of file GSLMultiMinFunctionWrapper.h.

147  {
148  return (fFunc.f != 0) ? true : false;
149  }

References fFunc.

◆ SetDerivPointer()

void ROOT::Math::GSLMultiMinDerivFunctionWrapper::SetDerivPointer ( GSLMultiMinDfPointer  f)
inline

Definition at line 119 of file GSLMultiMinFunctionWrapper.h.

119 { fFunc.df = f; }

References fFunc.

Referenced by SetFunction().

◆ SetDim()

void ROOT::Math::GSLMultiMinDerivFunctionWrapper::SetDim ( unsigned int  n)
inline

Definition at line 121 of file GSLMultiMinFunctionWrapper.h.

121 { fFunc.n = n; }

References fFunc.

Referenced by SetFunction().

◆ SetFdfPointer()

void ROOT::Math::GSLMultiMinDerivFunctionWrapper::SetFdfPointer ( GSLMultiMinFdfPointer  f)
inline

Definition at line 120 of file GSLMultiMinFunctionWrapper.h.

120 { fFunc.fdf = f; }

References fFunc.

Referenced by SetFunction().

◆ SetFuncPointer()

void ROOT::Math::GSLMultiMinDerivFunctionWrapper::SetFuncPointer ( GSLMultiMinFuncPointer  f)
inline

Definition at line 118 of file GSLMultiMinFunctionWrapper.h.

118 { fFunc.f = f; }

References fFunc.

Referenced by SetFunction().

◆ SetFunction()

template<class FuncType >
void ROOT::Math::GSLMultiMinDerivFunctionWrapper::SetFunction ( const FuncType &  f)
inline

Fill gsl function structure from a C++ Function class.

Definition at line 126 of file GSLMultiMinFunctionWrapper.h.

126  {
127  const void * p = &f;
128  assert (p != 0);
132  SetDim( f.NDim() );
133  SetParams(const_cast<void *>(p));
134  }
static double F(const gsl_vector *x, void *p)
static void Df(const gsl_vector *x, void *p, gsl_vector *g)
static void Fdf(const gsl_vector *x, void *p, double *f, gsl_vector *g)

References SetDerivPointer(), SetDim(), SetFdfPointer(), SetFuncPointer(), and SetParams().

Referenced by ROOT::Math::GSLMultiMinimizer::Set().

Here is the call graph for this function:

◆ SetParams()

void ROOT::Math::GSLMultiMinDerivFunctionWrapper::SetParams ( void *  p)
inline

Definition at line 122 of file GSLMultiMinFunctionWrapper.h.

122 { fFunc.params = p; }

References fFunc.

Referenced by SetFunction().

Member Data Documentation

◆ fFunc

gsl_multimin_function_fdf ROOT::Math::GSLMultiMinDerivFunctionWrapper::fFunc
private

The documentation for this class was generated from the following file: