/********************************************************************************** * Class: CbmRichRingFitterEllipse * * Description: This is the header of a particular ellipse fitting * * Here the ring is fitted with Taubin algorithm from * * Alexander Ayriyan, G. Ososkov, N. Chernov * * * * Author : Alexander Ayriyan and Semen Lebedev * * E-mail : A.Ayriyan@gsi.de * **********************************************************************************/ #ifndef CBM_RICH_RING_FITTER_ELLIPSE_TAU_H #define CBM_RICH_RING_FITTER_ELLIPSE_TAU_H 1 #include #include #include #include //#define fN 6 #include "TH1D.h" #include "TTime.h" #include "TMath.h" #include "TEllipse.h" #include "TVectorD.h" #include "TMatrixD.h" #include "TMatrixDEigen.h" #include "CbmRichRingFitterEllipseBase.h" using namespace std; class CbmRichRingFitterEllipseTau : public CbmRichRingFitterEllipseBase { public: /***** Methods *****/ /** Default constructor **/ CbmRichRingFitterEllipseTau(); /** Standard constructor **/ CbmRichRingFitterEllipseTau(Int_t verbose, Double_t correction, TString fieldName); /** Destructor **/ virtual ~CbmRichRingFitterEllipseTau(); void DoFit1(CbmRichRing *pRing, vector hitX, vector hitY); void DoFit(CbmRichRing *pRing); void TransEllipse(CbmRichRing *pRing); void InitMatrices(); void Taubin(); private: TMatrixD fM; TMatrixD fP; TMatrixD fQ; vector fAlgPar; vector fX; vector fY; ClassDef(CbmRichRingFitterEllipseTau,1); }; #endif