Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::MinimTransformFunction Class Reference

MinimTransformFunction class to perform a transformations on the variables to deal with fixed or limited variables (support both double and single bounds) The class manages the passed function pointer.

Definition at line 39 of file MinimTransformFunction.h.

Public Types

typedef ROOT::Math::IMultiGradFunction::BaseFunc BaseFunc
 
typedef ROOT::Math::IMultiGradFunction BaseGradFunc
 
- Public Types inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T >
typedef IBaseFunctionMultiDimTempl< T > BaseFunc
 
typedef IGradientMultiDimTempl< T > BaseGrad
 
- Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T >
typedef T BackendType
 
typedef IBaseFunctionMultiDimTempl< T > BaseFunc
 

Public Member Functions

 MinimTransformFunction (const IMultiGradFunction *f, const std::vector< ROOT::Math::EMinimVariableType > &types, const std::vector< double > &values, const std::map< unsigned int, std::pair< double, double > > &bounds)
 Constructor from a IMultiGradFunction interface (which is managed by the class) vector specifying the variable types (free, bounded or fixed, defined in enum EMinimVariableTypes ) variable values (used for the fixed ones) and a map with the bounds (for the bounded variables)
 
 ~MinimTransformFunction ()
 Destructor (delete function pointer)
 
IMultiGenFunctionClone () const
 clone: not supported (since unique_ptr used in the fVariables)
 
void GradientTransformation (const double *x, const double *gExt, double *gInt) const
 transform gradient vector (external -> internal) at internal point x
 
void InvStepTransformation (const double *x, const double *sext, double *sint) const
 inverse transformation for steps (external -> internal) at external point x
 
void InvTransformation (const double *xext, double *xint) const
 inverse transformation (external -> internal)
 
void MatrixTransformation (const double *x, const double *covInt, double *covExt) const
 transform covariance matrix (internal -> external) at internal point x use row storages for matrices m(i,j) = rep[ i * dim + j]
 
unsigned int NDim () const
 Retrieve the dimension of the function.
 
unsigned int NTot () const
 
const IMultiGradFunctionOriginalFunction () const
 
const doubleTransformation (const double *x) const
 transform from internal to external result is cached also inside the class
 
void Transformation (const double *xint, double *xext) const
 transform from internal to external
 
- Public Member Functions inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T >
virtual ~IGradientFunctionMultiDimTempl ()
 Virtual Destructor (no operations)
 
virtual void FdF (const T *x, T &f, T *df) const
 Optimized method to evaluate at the same time the function value and derivative at a point x.
 
virtual void Gradient (const T *x, T *grad) const
 Evaluate all the vector of function derivatives (gradient) at a point x.
 
virtual void GradientWithPrevResult (const T *x, T *grad, T *previous_grad, T *previous_g2, T *previous_gstep) const
 In some cases, the gradient algorithm will use information from the previous step, these can be passed in with this overload.
 
virtual bool returnsInMinuit2ParameterSpace () const
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T >
 IBaseFunctionMultiDimTempl ()
 
virtual ~IBaseFunctionMultiDimTempl ()
 virtual destructor
 
operator() (const T *x) const
 Evaluate the function at a point x[].
 
- Public Member Functions inherited from ROOT::Math::IGradientMultiDimTempl< T >
virtual ~IGradientMultiDimTempl ()
 virual destructor
 
Derivative (const T *x, unsigned int icoord, T *previous_grad, T *previous_g2, T *previous_gstep) const
 In some cases, the derivative algorithm will use information from the previous step, these can be passed in with this overload.
 
Derivative (const T *x, unsigned int icoord=0) const
 Return the partial derivative with respect to the passed coordinate.
 

Private Member Functions

 MinimTransformFunction (const MinimTransformFunction &)
 
virtual double DoDerivative (const double *x, unsigned int icoord) const
 calculate derivatives
 
virtual double DoEval (const double *x) const
 function evaluation
 
MinimTransformFunctionoperator= (const MinimTransformFunction &)
 

Private Attributes

const IMultiGradFunctionfFunc
 
std::vector< unsigned intfIndex
 
std::vector< MinimTransformVariablefVariables
 
std::vector< doublefX
 

#include <Math/MinimTransformFunction.h>

Inheritance diagram for ROOT::Math::MinimTransformFunction:
[legend]

Member Typedef Documentation

◆ BaseFunc

◆ BaseGradFunc

Constructor & Destructor Documentation

◆ MinimTransformFunction() [1/2]

ROOT::Math::MinimTransformFunction::MinimTransformFunction ( const IMultiGradFunction f,
const std::vector< ROOT::Math::EMinimVariableType > &  types,
const std::vector< double > &  values,
const std::map< unsigned int, std::pair< double, double > > &  bounds 
)

