SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
WorldValueResidual.cpp
Go to the documentation of this file.
1
22
24
25namespace ModelFitting {
26
30
31static double computeResidual(double current, double expected, double weight) {
32 return weight * (current - expected);
33}
34
36 double expected_value, double weight)
37 : m_parameter(parameter), m_residual{computeResidual(parameter->getValue(), expected_value, weight)} {
38 m_observer_id = parameter->addObserver(
39 [this, expected_value, weight](double new_value){
40 m_residual = computeResidual(new_value, expected_value, weight);
41 }
42 );
43}
44
48
50 *output_iter = m_residual;
51}
52
53} // end of namespace ModelFitting
std::shared_ptr< BasicParameter > m_parameter
std::size_t numberOfResiduals() const override
Always returns 1, as this class creates a single residual.
WorldValueResidual(std::shared_ptr< BasicParameter > parameter, double expected_value, double weight=1.)
Constructs a new instance of WorldValueResidual.
void populateResidualBlock(IterType output_iter) override
static double computeResidual(double current, double expected, double weight)