class ROOT::Math::ParamFunction: public ROOT::Math::IParametricGradFunctionOneDim


Base class for 1 Dimensional Parametric Functions.
A parameteric function is a Generic Function with parameters, so
it is a function object which carries a state, the parameters.
The parameters are described with a standard vector of doubles.

This class contains the default implementations for the methods defined in the
IParamFunction interface.
Specific parameteric function classes should derive from this class if they want to profit from
default implementations for the abstract methods.
The derived classes need to implement only the ParamFunction::operator(double x) and ParamFunction::Clone() methods.

@ingroup CppFunctions

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~ParamFunction()
virtual ROOT::Math::IBaseFunctionOneDim*ROOT::Math::IBaseFunctionOneDim::Clone() const
virtual ROOT::Math::IBaseFunctionOneDim*ROOT::Math::IBaseFunctionOneDim::Clone() const
doubleROOT::Math::IGradientOneDim::Derivative(double x) const
doubleROOT::Math::IGradientOneDim::Derivative(const double* x) const
virtual voidROOT::Math::IGradientFunctionOneDim::FdF(double x, double& f, double& df) const
const vector<double>&GetParGradient(double x)
voidROOT::Math::IGradientOneDim::Gradient(const double* x, double* g) const
virtual unsigned intNPar() const
virtual doubleROOT::Math::IParametricFunctionOneDim::operator()(double x, const double* p)
virtual doubleROOT::Math::IParametricFunctionOneDim::operator()(const double* x, const double* p)
ROOT::Math::ParamFunction&operator=(const ROOT::Math::ParamFunction&)
voidROOT::Math::IParametricGradFunctionOneDim::ParameterGradient(double x, double* grad) const
voidROOT::Math::IParametricGradFunctionOneDim::ParameterGradient(double* x, double* grad) const
virtual stringROOT::Math::IBaseParam::ParameterName(unsigned int i) const
virtual const double*Parameters() const
boolProvidesParameterGradient() const
virtual voidSetParameters(const double* p)

Data Members

protected:
vector<double>fParGradient
vector<double>fParams
private:
unsigned intfNpar
boolfProvGrad
boolfProvParGrad

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

virtual ~ParamFunction()
 destructor
{}
const double * Parameters()
 cloning

Deep copy of function (to be implemented by the derived classes)

virtual ParamFunction *  Clone() const = 0;

Access the parameter values

{ return &fParams.front(); }
void SetParameters(const double* p)
Set the parameter values
@param p vector of doubles containing the parameter values.

unsigned int NPar()
Return the number of parameters

{ return fNpar; }
bool ProvidesParameterGradient()
using BaseFunc::operator();

Return \a true if the calculation of derivatives is implemented

   bool ProvidesGradient() const {  return fProvGrad; }

Return \a true if the calculation of derivatives with respect to the Parameters is implemented

{ return fProvParGrad; }
const std::vector<double> & GetParGradient(double x)

Last update: root/mathmore:$Id: ParamFunction.h 21503 2007-12-19 17:34:54Z moneta $
Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.