#ifndef _utl_ExponentialFitData_h_ #define _utl_ExponentialFitData_h_ #include #include namespace utl { class ExponentialFitData { public: ExponentialFitData() : fStart(0), fStop(0), fAmplitude(0), fAmplitudeError(0), fSlope(0), fSlopeError(0), fOffset(0), fChi2(0), fNdof(0) { } double GetStart() const { return fStart; } double GetStop() const { return fStop; } double GetAmplitude() const { return fAmplitude; } double GetAmplitudeError() const { return fAmplitudeError; } double GetSlope() const { return fSlope; } double GetSlopeError() const { return fSlopeError; } double GetOffset() const { return fOffset; } double GetChi2() const { return fChi2; } int GetNdof() const { return fNdof; } double operator()(const double x) const { return fAmplitude * std::exp(fSlope*x); } void SetStart(const double start) { fStart = start; } void SetStop(const double stop) { fStop = stop; } void SetAmplitude(const double amp, const double ampErr) { fAmplitude = amp; fAmplitudeError = ampErr; } void SetSlope(const double slope, const double slopeErr) { fSlope = slope; fSlopeError = slopeErr; } void SetOffset(const double offset) { fOffset = offset; } void SetChi2Ndof(const double chi2, const int ndof) { fChi2 = chi2; fNdof = ndof; } private: double fStart; double fStop; double fAmplitude; double fAmplitudeError; double fSlope; double fSlopeError; double fOffset; double fChi2; int fNdof; template friend class utl::ExponentialFitter; }; } #endif