ROOT logo
ROOT » MATH » MATHCORE » ROOT::Math::MinimTransformFunction

class ROOT::Math::MinimTransformFunction: public ROOT::Math::IGradientFunctionMultiDim

Function Members (Methods)

public:
virtual~MinimTransformFunction()
virtual ROOT::Math::IMultiGenFunction*Clone() const
doubleROOT::Math::IGradientMultiDim::Derivative(const double* x, unsigned int icoord = 0) const
virtual voidROOT::Math::IGradientFunctionMultiDim::FdF(const double* x, double& f, double* df) const
virtual voidROOT::Math::IGradientFunctionMultiDim::Gradient(const double* x, double* grad) const
voidGradientTransformation(const double* x, const double* gExt, double* gInt) const
voidInvStepTransformation(const double* x, const double* sext, double* sint) const
voidInvTransformation(const double* xext, double* xint) const
voidMatrixTransformation(const double* x, const double* covInt, double* covExt) const
ROOT::Math::MinimTransformFunctionMinimTransformFunction(const ROOT::Math::IMultiGradFunction* f, const vector<ROOT::Math::EMinimVariableType>& types, const vector<double>& values, const map<unsigned int,std::pair<double,double> >& bounds)
virtual unsigned intNDim() const
unsigned intNTot() const
doubleROOT::Math::IBaseFunctionMultiDim::operator()(const double* x) const
const ROOT::Math::IMultiGradFunction*OriginalFunction() const
const double*Transformation(const double* x) const
voidTransformation(const double* xint, double* xext) const
private:
virtual doubleDoDerivative(const double* x, unsigned int icoord) const
virtual doubleDoEval(const double* x) const
ROOT::Math::MinimTransformFunctionMinimTransformFunction(const ROOT::Math::MinimTransformFunction&)
ROOT::Math::MinimTransformFunction&operator=(const ROOT::Math::MinimTransformFunction&)

Data Members

private:
const ROOT::Math::IMultiGradFunction*fFuncuser function
vector<unsigned int>fIndexvector with external indices for internal variables
vector<MinimTransformVariable>fVariablesvector of variable settings and tranformation function
vector<double>fXinternal cached of external values

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

MinimTransformFunction(const ROOT::Math::IMultiGradFunction* f, const vector<ROOT::Math::EMinimVariableType>& types, const vector<double>& values, const 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)


unsigned int NDim() const
 method inherited from IFunction interface
{ return fIndex.size(); }
unsigned int NTot() const
{ return fFunc->NDim(); }
IMultiGenFunction * Clone() const
 clone:  not supported (since auto_ptr used in the fVariables)
const double * Transformation(const double* x) const
 transform from internal to external
 result is cached also inside the class
Transformation(x, &fX[0])
void InvTransformation(const double* xext, double* xint) const
 inverse transformation (external -> internal)
void InvStepTransformation(const double* x, const double* sext, double* sint) const
 inverse transformation for steps (external -> internal) at external point x
void GradientTransformation(const double* x, const double* gExt, double* gInt) const
transform gradient vector (external -> internal) at internal point x
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]
const IMultiGradFunction * OriginalFunction() const
 return original function
{ return fFunc; }
double DoEval(const double* x) const
 function evaluation
double DoDerivative(const double* x, unsigned int icoord) const
 calculate derivatives
MinimTransformFunction(const ROOT::Math::MinimTransformFunction& )
 copy constructor for this class (disable by having it private)
{}
MinimTransformFunction & operator=(const ROOT::Math::MinimTransformFunction& )
 assignment operator for this class (disable by having it private)