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 
15 namespace ROOT {
16 
17 namespace Minuit2 {
18 
19 class MnCross {
20 
21 public:
22  class CrossParLimit {
23  };
24  class CrossFcnLimit {
25  };
26  class CrossNewMin {
27  };
28 
29 public:
31  : fValue(0.), fState(MnUserParameterState()), fNFcn(0), fValid(false), fLimset(false), fMaxFcn(false),
32  fNewMin(false)
33  {
34  }
35 
36  MnCross(unsigned int nfcn)
37  : fValue(0.), fState(MnUserParameterState()), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false),
38  fNewMin(false)
39  {
40  }
41 
42  MnCross(const MnUserParameterState &state, unsigned int nfcn)
43  : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(false)
44  {
45  }
46 
47  MnCross(double value, const MnUserParameterState &state, unsigned int nfcn)
48  : fValue(value), fState(state), fNFcn(nfcn), fValid(true), fLimset(false), fMaxFcn(false), fNewMin(false)
49  {
50  }
51 
52  MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossParLimit)
53  : fValue(0.), fState(state), fNFcn(nfcn), fValid(true), fLimset(true), fMaxFcn(false), fNewMin(false)
54  {
55  }
56 
57  MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossFcnLimit)
58  : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(true), fNewMin(false)
59  {
60  }
61 
62  MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossNewMin)
63  : fValue(0.), fState(state), fNFcn(nfcn), fValid(false), fLimset(false), fMaxFcn(false), fNewMin(true)
64  {
65  }
66 
67  ~MnCross() {}
68 
69  MnCross(const MnCross &cross)
70  : fValue(cross.fValue), fState(cross.fState), fNFcn(cross.fNFcn), fValid(cross.fValid), fLimset(cross.fLimset),
71  fMaxFcn(cross.fMaxFcn), fNewMin(cross.fNewMin)
72  {
73  }
74 
75  MnCross &operator=(const MnCross &) = default;
76 
77  MnCross &operator()(const MnCross &cross)
78  {
79  fValue = cross.fValue;
80  fState = cross.fState;
81  fNFcn = cross.fNFcn;
82  fValid = cross.fValid;
83  fLimset = cross.fLimset;
84  fMaxFcn = cross.fMaxFcn;
85  fNewMin = cross.fNewMin;
86  return *this;
87  }
88 
89  double Value() const { return fValue; }
90  const MnUserParameterState &State() const { return fState; }
91  bool IsValid() const { return fValid; }
92  bool AtLimit() const { return fLimset; }
93  bool AtMaxFcn() const { return fMaxFcn; }
94  bool NewMinimum() const { return fNewMin; }
95  unsigned int NFcn() const { return fNFcn; }
96 
97 private:
98  double fValue;
100  unsigned int fNFcn;
101  bool fValid;
102  bool fLimset;
103  bool fMaxFcn;
104  bool fNewMin;
105 };
106 
107 } // namespace Minuit2
108 
109 } // namespace ROOT
110 
111 #endif // ROOT_Minuit2_MnCross
ROOT::Minuit2::MnCross::Value
double Value() const
Definition: MnCross.h:89
ROOT::Minuit2::MnCross::MnCross
MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossParLimit)
Definition: MnCross.h:52
ROOT::Minuit2::MnCross::NewMinimum
bool NewMinimum() const
Definition: MnCross.h:94
ROOT::Minuit2::MnCross::fState
MnUserParameterState fState
Definition: MnCross.h:99
ROOT::Minuit2::MnCross::NFcn
unsigned int NFcn() const
Definition: MnCross.h:95
ROOT::Minuit2::MnCross::~MnCross
~MnCross()
Definition: MnCross.h:67
MnUserParameterState.h
ROOT::Minuit2::MnCross::fNFcn
unsigned int fNFcn
Definition: MnCross.h:100
ROOT::Minuit2::MnCross::CrossNewMin
Definition: MnCross.h:26
ROOT::Minuit2::MnCross::operator=
MnCross & operator=(const MnCross &)=default
ROOT::Minuit2::MnCross::State
const MnUserParameterState & State() const
Definition: MnCross.h:90
ROOT::Minuit2::MnCross
Definition: MnCross.h:19
ROOT::Minuit2::MnCross::fValue
double fValue
Definition: MnCross.h:98
ROOT::Minuit2::MnCross::operator()
MnCross & operator()(const MnCross &cross)
Definition: MnCross.h:77
ROOT::Minuit2::MnCross::fMaxFcn
bool fMaxFcn
Definition: MnCross.h:103
ROOT::Minuit2::MnCross::fValid
bool fValid
Definition: MnCross.h:101
ROOT::Minuit2::MnCross::MnCross
MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossFcnLimit)
Definition: MnCross.h:57
ROOT::Minuit2::MnCross::IsValid
bool IsValid() const
Definition: MnCross.h:91
ROOT::Minuit2::MnCross::MnCross
MnCross(unsigned int nfcn)
Definition: MnCross.h:36
ROOT::Minuit2::MnCross::CrossParLimit
Definition: MnCross.h:22
ROOT::Minuit2::MnCross::fLimset
bool fLimset
Definition: MnCross.h:102
ROOT::Minuit2::MnCross::MnCross
MnCross()
Definition: MnCross.h:30
ROOT::Minuit2::MnUserParameterState
class which holds the external user and/or internal Minuit representation of the parameters and error...
Definition: MnUserParameterState.h:33
ROOT::Minuit2::MnCross::MnCross
MnCross(const MnCross &cross)
Definition: MnCross.h:69
ROOT::Minuit2::MnCross::MnCross
MnCross(const MnUserParameterState &state, unsigned int nfcn)
Definition: MnCross.h:42
ROOT::Minuit2::MnCross::MnCross
MnCross(const MnUserParameterState &state, unsigned int nfcn, CrossNewMin)
Definition: MnCross.h:62
ROOT::Minuit2::MnCross::MnCross
MnCross(double value, const MnUserParameterState &state, unsigned int nfcn)
Definition: MnCross.h:47
ROOT::Minuit2::MnCross::fNewMin
bool fNewMin
Definition: MnCross.h:104
ROOT::Minuit2::MnCross::AtLimit
bool AtLimit() const
Definition: MnCross.h:92
ROOT::Minuit2::MnCross::CrossFcnLimit
Definition: MnCross.h:24
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
ROOT::Minuit2::MnCross::AtMaxFcn
bool AtMaxFcn() const
Definition: MnCross.h:93