DDASToys for NSCLDAQ  6.2-000
Public Member Functions | List of all members
ddastoys::analyticfit::SerialFitEngine1 Class Reference

Fit engine for analytic single pulse fits. More...

#include <jacobian_analytic.h>

Inheritance diagram for ddastoys::analyticfit::SerialFitEngine1:
Inheritance graph
[legend]
Collaboration diagram for ddastoys::analyticfit::SerialFitEngine1:
Collaboration graph
[legend]

Public Member Functions

 ~SerialFitEngine1 ()
 
 SerialFitEngine1 (std::vector< std::pair< uint16_t, uint16_t >> &data)
 Constructor. More...
 
virtual void jacobian (const gsl_vector *p, gsl_matrix *J)
 Compute the Jacobian matrix. More...
 
virtual void residuals (const gsl_vector *p, gsl_vector *r)
 Compute the vector of residuals. More...
 
- Public Member Functions inherited from ddastoys::CFitEngine
 CFitEngine (std::vector< std::pair< uint16_t, uint16_t >> &data)
 Constructor. More...
 
virtual ~CFitEngine ()
 Destructor.
 

Additional Inherited Members

- Protected Attributes inherited from ddastoys::CFitEngine
std::vector< uint16_t > x
 Trace x coordinate vector.
 
std::vector< uint16_t > y
 Trace y coordinate vector.
 

Detailed Description

Fit engine for analytic single pulse fits.

The concept is that each GSL lmfitter can supply a pair of methods: One that computes a vector of residuals and one that computes a Jacobian matrix of partial derivatives. At the implementation level we have two types of fits we need done: Single pulse fits and double pulse fits (the engines with names ending in 1 or 2). For each fit type we have two fit engines: 1) Serial computation (the engines with names starting with Serial) 2) GPU accelerated (the engines with names starting with Cuda). Finally a fit factory can generate the appropriate fit engine as desired by the actual fit.

Constructor & Destructor Documentation

◆ SerialFitEngine1()

ddastoys::analyticfit::SerialFitEngine1::SerialFitEngine1 ( std::vector< std::pair< uint16_t, uint16_t >> &  data)

Constructor.

Parameters
dataThe trace data.

Construct the fit engine and set the input data. Delegates to base class construction.

◆ ~SerialFitEngine1()

ddastoys::analyticfit::SerialFitEngine1::~SerialFitEngine1 ( )
inline

Destructor.

Member Function Documentation

◆ jacobian()

void ddastoys::analyticfit::SerialFitEngine1::jacobian ( const gsl_vector *  p,
gsl_matrix *  J 
)
virtual

Compute the Jacobian matrix.

Parameters
[in]pCurrent fit parameterization.
[out]JThe Jacobian for this iteration of the fit.

Compute the Jacobian matrix of the fit with respect to current values of the fit parameters. Weights are set to 1.0 and the x, y base class members are the trace data.

Implements ddastoys::CFitEngine.

◆ residuals()

void ddastoys::analyticfit::SerialFitEngine1::residuals ( const gsl_vector *  p,
gsl_vector *  r 
)
virtual

Compute the vector of residuals.

Parameters
[in]pCurrent fit parameters.
[out]rVector of residual values.

Implements ddastoys::CFitEngine.


The documentation for this class was generated from the following files: