Logo ROOT   6.16/01
Reference Guide
List of all members | Public Member Functions | Protected Attributes | List of all members
ROOT::Minuit2::ParametricFunction Class Referenceabstract

Function which has parameters.

For example, one could define a one-dimensional Gaussian, by considering x as an input coordinate for the evaluation of the function, and the mean and the square root of the variance as parameters.

AS OF NOW PARAMETRICFUNCTION INHERITS FROM FCNBASE INSTEAD OF GENERICFUNCTION. THIS IS ONLY BECAUSE NUMERICAL2PGRADIENTCALCULATOR NEEDS AN FCNBASE OBJECT AND WILL BE CHANGED!!!!!!!!!!!!!!!!

Definition at line 45 of file ParametricFunction.h.

Public Member Functions

 ParametricFunction (const std::vector< double > &params)
 Constructor which initializes the ParametricFunction with the parameters given as input. More...
 
 ParametricFunction (int nparams)
 Constructor which initializes the ParametricFunction by setting the number of parameters. More...
 
virtual ~ParametricFunction ()
 
virtual std::vector< double > GetGradient (const std::vector< double > &x) const
 Member function returning the Gradient of the function with respect to its variables (but without including gradients with respect to its internal parameters). More...
 
virtual const std::vector< double > & GetParameters () const
 Accessor for the state of the parameters. More...
 
virtual unsigned int NumberOfParameters () const
 Accessor for the number of parameters. More...
 
virtual double operator() (const std::vector< double > &x) const =0
 Evaluates the function with the given coordinates. More...
 
virtual double operator() (const std::vector< double > &x, const std::vector< double > &params) const
 Evaluates the function with the given coordinates and Parameter values. More...
 
virtual void SetParameters (const std::vector< double > &params) const
 Sets the parameters of the ParametricFunction. More...
 
- Public Member Functions inherited from ROOT::Minuit2::FCNBase
virtual ~FCNBase ()
 
virtual double ErrorDef () const
 Error definition of the function. More...
 
virtual double operator() (const std::vector< double > &x) const =0
 The meaning of the vector of parameters is of course defined by the user, who uses the values of those parameters to calculate their function Value. More...
 
virtual void SetErrorDef (double)
 add interface to set dynamically a new error definition Re-implement this function if needed. More...
 
virtual double Up () const =0
 Error definition of the function. More...
 
- Public Member Functions inherited from ROOT::Minuit2::GenericFunction
virtual ~GenericFunction ()
 
virtual double operator() (const std::vector< double > &x) const =0
 Evaluates the function using the vector containing the input values. More...
 

Protected Attributes

std::vector< double > par
 The vector containing the parameters of the function It is mutable for "historical reasons" as in the hierarchy methods and classes are const and all the implications of changing them back to non-const are not clear. More...
 

#include <Minuit2/ParametricFunction.h>

Inheritance diagram for ROOT::Minuit2::ParametricFunction:
[legend]

Constructor & Destructor Documentation

◆ ParametricFunction() [1/2]

ROOT::Minuit2::ParametricFunction::ParametricFunction ( const std::vector< double > &  params)
inline

Constructor which initializes the ParametricFunction with the parameters given as input.

Parameters
paramsvector containing the initial Parameter values

Definition at line 59 of file ParametricFunction.h.

◆ ParametricFunction() [2/2]

ROOT::Minuit2::ParametricFunction::ParametricFunction ( int  nparams)
inline

Constructor which initializes the ParametricFunction by setting the number of parameters.

Parameters
nparamsnumber of parameters of the parametric function

Definition at line 72 of file ParametricFunction.h.

◆ ~ParametricFunction()

virtual ROOT::Minuit2::ParametricFunction::~ParametricFunction ( )
inlinevirtual

Definition at line 76 of file ParametricFunction.h.

Member Function Documentation

◆ GetGradient()

std::vector< double > ROOT::Minuit2::ParametricFunction::GetGradient ( const std::vector< double > &  x) const
virtual

Member function returning the Gradient of the function with respect to its variables (but without including gradients with respect to its internal parameters).

Parameters
xvector containing the coordinates of the point where the Gradient is to be calculated.
Returns
the Gradient vector of the function at the given point.

Definition at line 26 of file ParametricFunction.cxx.

◆ GetParameters()

virtual const std::vector< double > & ROOT::Minuit2::ParametricFunction::GetParameters ( ) const
inlinevirtual

Accessor for the state of the parameters.

Returns
vector containing the present Parameter settings

Definition at line 105 of file ParametricFunction.h.

◆ NumberOfParameters()

virtual unsigned int ROOT::Minuit2::ParametricFunction::NumberOfParameters ( ) const
inlinevirtual

Accessor for the number of parameters.

Returns
the number of function parameters

Definition at line 117 of file ParametricFunction.h.

◆ operator()() [1/2]

virtual double ROOT::Minuit2::ParametricFunction::operator() ( const std::vector< double > &  x) const
pure virtual

Evaluates the function with the given coordinates.

Parameters
xvector containing the input coordinates
Returns
the result of the function evaluation with the given coordinates.

Implements ROOT::Minuit2::FCNBase.

◆ operator()() [2/2]

virtual double ROOT::Minuit2::ParametricFunction::operator() ( const std::vector< double > &  x,
const std::vector< double > &  params 
) const
inlinevirtual

Evaluates the function with the given coordinates and Parameter values.

This member function is useful to implement when speed is an issue as it is faster to call only one function instead of two (SetParameters and operator()). The default implementation, provided for convenience, does the latter.

Parameters
xvector containing the input coordinates
paramsvector containing the Parameter values
Returns
the result of the function evaluation with the given coordinates and parameters

Definition at line 154 of file ParametricFunction.h.

◆ SetParameters()

virtual void ROOT::Minuit2::ParametricFunction::SetParameters ( const std::vector< double > &  params) const
inlinevirtual

Sets the parameters of the ParametricFunction.

Parameters
paramsvector containing the Parameter values

Definition at line 88 of file ParametricFunction.h.

Member Data Documentation

◆ par

std::vector<double> ROOT::Minuit2::ParametricFunction::par
mutableprotected

The vector containing the parameters of the function It is mutable for "historical reasons" as in the hierarchy methods and classes are const and all the implications of changing them back to non-const are not clear.

Definition at line 191 of file ParametricFunction.h.

Libraries for ROOT::Minuit2::ParametricFunction:
[legend]

The documentation for this class was generated from the following files: