10 #ifndef ROOT_Minuit2_MnCross
11 #define ROOT_Minuit2_MnCross
24 class CrossParLimit {};
25 class CrossFcnLimit {};
30 MnCross() : fValue(0.), fState(MnUserParameterState()), fNFcn(0), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false) {}
32 MnCross(
unsigned int nfcn) : fValue(0.), fState(MnUserParameterState() ), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false) {}
34 MnCross(
const MnUserParameterState& state,
unsigned int nfcn) : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false) {}
36 MnCross(
double value,
const MnUserParameterState& state,
unsigned int nfcn) : fValue(value), fState(state), fNFcn(nfcn), fValid(true), fLimset(false), fMaxFcn(false), fNewMin(false) {}
38 MnCross(
const MnUserParameterState& state,
unsigned int nfcn, CrossParLimit) : fValue(0.), fState(state), fNFcn(nfcn), fValid(true), fLimset(true), fMaxFcn(false), fNewMin(false) {}
40 MnCross(
const MnUserParameterState& state,
unsigned int nfcn, CrossFcnLimit) : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(true), fNewMin(false) {}
42 MnCross(
const MnUserParameterState& state,
unsigned int nfcn, CrossNewMin) : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(true) {}
46 MnCross(
const MnCross& cross) : fValue(cross.fValue), fState(cross.fState), fNFcn(cross.fNFcn), fValid(cross.fValid), fLimset(cross.fLimset), fMaxFcn(cross.fMaxFcn), fNewMin(cross.fNewMin) {}
48 MnCross& operator=(
const MnCross&) =
default;
50 MnCross& operator()(
const MnCross& cross) {
51 fValue = cross.fValue;
52 fState = cross.fState;
54 fValid = cross.fValid;
55 fLimset = cross.fLimset;
56 fMaxFcn = cross.fMaxFcn;
57 fNewMin = cross.fNewMin;
61 double Value()
const {
return fValue;}
62 const MnUserParameterState& State()
const {
return fState;}
63 bool IsValid()
const {
return fValid;}
64 bool AtLimit()
const {
return fLimset;}
65 bool AtMaxFcn()
const {
return fMaxFcn;}
66 bool NewMinimum()
const {
return fNewMin;}
67 unsigned int NFcn()
const {
return fNFcn;}
72 MnUserParameterState fState;
84 #endif // ROOT_Minuit2_MnCross