16#ifndef ROOT_Math_WrappedParamFunction 
   17#define ROOT_Math_WrappedParamFunction 
   32typedef double( * FreeParamMultiFunctionPtr ) (
const double *, 
const double * );
 
   43template< 
typename FuncPtr =  FreeParamMultiFunctionPtr   >
 
   77   template<
class Iterator>
 
  110   unsigned int NDim()
 const override { 
return fDim; }
 
  116   double DoEvalPar(
const double * 
x, 
const double * 
p)
 const override {
 
 
 
  130typedef double( * FreeMultiFunctionPtr ) (
const double *);
 
  142template< 
typename FuncPtr =  FreeMultiFunctionPtr   >
 
  200   unsigned int NDim()
 const override { 
return fDim; }
 
  213   double DoEval(
const double * 
x)
 const override {
 
  223      for (
unsigned int i = 0; i < 
fDim; ++i) {
 
  233      return (*
fFunc)( 
fX.empty() ? nullptr : &
fX.front() );
 
 
  240   double DoEvalPar(
const double * 
x, 
const double * 
p )
 const override {
 
 
  250      for (
unsigned int i = 0; i < 
npar + 
fDim; ++i) {
 
  252         for (
unsigned int j = 0; 
j < 
npar; ++
j) {
 
  271      for (
unsigned int i = 0; i < 
npar; ++i) {
 
 
  282      for (
unsigned int i = 0; i < 
npar; ++i) {
 
 
  295   mutable std::vector<double> 
fX;
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Documentation for the abstract class IBaseFunctionMultiDim.
 
WrappedParamGenFunction class to wrap any multi-dimensional function implementing the operator()(cons...
 
WrappedParamFunctionGen & operator=(const WrappedParamFunctionGen &)=delete
 
double DoEval(const double *x) const override
evaluate the function (re-implement for being more efficient)
 
WrappedParamFunctionGen(const WrappedParamFunctionGen &)=delete
 
WrappedParamFunctionGen(const FuncPtr &func, unsigned int dim, unsigned int npar, const double *par, const unsigned int *idx)
Constructor a wrapped function from a pointer to a generic callable object implementation operator()(...
 
unsigned int NDim() const override
Retrieve the dimension of the function.
 
void SetParValues(unsigned int npar, const double *p) const
 
void SetParameters(const double *p) override
Set the parameter values.
 
unsigned int NPar() const override
Return the number of Parameters.
 
std::vector< unsigned int > fParIndices
 
double DoEvalPar(const double *x, const double *p) const override
implement the required IParamFunction interface
 
WrappedParamFunctionGen(FuncPtr &func, unsigned int dim, unsigned int npar, const double *par, const unsigned int *idx)
Constructor as before but taking now a non - const pointer to a callable object.
 
IMultiGenFunction * Clone() const override
clone the function
 
std::vector< double > fParams
 
std::vector< unsigned int > fVarIndices
 
const double * Parameters() const override
Access the parameter values.
 
WrappedParamFunction class to wrap any multi-dimensional function object implementing the operator()(...
 
unsigned int NDim() const override
Retrieve the dimension of the function.
 
const double * Parameters() const override
Access the parameter values.
 
void SetParameters(const double *p) override
Set the parameter values.
 
std::vector< double > fParams
 
WrappedParamFunction(FuncPtr func, unsigned int dim, Iterator begin, Iterator end)
Constructor a wrapped function from a pointer to a callable object, the function dimension and an ite...
 
IMultiGenFunction * Clone() const override
clone the function
 
double DoEvalPar(const double *x, const double *p) const override
evaluate the function given values and parameters (requested interface)
 
unsigned int NPar() const override
Return the number of Parameters.
 
WrappedParamFunction(FuncPtr func, unsigned int dim=1, unsigned int npar=0, double *par=nullptr)
Constructor a wrapped function from a pointer to a callable object, the function dimension and number...
 
Namespace for new Math classes and functions.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...