BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
Parameter.cpp
Go to the documentation of this file.
1
// ************************************************************************************************
2
//
3
// BornAgain: simulate and fit reflection and scattering
4
//
5
//! @file Fit/Param/Parameter.cpp
6
//! @brief Implements class Parameter.
7
//!
8
//! @homepage http://www.bornagainproject.org
9
//! @license GNU General Public License v3 or higher (see COPYING)
10
//! @copyright Forschungszentrum Jülich GmbH 2018
11
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12
//
13
// ************************************************************************************************
14
15
#include "
Fit/Param/Parameter.h
"
16
#include <cmath>
17
18
namespace
{
19
const
double
default_step = 0.01;
20
const
double
step_factor = 0.01;
21
22
double
step_for_value(
double
value)
23
{
24
return
value == 0.0 ? default_step : std::abs(value) * step_factor;
25
}
26
}
// namespace
27
28
using namespace
mumufit
;
29
30
Parameter::Parameter
() : m_start_value(0.0), m_value(0.0), m_step(0.0), m_error(0.0) {}
31
32
Parameter::Parameter
(
const
std::string&
name
,
double
value,
const
AttLimits
& limits,
double
step)
33
: m_name(
name
)
34
, m_start_value(value)
35
, m_value(value)
36
, m_step(step)
37
, m_error(0.0)
38
, m_limits(limits)
39
{
40
if
(
step
<= 0.0)
41
m_step
= step_for_value(
value
);
42
}
43
44
std::string
Parameter::name
()
const
45
{
46
return
m_name
;
47
}
48
49
double
Parameter::startValue
()
const
50
{
51
return
m_start_value
;
52
}
53
54
AttLimits
Parameter::limits
()
const
55
{
56
return
m_limits
;
57
}
58
59
double
Parameter::value
()
const
60
{
61
return
m_value
;
62
}
63
64
void
Parameter::setValue
(
double
value)
65
{
66
m_value
=
value
;
67
}
68
69
double
Parameter::step
()
const
70
{
71
return
m_step
;
72
}
73
74
double
Parameter::error
()
const
75
{
76
return
m_error
;
77
}
78
79
void
Parameter::setError
(
double
value)
80
{
81
m_error
=
value
;
82
}
Parameter.h
Defines class Parameter.
AttLimits
Attributes and limits of a fit parameter, and coupling between these properties.
Definition:
AttLimits.h:25
mumufit::Parameter::setValue
void setValue(double value)
Definition:
Parameter.cpp:64
mumufit::Parameter::startValue
double startValue() const
Definition:
Parameter.cpp:49
mumufit::Parameter::m_value
double m_value
current value of fit parameters
Definition:
Parameter.h:56
mumufit::Parameter::m_name
std::string m_name
unique fit parameter name
Definition:
Parameter.h:54
mumufit::Parameter::Parameter
Parameter()
Definition:
Parameter.cpp:30
mumufit::Parameter::m_limits
AttLimits m_limits
Definition:
Parameter.h:59
mumufit::Parameter::step
double step() const
Definition:
Parameter.cpp:69
mumufit::Parameter::name
std::string name() const
Definition:
Parameter.cpp:44
mumufit::Parameter::limits
AttLimits limits() const
Definition:
Parameter.cpp:54
mumufit::Parameter::value
double value() const
Definition:
Parameter.cpp:59
mumufit::Parameter::error
double error() const
Definition:
Parameter.cpp:74
mumufit::Parameter::setError
void setError(double value)
Definition:
Parameter.cpp:79
mumufit::Parameter::m_start_value
double m_start_value
starting value of fit parameters
Definition:
Parameter.h:55
mumufit::Parameter::m_step
double m_step
approximate initial step for the minimizer
Definition:
Parameter.h:57
mumufit::Parameter::m_error
double m_error
error of fit parameter calculated by the minimizer
Definition:
Parameter.h:58
RealSpace::Particles::name
QString const & name(EShape k)
Definition:
particles.cpp:21
mumufit
The multi-library, multi-algorithm fit wrapper library.
Definition:
IFunctionAdapter.h:23
Fit
Param
Parameter.cpp
Generated by
1.9.1