• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/cern-oct12/go4/RICH/CbmRichRingFitterEllipseTau.h (r4864/r3568)

Go to the documentation of this file.
00001 
00011 #ifndef CBM_RICH_RING_FITTER_ELLIPSE_TAU
00012 #define CBM_RICH_RING_FITTER_ELLIPSE_TAU
00013 
00014 #include <vector>
00015 #include "CbmRichRingFitterEllipseBase.h"
00016 #include "TMath.h"
00017 #include "TVectorD.h"
00018 #include "TMatrixD.h"
00019 #include "TMatrixDEigen.h"
00020 
00021 #include <iostream>
00022 
00023 using std::vector;
00024 
00025 
00035 class CbmRichRingFitterEllipseTau : public CbmRichRingFitterEllipseBase
00036 {
00037 public:
00038 
00042    CbmRichRingFitterEllipseTau();
00043 
00047    virtual ~CbmRichRingFitterEllipseTau();
00048 
00052    virtual void DoFit(
00053          CbmRichRingLight *ring);
00054 
00055 private:
00056 
00057    double fM[36];
00058    double fP[25];
00059    double fQ[25];
00060    double fZ[MAX_NOF_HITS_IN_RING*6];
00061    double fZT[MAX_NOF_HITS_IN_RING*6];
00062    double fAlgPar[6];
00063 
00068         void TransformEllipse(
00069               CbmRichRingLight* ring);
00070 
00074         void InitMatrices(
00075               CbmRichRingLight* ring);
00076 
00080         void Taubin();
00081 
00085         void Inv5x5();
00086 
00090         void AMultB(
00091               const double * const ap,
00092               int na,
00093               int ncolsa,
00094               const double * const bp,
00095               int nb,
00096               int ncolsb,
00097               double *cp);
00098 
00102         void Jacobi(
00103               double a[5][5],
00104               double d[5],
00105               double v[5][5]);
00106 
00110         void Eigsrt(
00111               double d[5],
00112               double v[5][5]);
00113 };
00114 
00115 #endif

Generated on Tue Dec 10 2013 04:52:17 for ROCsoft by  doxygen 1.7.1