#ifndef _utl_QuadraticFitData_h_ #define _utl_QuadraticFitData_h_ #include namespace utl { class QuadraticFitData { public: QuadraticFitData() : fStart(0), fStop(0), fExtremePosition(0), fExtremePositionError(0), fChi2(0), fNdof(0) { fCoefficients[0] = fCoefficients[1] = fCoefficients[2] = 0; } double GetStart() const { return fStart; } double GetStop() const { return fStop; } double GetExtremePosition() const { return fExtremePosition; } double GetExtremePositionError() const { return fExtremePositionError; } double GetChi2() const { return fChi2; } int GetNdof() const { return fNdof; } const double* GetCoefficients() const { return fCoefficients; } double operator()(const double x) const { return fCoefficients[0] + fCoefficients[1]*x + fCoefficients[2]*x*x; } void SetStart(const double start) { fStart = start; } void SetStop(const double stop) { fStop = stop; } void SetExtremePosition(const double pos, const double posErr = 0) { fExtremePosition = pos; fExtremePositionError = posErr; } void SetChi2Ndof(const double chi2, const int ndof) { fChi2 = chi2; fNdof = ndof; } void SetCoefficients(const double coeff[3]) { for (int i = 0; i < 3; ++i) fCoefficients[i] = coeff[i]; } private: double fStart; double fStop; double fExtremePosition; double fExtremePositionError; double fChi2; int fNdof; double fCoefficients[3]; template friend class utl::QuadraticFitter; }; } #endif