14#ifndef ROOT_Math_ParamFunctor 
   15#define ROOT_Math_ParamFunctor 
   65template<
class ParentFunctor, 
class Func >
 
   68   typedef typename ParentFunctor::EvalType 
EvalType;
 
   69   typedef typename ParentFunctor::Impl     
Base;
 
  111      inline static T 
Eval( F & 
f, T *
x, 
double * 
p) {
 
 
  116         return f((T*)
x, (
double*)
p);
 
 
 
  121      inline static T 
Eval( F * 
f, T *
x, 
double * 
p) {
 
 
  126         return (*
f)((T*)
x, (
double*)
p);
 
 
 
  132      inline static T 
Eval( 
const F * 
f, T *
x, 
double * 
p) {
 
 
  136      inline static T 
EvalConst( 
const F * 
f, 
const T *
x, 
const double * 
p) {
 
  137         return (*
f)((T*)
x, (
double*)
p);
 
 
 
 
  145#if defined(__MAKECINT__) || defined(G__DICTIONARY) 
  148template<
class ParentFunctor>
 
  149class ParamFunctorHandler<ParentFunctor,
TRootIOCtor *> : 
public ParentFunctor::Impl
 
  155   double operator() (
double *, 
double * )  { 
return 0; }
 
  157   double operator() (
const double *, 
const double * )  { 
return 0; }
 
  159   ParamFunctorHandler  * Clone()
 const {
 
  172template <
class ParentFunctor, 
typename PointerToObj,
 
  173          typename PointerToMemFn>
 
  176   typedef typename ParentFunctor::Impl 
Base;
 
  218         return ((*pobj).*
f)(
x, 
p);
 
 
  222         return ((*pobj).*
f)((T*)
x, (
double*)
p);
 
 
 
 
  292   template <
class PtrObj, 
typename MemFn>
 
  302   template <
typename Func>
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
TRObject operator()(const T1 &t1) const
 
class defining the signature for multi-dim parametric functions
 
virtual T operator()(const T *x, const double *p)=0
 
virtual ~ParamFunctionBase()
 
virtual ParamFunctionBase * Clone() const =0
 
ParamFunctor Handler class is responsible for wrapping any other functor and pointer to free C functi...
 
EvalType operator()(EvalType x, double *p)
 
ParentFunctor::EvalType EvalType
 
virtual ~ParamFunctorHandler()
 
ParamFunctorHandler(const Func &fun)
 
ParamFunctorHandler * Clone() const
 
Param Functor class for Multidimensional functions.
 
ParamFunctorTempl(const ParamFunctorTempl &rhs)
Copy constructor.
 
ParamFunctorTempl(const Func &f)
construct from another generic Functor of multi-dimension
 
void SetFunction(Impl *f)
 
ParamFunctorTempl()
Default constructor.
 
ParamFunctorTempl(const PtrObj &p, MemFn memFn)
construct from a pointer to member function (multi-dim type)
 
ParamFunctorTempl(FreeFunc f)
 
ParamFunctorTempl(const std::function< T(const T *f, const Double_t *param)> &func)
 
T operator()(T *x, double *p)
 
virtual ~ParamFunctorTempl()
Destructor (no operations)
 
T(* FreeFunc)(T *, double *)
 
ParamFunctionBase< T > Impl
 
ParamFunctorTempl & operator=(const ParamFunctorTempl &rhs)
Assignment operator.
 
ParamFunctor Handler to Wrap pointers to member functions.
 
ParamMemFunHandler * Clone() const
 
ParamMemFunHandler(const ParamMemFunHandler &)=delete
 
ParamMemFunHandler & operator=(const ParamMemFunHandler &)=delete
 
double operator()(double x, double *p)
 
virtual ~ParamMemFunHandler()
 
ParamMemFunHandler(const PointerToObj &pObj, PointerToMemFn pMemFn)
constructor from a pointer to the class and a pointer to the function
 
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...
 
static T EvalConst(F *f, const T *x, const double *p)
 
static T Eval(F *f, T *x, double *p)
 
static T EvalConst(const F *f, const T *x, const double *p)
 
static T Eval(const F *f, T *x, double *p)
 
static T EvalConst(F &f, const T *x, const double *p)
 
static T Eval(F &f, T *x, double *p)
 
static T EvalConst(PObj &pobj, F &f, const T *x, const double *p)
 
static T Eval(PObj &pobj, F &f, T *x, double *p)