Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov. More...
#include <CbmRichRingFitterEllipseTau.h>


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] |
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
Definition at line 35 of file CbmRichRingFitterEllipseTau.h.
| 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.
| 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] |
Calculate chi2 of the ellipse fit.
| [in,out] | ring | Fitted RICH ring with ellipse fitter. |
Reimplemented from CbmRichRingFitterBase.
Definition at line 43 of file CbmRichRingFitterEllipseBase.h.
References CbmRichHitLight::fX, CbmRichHitLight::fY, CbmRichRingLight::GetAaxis(), CbmRichRingLight::GetBaxis(), CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetXF1(), CbmRichRingLight::GetXF2(), CbmRichRingLight::GetYF1(), CbmRichRingLight::GetYF2(), and CbmRichRingLight::SetChi2().
Referenced by DoFit(), and TransformEllipse().
| 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.
| [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] |
Calculate chi2 of the ellipse fit.
| [in,out] | ring | Fitted RICH ring with ellipse fitter. |
Reimplemented from CbmRichRingFitterBase.
Definition at line 43 of file CbmRichRingFitterEllipseBase.h.
References CbmRichHitLight::fX, CbmRichHitLight::fY, CbmRichRingLight::GetAaxis(), CbmRichRingLight::GetBaxis(), CbmRichRingLight::GetHit(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetXF1(), CbmRichRingLight::GetXF2(), CbmRichRingLight::GetYF1(), CbmRichRingLight::GetYF2(), and CbmRichRingLight::SetChi2().
| 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.
| [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] |
Inherited from CbmRichRingFitterBase.
Implements CbmRichRingFitterBase.
Definition at line 101 of file CbmRichRingFitterEllipseTau.cxx.
References CbmRichRingFitterEllipseBase::CalcChi2(), CbmRichRingLight::GetNofHits(), InitMatrices(), CbmRichRingLight::SetRadius(), CbmRichRingLight::SetXYABP(), Taubin(), and TransformEllipse().
| 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] |
| void CbmRichRingFitterEllipseTau::Taubin | ( | ) | [private] |
Perform Taubin method.
| void CbmRichRingFitterEllipseTau::Taubin | ( | ) | [private] |
| void CbmRichRingFitterEllipseTau::TransformEllipse | ( | CbmRichRingLight * | ring | ) | [private] |
Transform fitted curve to ellipse parameters.
| [in,out] | ring | RICH ring. |
| void CbmRichRingFitterEllipseTau::TransformEllipse | ( | CbmRichRingLight * | ring | ) | [private] |
Transform fitted curve to ellipse parameters.
| [in,out] | ring | RICH ring. |
Definition at line 231 of file CbmRichRingFitterEllipseTau.cxx.
References CbmRichRingFitterEllipseBase::CalcChi2(), fAlgPar, CbmRichRingLight::GetAaxis(), CbmRichRingLight::GetBaxis(), CbmRichRingLight::GetPhi(), CbmRichRingLight::SetAaxis(), CbmRichRingLight::SetABCDEF(), CbmRichRingLight::SetBaxis(), CbmRichRingLight::SetPhi(), CbmRichRingLight::SetRadius(), and CbmRichRingLight::SetXYABP().
Referenced by DoFit().
double CbmRichRingFitterEllipseTau::fAlgPar [private] |
Definition at line 62 of file CbmRichRingFitterEllipseTau.h.
Referenced by Taubin(), and TransformEllipse().
double CbmRichRingFitterEllipseTau::fM [private] |
Definition at line 57 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), and Taubin().
double CbmRichRingFitterEllipseTau::fP [private] |
Definition at line 58 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), Inv5x5(), and Taubin().
double CbmRichRingFitterEllipseTau::fQ [private] |
Definition at line 59 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices(), and Taubin().
double CbmRichRingFitterEllipseTau::fZ [private] |
Definition at line 60 of file CbmRichRingFitterEllipseTau.h.
Referenced by InitMatrices().
double CbmRichRingFitterEllipseTau::fZT [private] |
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().
1.7.1