Mother (and example) for function class suitable for ltl::Marquardt.
More...
Inherited by Gaussian< TPAR, TDAT, NPAR, NDIM >, Gaussian< TPAR, TDAT, 3, 2 >, Moffat< TPAR, TDAT, NPAR, NDIM >, PolyGaussian< TPAR, TDAT, NPAR, NDIM >, and PolyGaussian< TPAR, TDAT, 5, 2 >.
|
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 (if better than old one) and Hessematrix. More...
|
|
size_t | getNdof () const |
| Return degrees of freedom for fit. More...
|
|
|
static FVector< TPAR, NPAR > | partofit (const FVector< TPAR, NPAR > ¶meter) |
| 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...
|
|
template<class TPAR, class TDAT, int NPAR, int NDIM>
class MRQFunction< TPAR, TDAT, NPAR, NDIM >
Mother (and example) for function class suitable for ltl::Marquardt.
template<class TPAR, class TDAT, int NPAR, int NDIM>
void 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.
Referenced by PolyGaussian< TPAR, TDAT, 7, 2 >::covtoerr(), Gaussian< TPAR, TDAT, 5, 2 >::setData(), Gaussian< TPAR, TDAT, 3, 2 >::setData(), and PolyGaussian< TPAR, TDAT, 5, 2 >::setData().
template<class TPAR, class TDAT, int NPAR, int NDIM>
void MRQFunction< TPAR, TDAT, NPAR, NDIM >::freeData |
( |
| ) |
|
|
inline |
Free data and error.
Referenced by Gaussian< TPAR, TDAT, 5, 2 >::freeData(), Gaussian< TPAR, TDAT, 3, 2 >::freeData(), and PolyGaussian< TPAR, TDAT, 5, 2 >::freeData().
template<class TPAR, class TDAT, int NPAR, int NDIM>
static FVector<TPAR, NPAR> MRQFunction< TPAR, TDAT, NPAR, NDIM >::partofit |
( |
const FVector< TPAR, NPAR > & |
parameter | ) |
|
|
inlinestatic |
Convert external fit parameters to internal representation.
Referenced by Gaussian< TPAR, TDAT, 7, 2 >::fill(), Gaussian< TPAR, TDAT, 5, 2 >::fill(), PolyGaussian< TPAR, TDAT, 5, 2 >::fill(), Gaussian< TPAR, TDAT, 5, 2 >::fillExp(), and PolyGaussian< TPAR, TDAT, 5, 2 >::fillExp().
template<class TPAR, class TDAT, int NPAR, int NDIM>
static FVector<TPAR, NPAR> MRQFunction< TPAR, TDAT, NPAR, NDIM >::fittopar |
( |
const FVector< TPAR, NPAR > & |
fitpar, |
|
|
const typename FMatrix< TPAR, NPAR, NPAR >::TraceVector & |
trace |
|
) |
| |
|
inlinestatic |
template<class TPAR, class TDAT, int NPAR, int NDIM>
static FVector<TPAR, NPAR> 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 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
(if better than old one) and Hessematrix.
template<class TPAR, class TDAT, int NPAR, int NDIM>
size_t MRQFunction< TPAR, TDAT, NPAR, NDIM >::getNdof |
( |
| ) |
const |
|
inline |
Return degrees of freedom for fit.
template<class TPAR, class TDAT, int NPAR, int NDIM>
MArray<TDAT, NDIM> MRQFunction< TPAR, TDAT, NPAR, NDIM >::data_ |
|
protected |
Referenced by PolyGaussian< TPAR, TDAT, 7, 2 >::covtoerr(), PolyGaussian< TPAR, TDAT, 5, 2 >::covtoerr(), MRQFunction< TPAR, TDAT, 8, 2 >::freeData(), MRQFunction< TPAR, TDAT, 8, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 7, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 5, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 3, 2 >::marquardtCoefficients(), PolyGaussian< TPAR, TDAT, 7, 2 >::marquardtCoefficients(), PolyGaussian< TPAR, TDAT, 5, 2 >::marquardtCoefficients(), Moffat< TPAR, TDAT, 10, 2 >::marquardtCoefficients(), Moffat< TPAR, TDAT, 8, 2 >::marquardtCoefficients(), MRQFunction< TPAR, TDAT, 8, 2 >::setData(), Gaussian< TPAR, TDAT, 5, 2 >::setData(), Gaussian< TPAR, TDAT, 3, 2 >::setData(), and PolyGaussian< TPAR, TDAT, 5, 2 >::setData().
template<class TPAR, class TDAT, int NPAR, int NDIM>
Referenced by PolyGaussian< TPAR, TDAT, 7, 2 >::covtoerr(), PolyGaussian< TPAR, TDAT, 5, 2 >::covtoerr(), MRQFunction< TPAR, TDAT, 8, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 7, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 5, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 3, 2 >::marquardtCoefficients(), PolyGaussian< TPAR, TDAT, 7, 2 >::marquardtCoefficients(), PolyGaussian< TPAR, TDAT, 5, 2 >::marquardtCoefficients(), Moffat< TPAR, TDAT, 10, 2 >::marquardtCoefficients(), Moffat< TPAR, TDAT, 8, 2 >::marquardtCoefficients(), and MRQFunction< TPAR, TDAT, 8, 2 >::setData().
template<class TPAR, class TDAT, int NPAR, int NDIM>
MArray<TDAT, NDIM> MRQFunction< TPAR, TDAT, NPAR, NDIM >::error2_ |
|
protected |
Referenced by PolyGaussian< TPAR, TDAT, 7, 2 >::covtoerr(), PolyGaussian< TPAR, TDAT, 5, 2 >::covtoerr(), MRQFunction< TPAR, TDAT, 8, 2 >::freeData(), MRQFunction< TPAR, TDAT, 8, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 7, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 5, 2 >::marquardtCoefficients(), Gaussian< TPAR, TDAT, 3, 2 >::marquardtCoefficients(), PolyGaussian< TPAR, TDAT, 7, 2 >::marquardtCoefficients(), PolyGaussian< TPAR, TDAT, 5, 2 >::marquardtCoefficients(), Moffat< TPAR, TDAT, 10, 2 >::marquardtCoefficients(), Moffat< TPAR, TDAT, 8, 2 >::marquardtCoefficients(), and MRQFunction< TPAR, TDAT, 8, 2 >::setData().
template<class TPAR, class TDAT, int NPAR, int NDIM>