Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Member Functions | Private Attributes

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:
Inheritance graph
[legend]
Collaboration diagram for CbmRichRingFitterEllipseTau:
Collaboration graph
[legend]

Public Member Functions

 CbmRichRingFitterEllipseTau ()
 Default constructor.
virtual ~CbmRichRingFitterEllipseTau ()
 Destructor.
virtual void DoFit (CbmRichRingLight *ring)
 Inherited from CbmRichRingFitterBase.
 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.
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.
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.lebedev@gsi.de>
Date:
2011

Definition at line 35 of file CbmRichRingFitterEllipseTau.h.


Constructor & Destructor Documentation

CbmRichRingFitterEllipseTau::CbmRichRingFitterEllipseTau (  ) 

Default constructor.

Definition at line 91 of file CbmRichRingFitterEllipseTau.cxx.

CbmRichRingFitterEllipseTau::~CbmRichRingFitterEllipseTau (  )  [virtual]

Destructor.

Definition at line 96 of file CbmRichRingFitterEllipseTau.cxx.

CbmRichRingFitterEllipseTau::CbmRichRingFitterEllipseTau (  ) 

Default constructor.

virtual CbmRichRingFitterEllipseTau::~CbmRichRingFitterEllipseTau (  )  [virtual]

Destructor.


Member Function Documentation

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 503 of file CbmRichRingFitterEllipseTau.cxx.

Referenced by InitMatrices(), and Taubin().

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

Matrices multiplication.

virtual void CbmRichRingFitterEllipseBase::CalcChi2 ( CbmRichRingLight ring  )  [inline, protected, virtual, inherited]
virtual void CbmRichRingFitterEllipseBase::CalcChi2 ( double  A,
double  B,
double  C,
double  D,
double  E,
double  F,
CbmRichRingLight ring 
) [inline, protected, virtual, inherited]

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

Parameters:
[in] A A parameter of curve.
[in] B B parameter of curve.
[in] C C parameter of curve.
[in] D D parameter of curve.
[in] E E parameter of curve.
[in] F F parameter of curve.
[in] ring Fitted RICH ring with ellipse fitter.

Definition at line 90 of file CbmRichRingFitterEllipseBase.h.

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

virtual void CbmRichRingFitterEllipseBase::CalcChi2 ( CbmRichRingLight ring  )  [inline, protected, virtual, inherited]
virtual void CbmRichRingFitterEllipseBase::CalcChi2 ( double  A,
double  B,
double  C,
double  D,
double  E,
double  F,
CbmRichRingLight ring 
) [inline, protected, virtual, inherited]

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

Parameters:
[in] A A parameter of curve.
[in] B B parameter of curve.
[in] C C parameter of curve.
[in] D D parameter of curve.
[in] E E parameter of curve.
[in] F F parameter of curve.
[in] ring Fitted RICH ring with ellipse fitter.

Definition at line 90 of file CbmRichRingFitterEllipseBase.h.

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

virtual void CbmRichRingFitterEllipseTau::DoFit ( CbmRichRingLight ring  )  [virtual]

Inherited from CbmRichRingFitterBase.

Implements CbmRichRingFitterBase.

void CbmRichRingFitterEllipseTau::DoFit ( CbmRichRingLight ring  )  [virtual]
void CbmRichRingFitterEllipseTau::Eigsrt ( double  d[5],
double  v[5][5] 
) [private]

Find eigenvalues.

Definition at line 616 of file CbmRichRingFitterEllipseTau.cxx.

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

Find eigenvalues.

void CbmRichRingFitterEllipseTau::InitMatrices ( CbmRichRingLight ring  )  [private]

Initialize all matrices.

void CbmRichRingFitterEllipseTau::InitMatrices ( CbmRichRingLight ring  )  [private]

Initialize all matrices.

Definition at line 170 of file CbmRichRingFitterEllipseTau.cxx.

References AMultB(), fM, fP, fQ, CbmRichHitLight::fX, CbmRichHitLight::fY, fZ, fZT, CbmRichRingLight::GetHit(), and CbmRichRingLight::GetNofHits().

Referenced by DoFit().

void CbmRichRingFitterEllipseTau::Inv5x5 (  )  [private]

Invert 5x5 matrix.

Definition at line 290 of file CbmRichRingFitterEllipseTau.cxx.

References fP.

Referenced by Taubin().

void CbmRichRingFitterEllipseTau::Inv5x5 (  )  [private]

Invert 5x5 matrix.

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

Jacobi method.

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

Jacobi method.

Definition at line 532 of file CbmRichRingFitterEllipseTau.cxx.

References ROTATE.

void CbmRichRingFitterEllipseTau::Taubin (  )  [private]

Perform Taubin method.

void CbmRichRingFitterEllipseTau::Taubin (  )  [private]

Perform Taubin method.

Definition at line 124 of file CbmRichRingFitterEllipseTau.cxx.

References AMultB(), fAlgPar, fM, fP, fQ, and Inv5x5().

Referenced by DoFit().

void CbmRichRingFitterEllipseTau::TransformEllipse ( CbmRichRingLight ring  )  [private]

Transform fitted curve to ellipse parameters.

Parameters:
[in,out] ring RICH ring.
void CbmRichRingFitterEllipseTau::TransformEllipse ( CbmRichRingLight ring  )  [private]

Field Documentation

Definition at line 62 of file CbmRichRingFitterEllipseTau.h.

Referenced by Taubin(), and TransformEllipse().

Definition at line 57 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices(), and Taubin().

Definition at line 58 of file CbmRichRingFitterEllipseTau.h.

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

Definition at line 59 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices(), and Taubin().

Definition at line 60 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices().

Definition at line 61 of file CbmRichRingFitterEllipseTau.h.

Referenced by InitMatrices().

static const int CbmRichRingFitterBase::MAX_NOF_HITS_IN_RING = 400 [static, protected, inherited]

Definition at line 76 of file CbmRichRingFitterBase.h.

Referenced by CbmRichRingFitterCOP::FitRing().


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