SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
DataVsModelResiduals.h
Go to the documentation of this file.
1
22
23#ifndef MODELFITTING_DATAVSMODELRESIDUALS_H
24#define MODELFITTING_DATAVSMODELRESIDUALS_H
25
26#include <memory>
27#include "ElementsKernel/Exception.h"
30
31namespace ModelFitting {
32
77template <typename DataType, typename ModelType, typename WeightType, typename Comparator>
79
80 // The following are just aliases to reduce the typing and make the code
81 // more readable
85
86public:
87
107 DataVsModelResiduals(DataType data, ModelType model, WeightType weight, Comparator comparator);
108
111
114 std::size_t numberOfResiduals() const override;
115
117 void populateResidualBlock(IterType output_iter) override;
118
119private:
120
121 DataType m_data;
122 ModelType m_model;
123 WeightType m_weight;
124 Comparator m_comparator;
126
127}; // end of class DataVsModelResiduals
128
129
139template <typename DataType, typename ModelType, typename WeightType, typename Comparator>
144 > createDataVsModelResiduals(DataType&& data, ModelType&& model,
145 WeightType&& weight, Comparator&& comparator);
146
147} // end of namespace ModelFitting
148
150
151#endif /* MODELFITTING_DATAVSMODELRESIDUALS_H */
152
virtual ~DataVsModelResiduals()
Destructor.
DataVsModelInputTraits< ModelType > ModelTraits
void populateResidualBlock(IterType output_iter) override
Updates the values where the iterator points with the residuals.
DataVsModelInputTraits< WeightType > WeightTraits
DataVsModelResiduals(DataType data, ModelType model, WeightType weight, Comparator comparator)
Constructs a new instance of DataVsModelResiduals.
DataVsModelInputTraits< DataType > DataTraits
std::size_t numberOfResiduals() const override
Interface of a class which can provide a block of residuals for least square minimization solving.
std::unique_ptr< DataVsModelResiduals< typename std::remove_reference< DataType >::type, typename std::remove_reference< ModelType >::type, typename std::remove_reference< WeightType >::type, typename std::remove_reference< Comparator >::type > > createDataVsModelResiduals(DataType &&data, ModelType &&model, WeightType &&weight, Comparator &&comparator)
Traits class the DataVsModelResiduals class uses for accessing its inputs.