LTL  2.0.x
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM > Class Template Reference

Mother (and example) for function class suitable for ltl::Marquardt. More...

Inherited by ltl::Gaussian< TPAR, TDAT, NPAR, NDIM >, ltl::Moffat< TPAR, TDAT, NPAR, NDIM >, ltl::Moffat< TPAR, TDAT, 10, 2 >, ltl::Moffat< TPAR, TDAT, 8, 2 >, ltl::PolyGaussian< TPAR, TDAT, NPAR, NDIM >, and ltl::PolyGaussian< TPAR, TDAT, 7, 2 >.

Public Member Functions

void setData (const MArray< TDAT, NDIM > &indata, const TDAT in_nan, const MArray< TDAT, NDIM > &inerror2)
 Set data, error and NaN value. More...
 
void freeData ()
 Free data and error. More...
 
TPAR marquardtCoefficients (const FVector< TPAR, NPAR > &restrict_ parameter, const TPAR chisquare_limit, FMatrix< TPAR, NPAR, NPAR > &restrict_ a, FVector< TPAR, NPAR > &restrict_ b) const
 Calculate actual $\chi^2$ (if better than old one) and Hessematrix. More...
 
size_t getNdof () const
 Return degrees of freedom for fit. More...
 

Static Public Member Functions

static FVector< TPAR, NPAR > partofit (const FVector< TPAR, NPAR > &parameter)
 Convert external fit parameters to internal representation. More...
 
static FVector< TPAR, NPAR > fittopar (const FVector< TPAR, NPAR > &fitpar, const typename FMatrix< TPAR, NPAR, NPAR >::TraceVector &trace)
 Convert internal fit parameters to external representation. More...
 
static FVector< TPAR, NPAR > covtoerr (const typename FMatrix< TPAR, NPAR, NPAR >::TraceVector &trace, const FVector< TPAR, NPAR > &fitpar)
 Calculate external error in parameters from internal covariance matrix. More...
 

Protected Attributes

MArray< TDAT, NDIM > data_
 
TDAT nan_data_
 
MArray< TDAT, NDIM > error2_
 
int ndof_
 

Detailed Description

template<class TPAR, class TDAT, int NPAR, int NDIM>
class ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >

Mother (and example) for function class suitable for ltl::Marquardt.

Member Function Documentation

template<class TPAR, class TDAT, int NPAR, int NDIM>
void ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::setData ( const MArray< TDAT, NDIM > &  indata,
const TDAT  in_nan,
const MArray< TDAT, NDIM > &  inerror2 
)
inline

Set data, error and NaN value.

template<class TPAR, class TDAT, int NPAR, int NDIM>
void ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::freeData ( )
inline

Free data and error.

template<class TPAR, class TDAT, int NPAR, int NDIM>
static FVector<TPAR, NPAR> ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::partofit ( const FVector< TPAR, NPAR > &  parameter)
inlinestatic

Convert external fit parameters to internal representation.

template<class TPAR, class TDAT, int NPAR, int NDIM>
static FVector<TPAR, NPAR> ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::fittopar ( const FVector< TPAR, NPAR > &  fitpar,
const typename FMatrix< TPAR, NPAR, NPAR >::TraceVector &  trace 
)
inlinestatic

Convert internal fit parameters to external representation.

template<class TPAR, class TDAT, int NPAR, int NDIM>
static FVector<TPAR, NPAR> ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::covtoerr ( const typename FMatrix< TPAR, NPAR, NPAR >::TraceVector &  trace,
const FVector< TPAR, NPAR > &  fitpar 
)
inlinestatic

Calculate external error in parameters from internal covariance matrix.

template<class TPAR, class TDAT, int NPAR, int NDIM>
TPAR ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::marquardtCoefficients ( const FVector< TPAR, NPAR > &restrict_  parameter,
const TPAR  chisquare_limit,
FMatrix< TPAR, NPAR, NPAR > &restrict_  a,
FVector< TPAR, NPAR > &restrict_  b 
) const
inline

Calculate actual $\chi^2$ (if better than old one) and Hessematrix.

template<class TPAR, class TDAT, int NPAR, int NDIM>
size_t ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::getNdof ( ) const
inline

Return degrees of freedom for fit.

Member Data Documentation

template<class TPAR, class TDAT, int NPAR, int NDIM>
MArray<TDAT, NDIM> ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::data_
protected
template<class TPAR, class TDAT, int NPAR, int NDIM>
TDAT ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::nan_data_
protected
template<class TPAR, class TDAT, int NPAR, int NDIM>
MArray<TDAT, NDIM> ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::error2_
protected
template<class TPAR, class TDAT, int NPAR, int NDIM>
int ltl::MRQFunction< TPAR, TDAT, NPAR, NDIM >::ndof_
protected