OpenMS
Loading...
Searching...
No Matches
TraceFitter::GenericFunctor Class Referenceabstract

Generic LM functor with a raw-pointer interface, used to keep Eigen out of the public API. More...

#include <OpenMS/FEATUREFINDER/TraceFitter.h>

Inheritance diagram for TraceFitter::GenericFunctor:
[legend]
Collaboration diagram for TraceFitter::GenericFunctor:
[legend]

Public Member Functions

int inputs () const
 Number of free parameters (input dimensionality).
 
int values () const
 Number of residuals (data points).
 
 GenericFunctor (int dimensions, int num_data_points)
 Construct with the given problem dimensions.
 
virtual ~GenericFunctor ()
 
virtual int operator() (const double *x, double *fvec)=0
 Compute residuals at the current parameter vector.
 
virtual int df (const double *x, double *J)=0
 Compute the Jacobian at the current parameter vector.
 

Protected Attributes

const int m_inputs
 
const int m_values
 

Detailed Description

Generic LM functor with a raw-pointer interface, used to keep Eigen out of the public API.

Subclasses implement the operator() to fill the residual vector and df to fill the Jacobian; the cpp wraps each side in an Eigen::Map before handing it to the LM solver.

Constructor & Destructor Documentation

◆ GenericFunctor()

GenericFunctor ( int  dimensions,
int  num_data_points 
)

Construct with the given problem dimensions.

Parameters
[in]dimensionsNumber of free parameters.
[in]num_data_pointsNumber of residuals.

◆ ~GenericFunctor()

virtual ~GenericFunctor ( )
virtual

Member Function Documentation

◆ df()

virtual int df ( const double *  x,
double *  J 
)
pure virtual

Compute the Jacobian at the current parameter vector.

Parameters
[in]xParameter vector of size inputs.
[out]JJacobian matrix, values rows by inputs columns, stored column-major.
Returns
0 on success.

Implemented in EGHTraceFitter::EGHTraceFunctor, and GaussTraceFitter::GaussTraceFunctor.

◆ inputs()

int inputs ( ) const

Number of free parameters (input dimensionality).

◆ operator()()

virtual int operator() ( const double *  x,
double *  fvec 
)
pure virtual

Compute residuals at the current parameter vector.

Parameters
[in]xParameter vector of size inputs.
[out]fvecResidual vector of size values.
Returns
0 on success.

Implemented in EGHTraceFitter::EGHTraceFunctor, and GaussTraceFitter::GaussTraceFunctor.

◆ values()

int values ( ) const

Number of residuals (data points).

Member Data Documentation

◆ m_inputs

const int m_inputs
protected

◆ m_values

const int m_values
protected