SourceXtractorPlusPlus  0.11
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DataVsModelResiduals.h
Go to the documentation of this file.
1 
23 #ifndef MODELFITTING_DATAVSMODELRESIDUALS_H
24 #define MODELFITTING_DATAVSMODELRESIDUALS_H
25 
26 #include <memory>
30 
31 namespace ModelFitting {
32 
77 template <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 
86 public:
87 
107  DataVsModelResiduals(DataType data, ModelType model, WeightType weight, Comparator comparator);
108 
110  virtual ~DataVsModelResiduals();
111 
114  std::size_t numberOfResiduals() const override;
115 
117  void populateResidualBlock(IterType output_iter) override;
118 
119 private:
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 
139 template <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 
std::size_t numberOfResiduals() const override
void populateResidualBlock(IterType output_iter) override
Updates the values where the iterator points with the residuals.
Traits class the DataVsModelResiduals class uses for accessing its inputs.
Interface of a class which can provide a block of residuals for least square minimization solving...
virtual ~DataVsModelResiduals()
Destructor.
DataVsModelResiduals(DataType data, ModelType model, WeightType weight, Comparator comparator)
Constructs a new instance of DataVsModelResiduals.
STL class.
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)
ResidualBlockProvider for weighted comparison between data and a model.