BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
RealParameter (const std::string &name, double *par, const std::string &parent_name="", const std::function< void()> &onChange=std::function< void()>(), const RealLimits &limits=RealLimits::limitless(), const Attributes &attr=Attributes::free()) | |
virtual | ~RealParameter ()=default |
RealParameter * | clone (const std::string &new_name="") const |
void | setValue (double value) |
double | value () const |
RealParameter & | setLimits (const RealLimits &limits) |
RealLimits | limits () const |
RealParameter & | setLimited (double lower, double upper) |
RealParameter & | setPositive () |
RealParameter & | setNonnegative () |
RealParameter & | setUnit (const std::string &name) |
std::string | unit () const |
virtual bool | isNull () const |
double & | getData () const |
void | setData (double &data) |
bool | hasSameData (const IParameter &other) |
const std::string & | getName () const |
Protected Member Functions | |
std::string | fullName () const |
Protected Attributes | |
RealLimits | m_limits |
Attributes | m_attr |
Unit | m_unit |
const std::string | m_name |
double * | m_data |
const std::string | m_parent_name |
const std::function< void()> | m_onChange |
Wraps a parameter of type double.
In addition to name and on-change callback held by the parent class IParameter, this class holds Limits, Attributes (currently only fixed or not), and a Unit.
Definition at line 31 of file RealParameter.h.
RealParameter::RealParameter | ( | const std::string & | name, |
double * | par, | ||
const std::string & | parent_name = "" , |
||
const std::function< void()> & | onChange = std::function<void()>() , |
||
const RealLimits & | limits = RealLimits::limitless() , |
||
const Attributes & | attr = Attributes::free() |
||
) |
Definition at line 18 of file RealParameter.cpp.
References IParameter< double >::fullName(), RealLimits::isInRange(), limits(), m_limits, and value().
Referenced by clone().
|
virtualdefault |
|
virtual |
Implements IParameter< double >.
Definition at line 31 of file RealParameter.cpp.
References IParameter< double >::getName(), IParameter< double >::m_data, m_limits, IParameter< double >::m_onChange, IParameter< double >::m_parent_name, RealParameter(), and unit().
Referenced by ParameterPool::copyToExternalPool().
void RealParameter::setValue | ( | double | value | ) |
Sets value of wrapped parameter and emit signal.
Definition at line 39 of file RealParameter.cpp.
References IParameter< double >::fullName(), Attributes::isFixed(), RealLimits::isInRange(), IParameter< double >::isNull(), m_attr, IParameter< double >::m_data, m_limits, IParameter< double >::m_onChange, and value().
double RealParameter::value | ( | ) | const |
Returns value of wrapped parameter.
Definition at line 63 of file RealParameter.cpp.
References IParameter< double >::m_data.
Referenced by RealParameter(), setValue(), and pyfmt2::valueTimesUnit().
RealParameter & RealParameter::setLimits | ( | const RealLimits & | limits | ) |
Definition at line 68 of file RealParameter.cpp.
References limits(), and m_limits.
Referenced by DepthProbeSimulation::initialize(), SpecularSimulation::initialize(), setLimited(), setNonnegative(), and setPositive().
RealLimits RealParameter::limits | ( | ) | const |
Definition at line 74 of file RealParameter.cpp.
References m_limits.
Referenced by RealParameter(), ParameterPool::report_set_value_error(), and setLimits().
RealParameter & RealParameter::setLimited | ( | double | lower, |
double | upper | ||
) |
Definition at line 79 of file RealParameter.cpp.
References RealLimits::limited(), and setLimits().
Referenced by Beam::Beam().
RealParameter & RealParameter::setPositive | ( | ) |
Definition at line 85 of file RealParameter.cpp.
References RealLimits::positive(), and setLimits().
Referenced by BasicLattice::BasicLattice(), HexagonalLattice::HexagonalLattice(), and SquareLattice::SquareLattice().
RealParameter & RealParameter::setNonnegative | ( | ) |
Definition at line 91 of file RealParameter.cpp.
References RealLimits::nonnegative(), and setLimits().
Referenced by Beam::Beam(), DetectionProperties::DetectionProperties(), IInterferenceFunction::IInterferenceFunction(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), LayerRoughness::LayerRoughness(), MultiLayer::MultiLayer(), Layer::registerThickness(), and ResolutionFunction2DGaussian::ResolutionFunction2DGaussian().
RealParameter & RealParameter::setUnit | ( | const std::string & | name | ) |
Definition at line 97 of file RealParameter.cpp.
References m_unit, and Unit::setUnit().
Referenced by BasicLattice::BasicLattice(), Beam::Beam(), HexagonalLattice::HexagonalLattice(), IInterferenceFunction::IInterferenceFunction(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), Lattice2D::Lattice2D(), LayerRoughness::LayerRoughness(), MultiLayer::MultiLayer(), Layer::registerThickness(), IParameterized::registerVector(), Lattice2D::setRotationEnabled(), DistributionLogNormal::setUnits(), and SquareLattice::SquareLattice().
std::string RealParameter::unit | ( | ) | const |
Definition at line 106 of file RealParameter.cpp.
References Unit::getName(), and m_unit.
Referenced by clone(), ParameterUtils::poolParameterUnits(), and pyfmt2::valueTimesUnit().
|
inlinevirtualinherited |
Returns true if wrapped parameter was not initialized with proper real value.
Definition at line 39 of file IParameter.h.
|
inlineinherited |
Definition at line 41 of file IParameter.h.
|
inlineinherited |
Definition at line 42 of file IParameter.h.
|
inherited |
Returns true if two parameters are pointing to the same raw data.
Definition at line 48 of file IParameter.h.
|
inlineinherited |
Definition at line 49 of file IParameter.h.
|
inlineprotectedinherited |
|
protected |
Definition at line 59 of file RealParameter.h.
Referenced by clone(), limits(), RealParameter(), setLimits(), and setValue().
|
protected |
Definition at line 60 of file RealParameter.h.
Referenced by setValue().
|
protected |
Definition at line 61 of file RealParameter.h.
|
protectedinherited |
Definition at line 52 of file IParameter.h.
|
protectedinherited |
Definition at line 53 of file IParameter.h.
|
protectedinherited |
Definition at line 54 of file IParameter.h.
|
protectedinherited |
Definition at line 55 of file IParameter.h.