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) | |
IMultiGenFunction * | Clone () 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 IMultiGradFunction * | OriginalFunction () const |
const double * | Transformation (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 | |
T | 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 | |
T | 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. | |
T | 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 | |
MinimTransformFunction & | operator= (const MinimTransformFunction &) |
Private Attributes | |
const IMultiGradFunction * | fFunc |
std::vector< unsigned int > | fIndex |
std::vector< MinimTransformVariable > | fVariables |
std::vector< double > | fX |
#include <Math/MinimTransformFunction.h>
Definition at line 44 of file MinimTransformFunction.h.
Definition at line 43 of file MinimTransformFunction.h.
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.
|
inline |
Destructor (delete function pointer)
Definition at line 60 of file MinimTransformFunction.h.
|
inlineprivate |
Definition at line 128 of file MinimTransformFunction.h.
|
inlinevirtual |
clone: not supported (since unique_ptr used in the fVariables)
Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.
Definition at line 72 of file MinimTransformFunction.h.
|
inlineprivatevirtual |
calculate derivatives
Definition at line 119 of file MinimTransformFunction.h.
|
inlineprivatevirtual |
function evaluation
Definition at line 108 of file MinimTransformFunction.h.
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.
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.
void ROOT::Math::MinimTransformFunction::InvTransformation | ( | const double * | xext, |
double * | xint | ||
) | const |
inverse transformation (external -> internal)
Definition at line 87 of file MinimTransformFunction.cxx.
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.
|
inlinevirtual |
Retrieve the dimension of the function.
Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.
Definition at line 67 of file MinimTransformFunction.h.
|
inline |
Definition at line 69 of file MinimTransformFunction.h.
|
inlineprivate |
Definition at line 133 of file MinimTransformFunction.h.
|
inline |
Definition at line 102 of file MinimTransformFunction.h.
transform from internal to external result is cached also inside the class
Definition at line 79 of file MinimTransformFunction.h.
void ROOT::Math::MinimTransformFunction::Transformation | ( | const double * | xint, |
double * | xext | ||
) | const |
transform from internal to external
Definition at line 63 of file MinimTransformFunction.cxx.
|
private |
Definition at line 144 of file MinimTransformFunction.h.
|
private |
Definition at line 143 of file MinimTransformFunction.h.
|
private |
Definition at line 142 of file MinimTransformFunction.h.
|
mutableprivate |
Definition at line 141 of file MinimTransformFunction.h.