15#ifndef CBM_RICH_RING_FITTER_ELLIPSE_TAU
16#define CBM_RICH_RING_FITTER_ELLIPSE_TAU
21#include "TMatrixDEigen.h"
88 void AMultB(
const double*
const ap,
int na,
int ncolsa,
const double*
const bp,
int nb,
int ncolsb,
double* cp);
93 void Jacobi(
double a[5][5],
double d[5],
double v[5][5]);
98 void Eigsrt(
double d[5],
double v[5][5]);
Base class for concrete ellipse fitting algorithms. Each derived class must implement the method DoFi...
static const int MAX_NOF_HITS_IN_RING
CbmRichRingFitterEllipseBase()
Default constructor.
CbmRichRingFitterEllipseTau()
Default constructor.
virtual ~CbmRichRingFitterEllipseTau()
Destructor.
void Taubin()
Perform Taubin method.
virtual void DoFit(CbmRichRingLight *ring)
Inherited from CbmRichRingFitterBase.
void AMultB(const double *const ap, int na, int ncolsa, const double *const bp, int nb, int ncolsb, double *cp)
Matrices multiplication.
void TransformEllipse(CbmRichRingLight *ring)
Transform fitted curve to ellipse parameters.
double fZT[MAX_NOF_HITS_IN_RING *6]
double fZ[MAX_NOF_HITS_IN_RING *6]
void Jacobi(double a[5][5], double d[5], double v[5][5])
Jacobi method.
void Inv5x5()
Invert 5x5 matrix.
void Eigsrt(double d[5], double v[5][5])
Find eigenvalues.
void InitMatrices(CbmRichRingLight *ring)
Initialize all matrices.