ROOT
6.07/01
Reference Guide
|
Documentation for the abstract class IBaseFunctionMultiDim.
Interface (abstract class) for generic functions objects of multi-dimension Provides a method to evaluate the function given a vector of coordinate values, by implementing operator() (const double *). In addition it defines the interface for copying functions via the pure virtual method Clone() and the interface for getting the function dimension via the NDim() method. Derived classes must implement the pure private virtual method DoEval(const double *) for the function evaluation in addition to NDim() and Clone().
Definition at line 63 of file IFunction.h.
Public Types | |
typedef IBaseFunctionMultiDim | BaseFunc |
Public Member Functions | |
IBaseFunctionMultiDim () | |
virtual | ~IBaseFunctionMultiDim () |
virtual destructor More... | |
virtual IBaseFunctionMultiDim * | Clone () const =0 |
Clone a function. More... | |
virtual unsigned int | NDim () const =0 |
Retrieve the dimension of the function. More... | |
double | operator() (const double *x) const |
Evaluate the function at a point x[]. More... | |
Private Member Functions | |
virtual double | DoEval (const double *x) const =0 |
Implementation of the evaluation function. More... | |
#include <Math/IFunction.h>
Definition at line 67 of file IFunction.h.
|
inline |
Definition at line 70 of file IFunction.h.
|
inlinevirtual |
virtual destructor
Definition at line 75 of file IFunction.h.
|
pure virtual |
Clone a function.
Each derived class must implement their version of the Clone method
Implemented in ROOT::Math::GradFunctor, ROOT::Math::Functor, ROOT::Math::MultiDimParamGradFunctionAdapter, ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedParamFunctionGen< FuncPtr >, ROOT::Math::WrappedMultiFunction< Func >, ROOT::Math::MultiDimParamFunctionAdapter, ROOT::Math::LSResidualFunc, ROOT::Math::MultiNumGradFunction, ROOT::Math::WrappedParamFunction< FuncPtr >, WrapperRooPdf, ROOT::Math::WrappedMultiTF1, ROOT::Math::MinimTransformFunction, TPyMultiGradFunction, ROOT::Fit::FcnAdapter, RooMinimizerFcn, RooMultiGenFunction, TPyMultiGenFunction, GaussFunction, and GaussFunction.
Referenced by ROOT::Math::GSLMultiRootFinder::AddFunction(), ROOT::Fit::Fitter::ApplyWeightCorrection(), ROOT::Math::MultiNumGradFunction::Clone(), ROOT::Fit::Fitter::DoMinimization(), ROOT::Math::DistSampler::DoSetFunction(), TUnuranMultiContDist::operator=(), ROOT::Fit::Fitter::SetFCN(), ROOT::Math::BasicMinimizer::SetFunction(), ROOT::Fit::Fitter::SetFunction(), and TBackCompFitter::SetObjFunction().
|
privatepure virtual |
Implementation of the evaluation function.
Must be implemented by derived classes
Implemented in ROOT::Math::GradFunctor, ROOT::Math::Functor, ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedParamFunctionGen< FuncPtr >, ROOT::Math::WrappedMultiFunction< Func >, ROOT::Math::WrappedMultiTF1, ROOT::Math::IParametricFunctionMultiDim, ROOT::Math::LSResidualFunc, ROOT::Math::MultiNumGradFunction, ROOT::Math::MinimTransformFunction, RooMinimizerFcn, TPyMultiGradFunction, ROOT::Fit::FcnAdapter, RooMultiGenFunction, and TPyMultiGenFunction.
Referenced by operator()().
|
pure virtual |
Retrieve the dimension of the function.
Implemented in ROOT::Math::GradFunctor, ROOT::Math::Functor, ROOT::Math::MultiDimParamGradFunctionAdapter, ROOT::Math::WrappedMemMultiFunction< FuncObj, MemFuncPtr >, ROOT::Math::WrappedParamFunctionGen< FuncPtr >, ROOT::Math::WrappedMultiFunction< Func >, ROOT::Math::MultiDimParamFunctionAdapter, ROOT::Math::LSResidualFunc, ROOT::Math::WrappedParamFunction< FuncPtr >, WrapperRooPdf, ROOT::Math::MultiNumGradFunction, ROOT::Math::WrappedMultiTF1, ROOT::Math::MinimTransformFunction, TPyMultiGradFunction, RooMinimizerFcn, RooMultiGenFunction, ROOT::Fit::FcnAdapter, TPyMultiGenFunction, GaussFunction, and GaussFunction.
Referenced by ROOT::Fit::Fitter::ApplyWeightCorrection(), DoNewMinimization(), ROOT::Math::DistSampler::DoSetFunction(), DoUnBinFit(), ROOT::Fit::FitUtil::EvaluateChi2Effective(), ROOT::Fit::FitUtil::EvaluatePoissonLogL(), TBackCompFitter::ExecuteCommand(), FitUsingNewFitter(), GAMinimize(), ROOT::Math::IGradientFunctionMultiDim::Gradient(), ROOT::Math::DistSampler::IsInitialized(), Min2Minimize(), TUnuranMultiContDist::NDim(), ROOT::Math::MinimTransformFunction::NTot(), RooFunctorBinding::RooFunctorBinding(), RooFunctorPdfBinding::RooFunctorPdfBinding(), ROOT::Math::GSLMultiMinimizer::Set(), ROOT::Fit::Fitter::SetFCN(), ROOT::Math::GeneticMinimizer::SetFunction(), TFumiliMinimizer::SetFunction(), TMinuitMinimizer::SetFunction(), ROOT::Math::BasicMinimizer::SetFunction(), ROOT::Minuit2::Minuit2Minimizer::SetFunction(), ROOT::Math::AdaptiveIntegratorMultiDim::SetFunction(), ROOT::Math::GSLMCIntegrator::SetFunction(), ROOT::Math::IntegratorOneDim::SetFunction(), and testNewMinimizer().
Evaluate the function at a point x[].
Use the pure virtual private method DoEval which must be implemented by the sub-classes
Definition at line 92 of file IFunction.h.
Referenced by ROOT::Math::IGradientFunctionMultiDim::FdF().