Constructor from a IMultiGradFunction interface (which is managed by the class) vector specifying the variable types (free, bounded or fixed, defined in enum EMinimVariableTypes ) variable values (used for the fixed ones) and a map with the bounds (for the bounded variables)

Definition at line 24 of file MinimTransformFunction.cxx.

◆ ~MinimTransformFunction()

ROOT::Math::MinimTransformFunction::~MinimTransformFunction ( )
inline

Destructor (delete function pointer)

Definition at line 60 of file MinimTransformFunction.h.

◆ MinimTransformFunction() [2/2]

ROOT::Math::MinimTransformFunction::MinimTransformFunction ( const MinimTransformFunction )
inlineprivate

Definition at line 128 of file MinimTransformFunction.h.

Member Function Documentation

◆ Clone()

IMultiGenFunction * ROOT::Math::MinimTransformFunction::Clone ( ) const
inlinevirtual

clone: not supported (since unique_ptr used in the fVariables)

Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.

Definition at line 72 of file MinimTransformFunction.h.

◆ DoDerivative()

virtual double ROOT::Math::MinimTransformFunction::DoDerivative ( const double x,
unsigned int  icoord 
) const
inlineprivatevirtual

calculate derivatives

Definition at line 119 of file MinimTransformFunction.h.

◆ DoEval()

virtual double ROOT::Math::MinimTransformFunction::DoEval ( const double x) const
inlineprivatevirtual

function evaluation

Definition at line 108 of file MinimTransformFunction.h.

◆ GradientTransformation()

void ROOT::Math::MinimTransformFunction::GradientTransformation ( const double x,
const double gExt,
double gInt 
) const

transform gradient vector (external -> internal) at internal point x

Definition at line 121 of file MinimTransformFunction.cxx.

◆ InvStepTransformation()

void ROOT::Math::MinimTransformFunction::InvStepTransformation ( const double x,
const double sext,
double sint 
) const

inverse transformation for steps (external -> internal) at external point x

Definition at line 100 of file MinimTransformFunction.cxx.

◆ InvTransformation()

void ROOT::Math::MinimTransformFunction::InvTransformation ( const double xext,
double xint 
) const

inverse transformation (external -> internal)

Definition at line 87 of file MinimTransformFunction.cxx.

◆ MatrixTransformation()

void ROOT::Math::MinimTransformFunction::MatrixTransformation ( const double x,
const double covInt,
double covExt 
) const

transform covariance matrix (internal -> external) at internal point x use row storages for matrices m(i,j) = rep[ i * dim + j]

Definition at line 136 of file MinimTransformFunction.cxx.

◆ NDim()

unsigned int ROOT::Math::MinimTransformFunction::NDim ( ) const
inlinevirtual

Retrieve the dimension of the function.

Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.

Definition at line 67 of file MinimTransformFunction.h.

◆ NTot()

unsigned int ROOT::Math::MinimTransformFunction::NTot ( ) const
inline

Definition at line 69 of file MinimTransformFunction.h.

◆ operator=()

MinimTransformFunction & ROOT::Math::MinimTransformFunction::operator= ( const MinimTransformFunction )
inlineprivate

Definition at line 133 of file MinimTransformFunction.h.

◆ OriginalFunction()

const IMultiGradFunction * ROOT::Math::MinimTransformFunction::OriginalFunction ( ) const
inline

Definition at line 102 of file MinimTransformFunction.h.

◆ Transformation() [1/2]

const double * ROOT::Math::MinimTransformFunction::Transformation ( const double x) const
inline

transform from internal to external result is cached also inside the class

Definition at line 79 of file MinimTransformFunction.h.

◆ Transformation() [2/2]

void ROOT::Math::MinimTransformFunction::Transformation ( const double xint,
double xext 
) const

transform from internal to external

Definition at line 63 of file MinimTransformFunction.cxx.

Member Data Documentation

◆ fFunc

const IMultiGradFunction* ROOT::Math::MinimTransformFunction::fFunc
private

Definition at line 144 of file MinimTransformFunction.h.

◆ fIndex

std::vector<unsigned int> ROOT::Math::MinimTransformFunction::fIndex
private

Definition at line 143 of file MinimTransformFunction.h.

◆ fVariables

std::vector<MinimTransformVariable> ROOT::Math::MinimTransformFunction::fVariables
private

Definition at line 142 of file MinimTransformFunction.h.

◆ fX

std::vector<double> ROOT::Math::MinimTransformFunction::fX
mutableprivate

Definition at line 141 of file MinimTransformFunction.h.

Libraries for ROOT::Math::MinimTransformFunction:

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