File indexing completed on 2025-01-30 10:22:11
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef ROOT_Minuit2_ContoursError
0011 #define ROOT_Minuit2_ContoursError
0012
0013 #include "Minuit2/MnConfig.h"
0014 #include "Minuit2/MinosError.h"
0015
0016 #include <vector>
0017 #include <utility>
0018
0019 namespace ROOT {
0020
0021 namespace Minuit2 {
0022
0023 class ContoursError {
0024
0025 public:
0026 ContoursError(unsigned int parX, unsigned int parY, const std::vector<std::pair<double, double>> &points,
0027 const MinosError &xmnos, const MinosError &ymnos, unsigned int nfcn)
0028 : fParX(parX), fParY(parY), fPoints(points), fXMinos(xmnos), fYMinos(ymnos), fNFcn(nfcn)
0029 {
0030 }
0031
0032 ~ContoursError() {}
0033
0034 ContoursError(const ContoursError &cont)
0035 : fParX(cont.fParX), fParY(cont.fParY), fPoints(cont.fPoints), fXMinos(cont.fXMinos), fYMinos(cont.fYMinos),
0036 fNFcn(cont.fNFcn)
0037 {
0038 }
0039
0040 ContoursError &operator()(const ContoursError &cont)
0041 {
0042 fParX = cont.fParX;
0043 fParY = cont.fParY;
0044 fPoints = cont.fPoints;
0045 fXMinos = cont.fXMinos;
0046 fYMinos = cont.fYMinos;
0047 fNFcn = cont.fNFcn;
0048 return *this;
0049 }
0050
0051 const std::vector<std::pair<double, double>> &operator()() const { return fPoints; }
0052
0053 std::pair<double, double> XMinos() const { return fXMinos(); }
0054
0055 std::pair<double, double> YMinos() const { return fYMinos(); }
0056
0057 unsigned int Xpar() const { return fParX; }
0058 unsigned int Ypar() const { return fParY; }
0059
0060 const MinosError &XMinosError() const { return fXMinos; }
0061
0062 const MinosError &YMinosError() const { return fYMinos; }
0063
0064 unsigned int NFcn() const { return fNFcn; }
0065 double XMin() const { return fXMinos.Min(); }
0066 double YMin() const { return fYMinos.Min(); }
0067
0068 private:
0069 unsigned int fParX;
0070 unsigned int fParY;
0071 std::vector<std::pair<double, double>> fPoints;
0072 MinosError fXMinos;
0073 MinosError fYMinos;
0074 unsigned int fNFcn;
0075 };
0076
0077 }
0078
0079 }
0080
0081 #endif