CbmRoot
Loading...
Searching...
No Matches
CbmRichRingFitterEllipseTau Class Reference

Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov. More...

#include <CbmRichRingFitterEllipseTau.h>

Inheritance diagram for CbmRichRingFitterEllipseTau:
[legend]
Collaboration diagram for CbmRichRingFitterEllipseTau:
[legend]

Public Member Functions

 CbmRichRingFitterEllipseTau ()
 Default constructor.
 
virtual ~CbmRichRingFitterEllipseTau ()
 Destructor.
 
virtual void DoFit (CbmRichRingLight *ring)
 Inherited from CbmRichRingFitterBase.
 

Protected Member Functions

virtual void CalcChi2 (CbmRichRingLight *ring)
 Calculate chi2 of the ellipse fit.
 
virtual void CalcChi2 (double A, double B, double C, double D, double E, double F, CbmRichRingLight *ring)
 Calculate chi2 of the ellipse fitting using parameters of 2D curve.
 

Static Protected Attributes

static const int MAX_NOF_HITS_IN_RING = 400
 

Private Member Functions

void TransformEllipse (CbmRichRingLight *ring)
 Transform fitted curve to ellipse parameters.
 
void InitMatrices (CbmRichRingLight *ring)
 Initialize all matrices.
 
void Taubin ()
 Perform Taubin method.
 
void Inv5x5 ()
 Invert 5x5 matrix.
 
void AMultB (const double *const ap, int na, int ncolsa, const double *const bp, int nb, int ncolsb, double *cp)
 Matrices multiplication.
 
void Jacobi (double a[5][5], double d[5], double v[5][5])
 Jacobi method.
 
void Eigsrt (double d[5], double v[5][5])
 Find eigenvalues.
 

Private Attributes

double fM [36]
 
double fP [25]
 
double fQ [25]
 
double fZ [MAX_NOF_HITS_IN_RING *6]
 
double fZT [MAX_NOF_HITS_IN_RING *6]
 
double fAlgPar [6]
 

Detailed Description

Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.

Author
Alexander Ayriyan and Semen Lebedev s.leb.nosp@m.edev.nosp@m.@gsi..nosp@m.de
Date
2011

Definition at line 39 of file CbmRichRingFitterEllipseTau.h.

Constructor & Destructor Documentation

◆ CbmRichRingFitterEllipseTau()

CbmRichRingFitterEllipseTau::CbmRichRingFitterEllipseTau ( )

Default constructor.

Definition at line 94 of file CbmRichRingFitterEllipseTau.cxx.

◆ ~CbmRichRingFitterEllipseTau()

CbmRichRingFitterEllipseTau::~CbmRichRingFitterEllipseTau ( )
virtual

Destructor.

Definition at line 96 of file CbmRichRingFitterEllipseTau.cxx.

Member Function Documentation

◆ AMultB()

void CbmRichRingFitterEllipseTau::AMultB ( const double *const ap,
int na,
int ncolsa,
const double *const bp,
int nb,
int ncolsb,
double * cp )
private

Matrices multiplication.

Definition at line 467 of file CbmRichRingFitterEllipseTau.cxx.

Referenced by InitMatrices(), and Taubin().

◆ CalcChi2() [1/2]

virtual void CbmRichRingFitterEllipseBase::CalcChi2 ( CbmRichRingLight * ring)
inlineprotectedvirtualinherited

◆ CalcChi2() [2/2]

virtual void CbmRichRingFitterEllipseBase::CalcChi2 ( double A,
double B,
double C,
double D,
double E,
double F,
CbmRichRingLight * ring )
inlineprotectedvirtualinherited

Calculate chi2 of the ellipse fitting using parameters of 2D curve.

Parameters
[in]AA parameter of curve.
[in]BB parameter of curve.
[in]CC parameter of curve.
[in]DD parameter of curve.
[in]EE parameter of curve.
[in]FF parameter of curve.
[in]ringFitted RICH ring with ellipse fitter.

Definition at line 92 of file CbmRichRingFitterEllipseBase.h.

References CbmRichHitLight::fX, CbmRichHitLight::fY, CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::SetChi2(), sqrt(), x, and y.

◆ DoFit()

◆ Eigsrt()

void CbmRichRingFitterEllipseTau::Eigsrt ( double d[5],
double v[5][5] )
private

Find eigenvalues.

Definition at line 573 of file CbmRichRingFitterEllipseTau.cxx.

References v.

◆ InitMatrices()

void CbmRichRingFitterEllipseTau::InitMatrices ( CbmRichRingLight * ring)
private

◆ Inv5x5()

void CbmRichRingFitterEllipseTau::Inv5x5 ( )
private

Invert 5x5 matrix.

Definition at line 295 of file CbmRichRingFitterEllipseTau.cxx.

References fP, GM00, GM01, GM02, GM03, GM04, GM10, GM11, GM12, GM13, GM14, GM20, GM21, GM22, GM23, GM24, GM30, GM31, GM32, GM33, GM34, GM40, GM41, GM42, GM43, and GM44.

Referenced by Taubin().

◆ Jacobi()

void CbmRichRingFitterEllipseTau::Jacobi ( double a[5][5],
double d[5],
double v[5][5] )
private

Jacobi method.

Definition at line 494 of file CbmRichRingFitterEllipseTau.cxx.

References MAXSWEEP, ROTATE, sqrt(), and v.

◆ Taubin()

void CbmRichRingFitterEllipseTau::Taubin ( )
private

Perform Taubin method.

Definition at line 127 of file CbmRichRingFitterEllipseTau.cxx.

References AMultB(), fAlgPar, fM, fP, fQ, GA05, GA15, GA25, GA35, GA45, and Inv5x5().

Referenced by DoFit().

◆ TransformEllipse()

Member Data Documentation

◆ fAlgPar

double CbmRichRingFitterEllipseTau::fAlgPar[6]
private

Definition at line 62 of file CbmRichRingFitterEllipseTau.h.

Referenced by Taubin(), and TransformEllipse().

◆ fM

double CbmRichRingFitterEllipseTau::fM[36]
private

Definition at line 57 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices(), and Taubin().

◆ fP

double CbmRichRingFitterEllipseTau::fP[25]
private

Definition at line 58 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices(), Inv5x5(), and Taubin().

◆ fQ

double CbmRichRingFitterEllipseTau::fQ[25]
private

Definition at line 59 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices(), and Taubin().

◆ fZ

double CbmRichRingFitterEllipseTau::fZ[MAX_NOF_HITS_IN_RING *6]
private

Definition at line 60 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices().

◆ fZT

double CbmRichRingFitterEllipseTau::fZT[MAX_NOF_HITS_IN_RING *6]
private

Definition at line 61 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices().

◆ MAX_NOF_HITS_IN_RING

const int CbmRichRingFitterBase::MAX_NOF_HITS_IN_RING = 400
staticprotectedinherited

Definition at line 75 of file CbmRichRingFitterBase.h.

Referenced by DoFit(), and CbmRichRingFitterCOP::FitRing().


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