|
SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
|
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. | |
| 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 |
References BasicParameter().
Referenced by BasicParameter(), BasicParameter(), ModelFitting::DependentParameter< Parameters >::DependentParameter(), ModelFitting::EngineParameter::EngineParameter(), ModelFitting::ManualParameter::ManualParameter(), operator=(), and operator=().

|
delete |
|
inlineexplicitprotected |
Definition at line 83 of file BasicParameter.h.
References m_value.
| 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 m_last_obs_id, m_observer_map, and std::move().
Referenced by ModelFitting::EngineValueResidual::EngineValueResidual().

|
inlinevirtual |
Reimplemented in ModelFitting::DependentParameter< Parameters >.
Definition at line 62 of file BasicParameter.h.
References m_value.
Referenced by ModelFitting::EngineParameter::getEngineToWorldDerivative(), and SourceXtractor::FlexibleModelFittingDependentParameter::getSigma().
| bool ModelFitting::BasicParameter::isObserved | ( | ) | const |
Definition at line 49 of file BasicParameter.cpp.
References m_observer_map.
Referenced by ModelFitting::DependentParameter< Parameters >::addParameterObserver(), and ModelFitting::DependentParameter< Parameters >::getValue().
|
delete |
|
delete |
| bool ModelFitting::BasicParameter::removeObserver | ( | std::size_t | id | ) |
Definition at line 45 of file BasicParameter.cpp.
References m_observer_map.
|
protectedvirtual |
Reimplemented in ModelFitting::EngineParameter, and ModelFitting::ManualParameter.
Definition at line 32 of file BasicParameter.cpp.
References m_observer_map, and m_value.
Referenced by ModelFitting::EngineParameter::setEngineValue(), ModelFitting::EngineParameter::setValue(), ModelFitting::ManualParameter::setValue(), and ModelFitting::DependentParameter< Parameters >::update().
|
protected |
Definition at line 81 of file BasicParameter.h.
|
private |
Definition at line 98 of file BasicParameter.h.
Referenced by addObserver().
|
private |
Definition at line 97 of file BasicParameter.h.
Referenced by addObserver(), isObserved(), removeObserver(), and setValue().
|
protected |
Definition at line 94 of file BasicParameter.h.
Referenced by BasicParameter(), getValue(), ModelFitting::DependentParameter< Parameters >::getValue(), and setValue().