BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
MinimumBuilder.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_MinimumBuilder
11
#define ROOT_Minuit2_MinimumBuilder
12
13
#include "
Minuit2/MnTraceObject.h
"
14
15
namespace
ROOT
{
16
17
namespace
Minuit2 {
18
19
20
class
FunctionMinimum;
21
class
MnFcn;
22
class
GradientCalculator;
23
class
MinimumSeed;
24
class
MinimumState;
25
class
MnStrategy;
26
27
class
MinimumBuilder
{
28
29
public
:
30
31
MinimumBuilder
();
32
33
virtual
~MinimumBuilder
() {}
34
35
virtual
FunctionMinimum
Minimum
(
const
MnFcn
&,
const
GradientCalculator
&,
const
MinimumSeed
&,
const
MnStrategy
&,
unsigned
int
,
double
)
const
= 0;
36
37
int
StorageLevel
()
const
{
return
fStorageLevel
; }
38
int
PrintLevel
()
const
{
return
fPrintLevel
; }
39
40
bool
TraceIter
()
const
{
return
(
fTracer
); }
41
MnTraceObject
*
TraceObject
()
const
{
return
(
fTracer
); }
42
43
virtual
void
SetPrintLevel
(
int
level) {
fPrintLevel
= level;}
44
virtual
void
SetStorageLevel
(
int
level) {
fStorageLevel
= level;}
45
46
// set trace object (user manages it)
47
virtual
void
SetTraceObject
(
MnTraceObject
& obj) {
48
fTracer
= &obj;
49
}
50
51
void
TraceIteration
(
int
iter,
const
MinimumState
& state)
const
{
52
if
(
fTracer
) (*fTracer)(iter, state);
53
}
54
55
private
:
56
57
int
fPrintLevel
;
58
int
fStorageLevel
;
59
60
MnTraceObject
*
fTracer
;
//! tracer object (it is managed by user)
61
62
};
63
64
}
// namespace Minuit2
65
66
}
// namespace ROOT
67
68
#endif
// ROOT_Minuit2_MinimumBuilder
MnTraceObject.h
ROOT::Minuit2::FunctionMinimum
Definition:
FunctionMinimum.h:30
ROOT::Minuit2::GradientCalculator
Definition:
GradientCalculator.h:25
ROOT::Minuit2::MinimumBuilder
Definition:
MinimumBuilder.h:27
ROOT::Minuit2::MinimumBuilder::MinimumBuilder
MinimumBuilder()
ROOT::Minuit2::MinimumBuilder::SetStorageLevel
virtual void SetStorageLevel(int level)
Definition:
MinimumBuilder.h:44
ROOT::Minuit2::MinimumBuilder::TraceIteration
void TraceIteration(int iter, const MinimumState &state) const
Definition:
MinimumBuilder.h:51
ROOT::Minuit2::MinimumBuilder::fStorageLevel
int fStorageLevel
Definition:
MinimumBuilder.h:58
ROOT::Minuit2::MinimumBuilder::PrintLevel
int PrintLevel() const
Definition:
MinimumBuilder.h:38
ROOT::Minuit2::MinimumBuilder::StorageLevel
int StorageLevel() const
Definition:
MinimumBuilder.h:37
ROOT::Minuit2::MinimumBuilder::TraceIter
bool TraceIter() const
Definition:
MinimumBuilder.h:40
ROOT::Minuit2::MinimumBuilder::SetPrintLevel
virtual void SetPrintLevel(int level)
Definition:
MinimumBuilder.h:43
ROOT::Minuit2::MinimumBuilder::SetTraceObject
virtual void SetTraceObject(MnTraceObject &obj)
Definition:
MinimumBuilder.h:47
ROOT::Minuit2::MinimumBuilder::fPrintLevel
int fPrintLevel
Definition:
MinimumBuilder.h:57
ROOT::Minuit2::MinimumBuilder::TraceObject
MnTraceObject * TraceObject() const
Definition:
MinimumBuilder.h:41
ROOT::Minuit2::MinimumBuilder::~MinimumBuilder
virtual ~MinimumBuilder()
Definition:
MinimumBuilder.h:33
ROOT::Minuit2::MinimumBuilder::fTracer
MnTraceObject * fTracer
Definition:
MinimumBuilder.h:60
ROOT::Minuit2::MinimumBuilder::Minimum
virtual FunctionMinimum Minimum(const MnFcn &, const GradientCalculator &, const MinimumSeed &, const MnStrategy &, unsigned int, double) const =0
ROOT::Minuit2::MinimumSeed
Definition:
MinimumSeed.h:31
ROOT::Minuit2::MinimumState
Definition:
MinimumState.h:29
ROOT::Minuit2::MnFcn
Definition:
MnFcn.h:33
ROOT::Minuit2::MnStrategy
Definition:
MnStrategy.h:27
ROOT::Minuit2::MnTraceObject
Definition:
MnTraceObject.h:20
ROOT
Definition:
TUUID.h:7
Fit
3rdparty
RootMinimizers
Minuit2
MinimumBuilder.h
Generated by
1.9.1