BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
CombinedMinimumBuilder.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_CombinedMinimumBuilder
11
#define ROOT_Minuit2_CombinedMinimumBuilder
12
13
#include "
Minuit2/MinimumBuilder.h
"
14
#include "
Minuit2/VariableMetricMinimizer.h
"
15
#include "
Minuit2/SimplexMinimizer.h
"
16
17
namespace
ROOT
{
18
19
namespace
Minuit2 {
20
21
22
class
CombinedMinimumBuilder
:
public
MinimumBuilder
{
23
24
public
:
25
26
CombinedMinimumBuilder
() :
fVMMinimizer
(
VariableMetricMinimizer
()),
27
fSimplexMinimizer
(
SimplexMinimizer
()) {}
28
29
~CombinedMinimumBuilder
() {}
30
31
virtual
FunctionMinimum
Minimum
(
const
MnFcn
&,
const
GradientCalculator
&,
const
MinimumSeed
&,
const
MnStrategy
&,
unsigned
int
,
double
)
const
;
32
33
//re-implement setter of base class. Need also to store in the base class for consistency
34
virtual
void
SetPrintLevel
(
int
level) {
35
MinimumBuilder::SetPrintLevel
(level);
36
fVMMinimizer
.
Builder
().
SetPrintLevel
(level);
37
fSimplexMinimizer
.
Builder
().
SetPrintLevel
(level);
38
}
39
virtual
void
SetStorageLevel
(
int
level) {
40
MinimumBuilder::SetStorageLevel
(level);
41
fVMMinimizer
.
Builder
().
SetStorageLevel
(level);
42
fSimplexMinimizer
.
Builder
().
SetStorageLevel
(level);
43
}
44
45
// set trace object (user manages it)
46
virtual
void
SetTraceObject
(
MnTraceObject
& obj) {
47
MinimumBuilder::SetTraceObject
(obj);
48
fVMMinimizer
.
Builder
().
SetTraceObject
(obj);
49
fSimplexMinimizer
.
Builder
().
SetTraceObject
(obj);
50
}
51
52
53
private
:
54
55
VariableMetricMinimizer
fVMMinimizer
;
56
SimplexMinimizer
fSimplexMinimizer
;
57
};
58
59
}
// namespace Minuit2
60
61
}
// namespace ROOT
62
63
#endif
// ROOT_Minuit2_CombinedMinimumBuilder
MinimumBuilder.h
SimplexMinimizer.h
VariableMetricMinimizer.h
ROOT::Minuit2::CombinedMinimumBuilder
Definition:
CombinedMinimumBuilder.h:22
ROOT::Minuit2::CombinedMinimumBuilder::SetPrintLevel
virtual void SetPrintLevel(int level)
Definition:
CombinedMinimumBuilder.h:34
ROOT::Minuit2::CombinedMinimumBuilder::~CombinedMinimumBuilder
~CombinedMinimumBuilder()
Definition:
CombinedMinimumBuilder.h:29
ROOT::Minuit2::CombinedMinimumBuilder::Minimum
virtual FunctionMinimum Minimum(const MnFcn &, const GradientCalculator &, const MinimumSeed &, const MnStrategy &, unsigned int, double) const
ROOT::Minuit2::CombinedMinimumBuilder::SetTraceObject
virtual void SetTraceObject(MnTraceObject &obj)
Definition:
CombinedMinimumBuilder.h:46
ROOT::Minuit2::CombinedMinimumBuilder::SetStorageLevel
virtual void SetStorageLevel(int level)
Definition:
CombinedMinimumBuilder.h:39
ROOT::Minuit2::CombinedMinimumBuilder::fVMMinimizer
VariableMetricMinimizer fVMMinimizer
Definition:
CombinedMinimumBuilder.h:55
ROOT::Minuit2::CombinedMinimumBuilder::fSimplexMinimizer
SimplexMinimizer fSimplexMinimizer
Definition:
CombinedMinimumBuilder.h:56
ROOT::Minuit2::CombinedMinimumBuilder::CombinedMinimumBuilder
CombinedMinimumBuilder()
Definition:
CombinedMinimumBuilder.h:26
ROOT::Minuit2::FunctionMinimum
Definition:
FunctionMinimum.h:30
ROOT::Minuit2::GradientCalculator
Definition:
GradientCalculator.h:25
ROOT::Minuit2::MinimumBuilder
Definition:
MinimumBuilder.h:27
ROOT::Minuit2::MinimumBuilder::SetStorageLevel
virtual void SetStorageLevel(int level)
Definition:
MinimumBuilder.h:44
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::MinimumSeed
Definition:
MinimumSeed.h:31
ROOT::Minuit2::MnFcn
Definition:
MnFcn.h:33
ROOT::Minuit2::MnStrategy
Definition:
MnStrategy.h:27
ROOT::Minuit2::MnTraceObject
Definition:
MnTraceObject.h:20
ROOT::Minuit2::SimplexMinimizer
Definition:
SimplexMinimizer.h:30
ROOT::Minuit2::SimplexMinimizer::Builder
const MinimumBuilder & Builder() const
Definition:
SimplexMinimizer.h:40
ROOT::Minuit2::VariableMetricMinimizer
Definition:
VariableMetricMinimizer.h:34
ROOT::Minuit2::VariableMetricMinimizer::Builder
const MinimumBuilder & Builder() const
Definition:
VariableMetricMinimizer.h:52
ROOT
Definition:
TUUID.h:7
Fit
3rdparty
RootMinimizers
Minuit2
CombinedMinimumBuilder.h
Generated by
1.9.1