BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
MnFcn.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_MnFcn
11
#define ROOT_Minuit2_MnFcn
12
13
#include "
Minuit2/MnConfig.h
"
14
#include "
Minuit2/MnMatrix.h
"
15
16
#include <vector>
17
18
namespace
ROOT
{
19
20
namespace
Minuit2 {
21
22
23
class
FCNBase;
24
/**
25
Wrapper class to FCNBase interface used internally by Minuit.
26
Apply conversion from calling the function from a Minuit Vector (MnAlgebraicVector) to a std::vector for
27
the function coordinates.
28
The class counts also the number of function calls. By default counter strart from zero, but a different value
29
might be given if the class is instantiated later on, for example for a set of different minimizaitons
30
Normally the derived class MnUserFCN should be instantiated with performs in addition the transformatiopn
31
internal-> external parameters
32
*/
33
class
MnFcn
{
34
35
public
:
36
37
/// constructor of
38
explicit
MnFcn
(
const
FCNBase
& fcn,
int
ncall = 0) :
fFCN
(fcn),
fNumCall
(ncall) {}
39
40
virtual
~MnFcn
();
41
42
virtual
double
operator()
(
const
MnAlgebraicVector
&)
const
;
43
unsigned
int
NumOfCalls
()
const
{
return
fNumCall
;}
44
45
//
46
//forward interface
47
//
48
double
ErrorDef
()
const
;
49
double
Up
()
const
;
50
51
const
FCNBase
&
Fcn
()
const
{
return
fFCN
;}
52
53
private
:
54
55
const
FCNBase
&
fFCN
;
56
57
protected
:
58
59
mutable
int
fNumCall
;
60
};
61
62
}
// namespace Minuit2
63
64
}
// namespace ROOT
65
66
#endif
// ROOT_Minuit2_MnFcn
MnConfig.h
MnMatrix.h
ROOT::Minuit2::FCNBase
Definition:
FCNBase.h:47
ROOT::Minuit2::LAVector
Definition:
LAVector.h:33
ROOT::Minuit2::MnFcn
Definition:
MnFcn.h:33
ROOT::Minuit2::MnFcn::fFCN
const FCNBase & fFCN
Definition:
MnFcn.h:55
ROOT::Minuit2::MnFcn::Up
double Up() const
ROOT::Minuit2::MnFcn::fNumCall
int fNumCall
Definition:
MnFcn.h:59
ROOT::Minuit2::MnFcn::Fcn
const FCNBase & Fcn() const
Definition:
MnFcn.h:51
ROOT::Minuit2::MnFcn::MnFcn
MnFcn(const FCNBase &fcn, int ncall=0)
constructor of
Definition:
MnFcn.h:38
ROOT::Minuit2::MnFcn::ErrorDef
double ErrorDef() const
ROOT::Minuit2::MnFcn::operator()
virtual double operator()(const MnAlgebraicVector &) const
ROOT::Minuit2::MnFcn::~MnFcn
virtual ~MnFcn()
ROOT::Minuit2::MnFcn::NumOfCalls
unsigned int NumOfCalls() const
Definition:
MnFcn.h:43
ROOT
Definition:
TUUID.h:7
Fit
3rdparty
RootMinimizers
Minuit2
MnFcn.h
Generated by
1.9.1