|
BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Wraps a parameter of type double. More...
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 |
| double & | getData () const |
| const std::string & | getName () const |
| bool | hasSameData (const IParameter &other) |
| Returns true if two parameters are pointing to the same raw data. More... | |
| virtual bool | isNull () const |
| Returns true if wrapped parameter was not initialized with proper real value. More... | |
| RealLimits | limits () const |
| void | setData (double &data) |
| RealParameter & | setLimited (double lower, double upper) |
| RealParameter & | setLimits (const RealLimits &limits) |
| RealParameter & | setNonnegative () |
| RealParameter & | setPositive () |
| RealParameter & | setUnit (const std::string &name) |
| void | setValue (double value) |
| Sets value of wrapped parameter and emit signal. More... | |
| std::string | unit () const |
| double | value () const |
| Returns value of wrapped parameter. More... | |
Protected Member Functions | |
| std::string | fullName () const |
| For use in error messages. More... | |
Protected Attributes | |
| Attributes | m_attr |
| double * | m_data |
| RealLimits | m_limits |
| const std::string | m_name |
| const std::function< void()> | m_onChange |
| const std::string | m_parent_name |
| Unit | m_unit |
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 RealParameter(), IParameter< double >::getName(), IParameter< double >::m_data, m_limits, IParameter< double >::m_onChange, IParameter< double >::m_parent_name, and unit().
Referenced by ParameterPool::copyToExternalPool().
|
inlineprotectedinherited |
|
inlineinherited |
Definition at line 41 of file IParameter.h.
|
inlineinherited |
Definition at line 49 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.
|
inlinevirtualinherited |
Returns true if wrapped parameter was not initialized with proper real value.
Definition at line 39 of file IParameter.h.
| 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().
|
inlineinherited |
Definition at line 42 of file IParameter.h.
| 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::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().
| 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(), ResolutionFunction2DGaussian::ResolutionFunction2DGaussian(), and Layer::registerThickness().
| RealParameter & RealParameter::setPositive | ( | ) |
Definition at line 85 of file RealParameter.cpp.
References RealLimits::positive(), and setLimits().
Referenced by BasicLattice2D::BasicLattice2D(), HexagonalLattice2D::HexagonalLattice2D(), and SquareLattice2D::SquareLattice2D().
| RealParameter & RealParameter::setUnit | ( | const std::string & | name | ) |
Definition at line 97 of file RealParameter.cpp.
References m_unit, RealSpace::Particles::name(), and Unit::setUnit().
Referenced by BasicLattice2D::BasicLattice2D(), Beam::Beam(), HexagonalLattice2D::HexagonalLattice2D(), IInterferenceFunction::IInterferenceFunction(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), Lattice2D::Lattice2D(), LayerRoughness::LayerRoughness(), MultiLayer::MultiLayer(), SquareLattice2D::SquareLattice2D(), Layer::registerThickness(), IParametricComponent::registerVector(), Lattice2D::setRotationEnabled(), and DistributionLogNormal::setUnits().
| 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().
| 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().
| 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(), ParticleDistribution::generateParticles(), setValue(), and pyfmt2::valueTimesUnit().
|
protected |
Definition at line 59 of file RealParameter.h.
Referenced by setValue().
|
protectedinherited |
Definition at line 53 of file IParameter.h.
|
protected |
Definition at line 58 of file RealParameter.h.
Referenced by RealParameter(), clone(), limits(), setLimits(), and setValue().
|
protectedinherited |
Definition at line 52 of file IParameter.h.
|
protectedinherited |
Definition at line 55 of file IParameter.h.
|
protectedinherited |
Definition at line 54 of file IParameter.h.
|
protected |
Definition at line 60 of file RealParameter.h.