Logo ROOT   6.16/01
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& cross) {
49 fValue = cross.fValue;
50 fState = cross.fState;
51 fNFcn = cross.fNFcn;
52 fValid = cross.fValid;
53 fLimset = cross.fLimset;
54 fMaxFcn = cross.fMaxFcn;
55 fNewMin = cross.fNewMin;
56 return *this;
57 }
58
59 double Value() const {return fValue;}
60 const MnUserParameterState& State() const {return fState;}
61 bool IsValid() const {return fValid;}
62 bool AtLimit() const {return fLimset;}
63 bool AtMaxFcn() const {return fMaxFcn;}
64 bool NewMinimum() const {return fNewMin;}
65 unsigned int NFcn() const {return fNFcn;}
66
67private:
68
69 double fValue;
71 unsigned int fNFcn;
72 bool fValid;
73 bool fLimset;
74 bool fMaxFcn;
75 bool fNewMin;
76};
77
78 } // namespace Minuit2
79
80} // namespace ROOT
81
82#endif // ROOT_Minuit2_MnCross
bool AtLimit() const
Definition: MnCross.h:62
const MnUserParameterState & State() const
Definition: MnCross.h:60
MnCross & operator()(const MnCross &cross)
Definition: MnCross.h:48
MnCross(double value, const MnUserParameterState &state, unsigned int nfcn)
Definition: MnCross.h:36
unsigned int NFcn() const
Definition: MnCross.h:65
MnUserParameterState fState
Definition: MnCross.h:70
bool AtMaxFcn() const
Definition: MnCross.h:63
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:61
bool NewMinimum() const
Definition: MnCross.h:64
MnCross(const MnCross &cross)
Definition: MnCross.h:46
unsigned int fNFcn
Definition: MnCross.h:71
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
double Value() const
Definition: MnCross.h:59
class which holds the external user and/or internal Minuit representation of the parameters and error...
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21