SourceXtractorPlusPlus
0.10
Please provide a description of the project.
|
The parameter base class. More...
#include <BasicParameter.h>
Public Types | |
using | ParameterObserver = std::function< void(double)> |
Public Member Functions | |
virtual | ~BasicParameter () |
BasicParameter (const BasicParameter &)=delete | |
BasicParameter & | operator= (const BasicParameter &)=delete |
BasicParameter (BasicParameter &&)=delete | |
BasicParameter & | operator= (BasicParameter &&)=delete |
virtual double | getValue () const |
std::size_t | addObserver (ParameterObserver observer) |
The addObserver method adding observer to the member list. More... | |
bool | removeObserver (std::size_t id) |
bool | isObserved () const |
Protected Types | |
typedef std::function< void(void)> | GetValueHook |
Protected Member Functions | |
BasicParameter (const double value) | |
virtual void | setValue (const double new_value) |
Protected Attributes | |
GetValueHook | m_get_value_hook |
double | m_value |
Private Attributes | |
std::map< std::size_t, ParameterObserver > | m_observer_map |
std::size_t | m_last_obs_id = 0 |
The parameter base class.
Base class that any parameter class must implement (and extend). It includes the parameter value and a list of observers, which are being notified of any value change. The observers can be any function which are being called with new value when it changes.
Definition at line 43 of file BasicParameter.h.
|
protected |
Definition at line 79 of file BasicParameter.h.
using ModelFitting::BasicParameter::ParameterObserver = std::function<void(double)> |
Definition at line 50 of file BasicParameter.h.
|
virtualdefault |
|
delete |
|
delete |
|
inlineprotected |
Definition at line 83 of file BasicParameter.h.
std::size_t ModelFitting::BasicParameter::addObserver | ( | ParameterObserver | observer | ) |
The addObserver method adding observer to the member list.
Definition at line 39 of file BasicParameter.cpp.
References std::move().
|
inlinevirtual |
Reimplemented in ModelFitting::DependentParameter< Parameters >.
Definition at line 62 of file BasicParameter.h.
References m_value.
Referenced by SourceXtractor::FlexibleModelFittingDependentParameter::getSigma(), and ExpResidualProvider::populateResidualBlock().
bool ModelFitting::BasicParameter::isObserved | ( | ) | const |
Definition at line 49 of file BasicParameter.cpp.
Referenced by ModelFitting::DependentParameter< ModelFitting::EngineParameter >::addParameterObserver(), and ModelFitting::DependentParameter< ModelFitting::EngineParameter >::getValue().
|
delete |
|
delete |
bool ModelFitting::BasicParameter::removeObserver | ( | std::size_t | id | ) |
Definition at line 45 of file BasicParameter.cpp.
|
protectedvirtual |
Reimplemented in ModelFitting::EngineParameter, and ModelFitting::ManualParameter.
Definition at line 32 of file BasicParameter.cpp.
Referenced by ModelFitting::EngineParameter::setEngineValue(), ModelFitting::ManualParameter::setValue(), ModelFitting::EngineParameter::setValue(), and ModelFitting::DependentParameter< ModelFitting::EngineParameter >::update().
|
protected |
Definition at line 81 of file BasicParameter.h.
|
private |
Definition at line 98 of file BasicParameter.h.
|
private |
Definition at line 97 of file BasicParameter.h.
|
protected |
Definition at line 94 of file BasicParameter.h.
Referenced by getValue(), and ModelFitting::DependentParameter< ModelFitting::EngineParameter >::getValue().