Documentation for class Functor class.
It is used to wrap in a very simple and convenient way multi-dimensional function objects. It can wrap all the following types:
The function dimension is required when constructing the functor.
Public Types | |
typedef FunctorImpl< IBaseFunctionMultiDim > | Impl |
typedef IBaseFunctionMultiDim::BaseFunc | ImplBase |
Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< double > | |
typedef double | BackendType |
typedef IBaseFunctionMultiDimTempl< double > | BaseFunc |
Public Member Functions | |
Functor () | |
Default constructor. | |
template<typename Func > | |
Functor (const Func &f, unsigned int dim) | |
construct from a callable object of multi-dimension with the right signature (implementing operator()(double *x) | |
Functor (const Functor &rhs) | |
Copy constructor for functor based on ROOT::Math::IMultiGenFunction. | |
template<class PtrObj , typename MemFn > | |
Functor (const PtrObj &p, MemFn memFn, unsigned int dim) | |
construct from a pointer to member function (multi-dim type) | |
virtual | ~Functor () |
Destructor (no operations) | |
ImplBase * | Clone () const |
Clone a function. | |
unsigned int | NDim () const |
Retrieve the dimension of the function. | |
Functor & | operator= (const Functor &rhs) |
Assignment operator. | |
Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< double > | |
IBaseFunctionMultiDimTempl () | |
virtual | ~IBaseFunctionMultiDimTempl () |
virtual destructor | |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. | |
Private Member Functions | |
double | DoEval (const double *x) const |
Implementation of the evaluation function. | |
Private Attributes | |
std::unique_ptr< Impl > | fImpl |
#include <Math/Functor.h>
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
Copy constructor for functor based on ROOT::Math::IMultiGenFunction.
|
inlinevirtual |
Clone a function.
Each derived class must implement their version of the Clone method
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.
Implementation of the evaluation function.
Must be implemented by derived classes
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.
|
inlinevirtual |
Retrieve the dimension of the function.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< double >.