// @(#)root/minuit2:$Id$ // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 /********************************************************************** * * * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * * * **********************************************************************/ #ifndef ROOT_Minuit2_ContoursError #define ROOT_Minuit2_ContoursError #include "Minuit2/MnConfig.h" #include "Minuit2/MinosError.h" #include #include namespace ROOT { namespace Minuit2 { class ContoursError { public: ContoursError(unsigned int parX, unsigned int parY, const std::vector> &points, const MinosError &xmnos, const MinosError &ymnos, unsigned int nfcn) : fParX(parX), fParY(parY), fPoints(points), fXMinos(xmnos), fYMinos(ymnos), fNFcn(nfcn) { } ~ContoursError() {} ContoursError(const ContoursError &cont) : fParX(cont.fParX), fParY(cont.fParY), fPoints(cont.fPoints), fXMinos(cont.fXMinos), fYMinos(cont.fYMinos), fNFcn(cont.fNFcn) { } ContoursError &operator()(const ContoursError &cont) { fParX = cont.fParX; fParY = cont.fParY; fPoints = cont.fPoints; fXMinos = cont.fXMinos; fYMinos = cont.fYMinos; fNFcn = cont.fNFcn; return *this; } const std::vector> &operator()() const { return fPoints; } std::pair XMinos() const { return fXMinos(); } std::pair YMinos() const { return fYMinos(); } unsigned int Xpar() const { return fParX; } unsigned int Ypar() const { return fParY; } const MinosError &XMinosError() const { return fXMinos; } const MinosError &YMinosError() const { return fYMinos; } unsigned int NFcn() const { return fNFcn; } double XMin() const { return fXMinos.Min(); } double YMin() const { return fYMinos.Min(); } private: unsigned int fParX; unsigned int fParY; std::vector> fPoints; MinosError fXMinos; MinosError fYMinos; unsigned int fNFcn; }; } // namespace Minuit2 } // namespace ROOT #endif // ROOT_Minuit2_ContoursError