Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::FitTransformFunction< FMFunc > Class Template Reference

template<class FMFunc>
class ROOT::Math::FitTransformFunction< FMFunc >

Internal class used by GSLNLSMinimizer to implement the transformation of the chi2 function used by GSL Non-linear Least-square fitting The class is template on the FitMethodFunction type to support both gradient and non gradient functions.

Definition at line 40 of file GSLNLSMinimizer.cxx.

Public Member Functions

 FitTransformFunction (const FMFunc &f, std::unique_ptr< MinimTransformFunction > transFunc)
 
virtual ~FitTransformFunction ()
 
virtual IMultiGenFunctionClone () const
 
virtual double DataElement (const double *x, unsigned i, double *g=nullptr, double *=nullptr, bool=false) const
 
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 *cint, double *cext) const
 
virtual unsigned int NDim () const
 
unsigned int NTot () const
 
const doubleTransformation (const double *x) const
 

Private Member Functions

 FitTransformFunction (const FitTransformFunction &rhs)=delete
 
virtual double DoDerivative (const double *, unsigned int) const
 
virtual double DoEval (const double *x) const
 
FitTransformFunctionoperator= (const FitTransformFunction &rhs)=delete
 

Private Attributes

const FMFuncfFunc
 
std::vector< doublefGrad
 
bool fOwnTransformation
 
std::unique_ptr< MinimTransformFunctionfTransform
 
Inheritance diagram for ROOT::Math::FitTransformFunction< FMFunc >:
[legend]

Constructor & Destructor Documentation

◆ FitTransformFunction() [1/2]

template<class FMFunc >
ROOT::Math::FitTransformFunction< FMFunc >::FitTransformFunction ( const FMFunc f,
std::unique_ptr< MinimTransformFunction transFunc 
)
inline

Definition at line 44 of file GSLNLSMinimizer.cxx.

◆ ~FitTransformFunction()

template<class FMFunc >
virtual ROOT::Math::FitTransformFunction< FMFunc >::~FitTransformFunction ( )
inlinevirtual

Definition at line 54 of file GSLNLSMinimizer.cxx.

◆ FitTransformFunction() [2/2]

template<class FMFunc >
ROOT::Math::FitTransformFunction< FMFunc >::FitTransformFunction ( const FitTransformFunction< FMFunc > &  rhs)
privatedelete

Member Function Documentation

◆ Clone()

template<class FMFunc >
virtual IMultiGenFunction * ROOT::Math::FitTransformFunction< FMFunc >::Clone ( ) const
inlinevirtual

Definition at line 70 of file GSLNLSMinimizer.cxx.

◆ DataElement()

template<class FMFunc >
virtual double ROOT::Math::FitTransformFunction< FMFunc >::DataElement ( const double x,
unsigned  i,
double g = nullptr,
double = nullptr,
bool  = false 
) const
inlinevirtual

Definition at line 58 of file GSLNLSMinimizer.cxx.

◆ DoDerivative()

template<class FMFunc >
virtual double ROOT::Math::FitTransformFunction< FMFunc >::DoDerivative ( const double ,
unsigned int   
) const
inlineprivatevirtual

Definition at line 109 of file GSLNLSMinimizer.cxx.

◆ DoEval()

template<class FMFunc >
virtual double ROOT::Math::FitTransformFunction< FMFunc >::DoEval ( const double x) const
inlineprivatevirtual

Definition at line 105 of file GSLNLSMinimizer.cxx.

◆ GradientTransformation()

template<class FMFunc >
void ROOT::Math::FitTransformFunction< FMFunc >::GradientTransformation ( const double x,
const double gext,
double gint 
) const
inline

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

Definition at line 95 of file GSLNLSMinimizer.cxx.

◆ InvStepTransformation()

template<class FMFunc >
void ROOT::Math::FitTransformFunction< FMFunc >::InvStepTransformation ( const double x,
const double sext,
double sint 
) const
inline

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

Definition at line 92 of file GSLNLSMinimizer.cxx.

◆ InvTransformation()

template<class FMFunc >
void ROOT::Math::FitTransformFunction< FMFunc >::InvTransformation ( const double xext,
double xint 
) const
inline

inverse transformation (external -> internal)

Definition at line 89 of file GSLNLSMinimizer.cxx.

◆ MatrixTransformation()

template<class FMFunc >
void ROOT::Math::FitTransformFunction< FMFunc >::MatrixTransformation ( const double x,
const double cint,
double cext 
) const
inline

Definition at line 97 of file GSLNLSMinimizer.cxx.

◆ NDim()

template<class FMFunc >
virtual unsigned int ROOT::Math::FitTransformFunction< FMFunc >::NDim ( ) const
inlinevirtual

Definition at line 76 of file GSLNLSMinimizer.cxx.

◆ NTot()

template<class FMFunc >
unsigned int ROOT::Math::FitTransformFunction< FMFunc >::NTot ( ) const
inline

Definition at line 80 of file GSLNLSMinimizer.cxx.

◆ operator=()

template<class FMFunc >
FitTransformFunction & ROOT::Math::FitTransformFunction< FMFunc >::operator= ( const FitTransformFunction< FMFunc > &  rhs)
privatedelete

◆ Transformation()

template<class FMFunc >
const double * ROOT::Math::FitTransformFunction< FMFunc >::Transformation ( const double x) const
inline

Definition at line 85 of file GSLNLSMinimizer.cxx.

Member Data Documentation

◆ fFunc

template<class FMFunc >
const FMFunc& ROOT::Math::FitTransformFunction< FMFunc >::fFunc
private

Definition at line 116 of file GSLNLSMinimizer.cxx.

◆ fGrad

template<class FMFunc >
std::vector<double> ROOT::Math::FitTransformFunction< FMFunc >::fGrad
mutableprivate

Definition at line 118 of file GSLNLSMinimizer.cxx.

◆ fOwnTransformation

template<class FMFunc >
bool ROOT::Math::FitTransformFunction< FMFunc >::fOwnTransformation
private

Definition at line 115 of file GSLNLSMinimizer.cxx.

◆ fTransform

template<class FMFunc >
std::unique_ptr<MinimTransformFunction> ROOT::Math::FitTransformFunction< FMFunc >::fTransform
private

Definition at line 117 of file GSLNLSMinimizer.cxx.

  • math/mathmore/src/GSLNLSMinimizer.cxx