EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbmRichRingFitterEllipseTau.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CbmRichRingFitterEllipseTau.h
1 
11 #ifndef CBM_RICH_RING_FITTER_ELLIPSE_TAU
12 #define CBM_RICH_RING_FITTER_ELLIPSE_TAU
13 
14 #include <vector>
16 #include "TMath.h"
17 #include "TVectorD.h"
18 #include "TMatrixD.h"
19 #include "TMatrixDEigen.h"
20 
21 #include <iostream>
22 
23 using std::vector;
24 
25 
36 {
37 public:
38 
43 
48 
52  virtual void DoFit(
53  CbmRichRingLight *ring);
54 
55 private:
56 
57  double fM[36];
58  double fP[25];
59  double fQ[25];
62  double fAlgPar[6];
63 
68  void TransformEllipse(
69  CbmRichRingLight* ring);
70 
74  void InitMatrices(
75  CbmRichRingLight* ring);
76 
80  void Taubin();
81 
85  void Inv5x5();
86 
90  void AMultB(
91  const double * const ap,
92  int na,
93  int ncolsa,
94  const double * const bp,
95  int nb,
96  int ncolsb,
97  double *cp);
98 
102  void Jacobi(
103  double a[5][5],
104  double d[5],
105  double v[5][5]);
106 
110  void Eigsrt(
111  double d[5],
112  double v[5][5]);
113 };
114 
115 #endif