Logo ROOT  
Reference Guide
MnCross.h
Go to the documentation of this file.
1// @(#)root/minuit2:$Id$
2// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7 * *
8 **********************************************************************/
9
10#ifndef ROOT_Minuit2_MnCross
11#define ROOT_Minuit2_MnCross
12
14
15namespace ROOT {
16
17 namespace Minuit2 {
18
19
20class MnCross {
21
22public:
23
24 class CrossParLimit {};
25 class CrossFcnLimit {};
26 class CrossNewMin {};
27
28public:
29
30 MnCross() : fValue(0.), fState(MnUserParameterState()), fNFcn(0), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false) {}
31
32 MnCross(unsigned int nfcn) : fValue(0.), fState(MnUserParameterState() ), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false) {}
33
34 MnCross(const MnUserParameterState& state, unsigned int nfcn) : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false) {}
35
36 MnCross(double value, const MnUserParameterState& state, unsigned int nfcn) : fValue(value), fState(state), fNFcn(nfcn), fValid(true), fLimset(false), fMaxFcn(false), fNewMin(false) {}
37
38 MnCross(const MnUserParameterState& state, unsigned int nfcn, CrossParLimit) : fValue(0.), fState(state), fNFcn(nfcn), fValid(true), fLimset(true), fMaxFcn(false), fNewMin(false) {}
39
40 MnCross(const MnUserParameterState& state, unsigned int nfcn, CrossFcnLimit) : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(true), fNewMin(false) {}
41
42 MnCross(const MnUserParameterState& state, unsigned int nfcn, CrossNewMin) : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(true) {}
43
45
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) {}
47
48 MnCross& operator=(const MnCross&) = default;
49
50 MnCross& operator()(const MnCross& cross) {
51 fValue = cross.fValue;
52 fState = cross.fState;
53 fNFcn = cross.fNFcn;
54 fValid = cross.fValid;
55 fLimset = cross.fLimset;
56 fMaxFcn = cross.fMaxFcn;
57 fNewMin = cross.fNewMin;
58 return *this;
59 }
60
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;}
68
69private:
70
71 double fValue;
73 unsigned int fNFcn;
74 bool fValid;
75 bool fLimset;
76 bool fMaxFcn;
77 bool fNewMin;
78};
79
80 } // namespace Minuit2
81
82} // namespace ROOT
83
84#endif // ROOT_Minuit2_MnCross
bool AtLimit() const
Definition: MnCross.h:64
const MnUserParameterState & State() const
Definition: MnCross.h:62
MnCross & operator()(const MnCross &cross)
Definition: MnCross.h:50
MnCross(double value, const MnUserParameterState &state, unsigned int nfcn)
Definition: MnCross.h:36
unsigned int NFcn() const
Definition: MnCross.h:67
MnUserParameterState fState
Definition: MnCross.h:72
bool AtMaxFcn() const
Definition: MnCross.h:65
MnCross(unsigned int nfcn)
Definition: MnCross.h:32
MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossNewMin)
Definition: MnCross.h:42
bool IsValid() const
Definition: MnCross.h:63
bool NewMinimum() const
Definition: MnCross.h:66
MnCross(const MnCross &cross)
Definition: MnCross.h:46
unsigned int fNFcn
Definition: MnCross.h:73
MnCross(const MnUserParameterState &state, unsigned int nfcn)
Definition: MnCross.h:34
MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossFcnLimit)
Definition: MnCross.h:40
MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossParLimit)
Definition: MnCross.h:38
MnCross & operator=(const MnCross &)=default
double Value() const
Definition: MnCross.h:61
class which holds the external user and/or internal Minuit representation of the parameters and error...
VSD Structures.
Definition: StringConv.hxx:21