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
Base class for concrete ellipse fitting algorithms. Each derived class must implement the method DoFi...
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
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.