#ifndef MARS_MStarLocalPos #define MARS_MStarLocalPos #ifndef MARS_MParContainer #include "MParContainer.h" #endif class MStarLocalPos : public MParContainer { private: //Expected position on camera Float_t fMagExp; Float_t fXExp; //[mm] Float_t fYExp; //[mm] //Ideal position on camera Float_t fMagIdeal; Float_t fXIdeal; //[mm] Float_t fYIdeal; //[mm] //Info from calculation Float_t fMagCalc; Float_t fMaxCalc; //[uA] Float_t fMeanXCalc; //[mm] Float_t fMeanYCalc; //[mm] Float_t fSigmaMinorAxisCalc; //[mm] Float_t fSigmaMajorAxisCalc; //[mm] //Info from uncorrelated Gauss fit Float_t fMagFit; Float_t fMaxFit; //[uA] Float_t fMeanXFit; //[mm] Float_t fMeanYFit; //[mm] Float_t fSigmaMinorAxisFit; //[mm] Float_t fSigmaMajorAxisFit; //[mm] Float_t fXXErr; Float_t fXYErr; Float_t fYYErr; Float_t fChiSquare; Int_t fNdof; //Info from correlated Gauss fit Float_t fMagCGFit; Float_t fMaxCGFit; //[uA] Float_t fMeanXCGFit; //[mm] Float_t fMeanYCGFit; //[mm] Float_t fSigmaXCGFit; //[mm] Float_t fSigmaYCGFit; //[mm] Float_t fCorrXYCGFit; // correlation coefficient Float_t fXXErrCGFit; // error matrix of (fMeanXCGFit,fMeanYCGFit) Float_t fXYErrCGFit; Float_t fYYErrCGFit; Float_t fChiSquareCGFit; Int_t fNdofCGFit; public: MStarLocalPos(const char *name=NULL, const char *title=NULL); //~MStarLocalPos(); Float_t GetMagExp() {return fMagExp;} Float_t GetXExp() {return fXExp;} Float_t GetYExp() {return fYExp;} Float_t GetMagIdeal() {return fMagIdeal;} Float_t GetXIdeal() {return fXIdeal;} Float_t GetYIdeal() {return fYIdeal;} Float_t GetMagCalc() {return fMagCalc;} Float_t GetMaxCalc() {return fMaxCalc;} Float_t GetMeanXCalc() {return fMeanXCalc;} Float_t GetMeanYCalc() {return fMeanYCalc;} Float_t GetSigmaMinorAxisCalc() {return fSigmaMinorAxisCalc;} Float_t GetSigmaMajorAxisCalc() {return fSigmaMajorAxisCalc;} Float_t GetMagFit() {return fMagFit;} Float_t GetMaxFit() {return fMaxFit;} Float_t GetMeanXFit() {return fMeanXFit;} Float_t GetMeanYFit() {return fMeanYFit;} Float_t GetSigmaMinorAxisFit() {return fSigmaMinorAxisFit;} Float_t GetSigmaMajorAxisFit() {return fSigmaMajorAxisFit;} Float_t GetChiSquare() {return fChiSquare;} UInt_t GetNdof() {return fNdof;} Float_t GetChiSquareNdof() {return fChiSquare/fNdof;} Float_t GetMeanX() {return fMeanXFit!=0?fMeanXFit:fMeanXCalc;} Float_t GetMeanY() {return fMeanXFit!=0?fMeanYFit:fMeanYCalc;} Float_t GetSigmaMinorAxis() {return fSigmaMinorAxisFit!=0?fSigmaMinorAxisFit:fSigmaMinorAxisCalc;} Float_t GetSigmaMajorAxis() {return fSigmaMajorAxisFit!=0?fSigmaMajorAxisFit:fSigmaMajorAxisCalc;} // getters for the correlated Gauss fit Float_t GetMagCGFit() {return fMagCGFit;} Float_t GetMaxCGFit() {return fMaxCGFit;} Float_t GetMeanXCGFit() {return fMeanXCGFit;} Float_t GetMeanYCGFit() {return fMeanYCGFit;} Float_t GetSigmaXCGFit() {return fSigmaXCGFit;} Float_t GetSigmaYCGFit() {return fSigmaYCGFit;} Float_t GetCorrXYCGFit() {return fCorrXYCGFit;} Float_t GetXXErrCGFit() {return fXXErrCGFit;} Float_t GetXYErrCGFit() {return fXYErrCGFit;} Float_t GetYYErrCGFit() {return fYYErrCGFit;} Float_t GetChiSquareCGFit() {return fChiSquareCGFit;} UInt_t GetNdofCGFit() {return fNdofCGFit;} Float_t GetChiSquareNdofCGFit() {return fChiSquareCGFit/fNdofCGFit;} void Reset(); void SetExpValues(Float_t mag, Float_t x, Float_t y); void SetIdealValues(Float_t mag, Float_t x, Float_t y); void SetCalcValues(Float_t mag, Float_t max, Float_t x, Float_t y, Float_t sigmaMinorAxis, Float_t sigmaMajorAxis); void SetFitValues(Float_t mag, Float_t max, Float_t x, Float_t y, Float_t sigmaMinorAxis, Float_t sigmaMajorAxis, Float_t chi, Int_t ndof); void SetFitValues(Float_t mag, Float_t max, Float_t x, Float_t y, Float_t sigmaX, Float_t sigmaY, Float_t chi, Int_t ndof, Float_t xx, Float_t xy, Float_t yy); void SetCGFitValues(Float_t mag, Float_t max, Float_t x, Float_t y, Float_t sigmaX, Float_t sigmaY, Float_t correlation, Float_t xx, Float_t xy, Float_t yy, Float_t chi, Int_t ndof); void Paint(Option_t *opt=NULL); void Print(Option_t *opt=NULL) const; ClassDef(MStarLocalPos, 1) // Container that holds the star information in the PMT camera }; #endif