SourceXtractorPlusPlus  0.13
Please provide a description of the project.
FlexibleModelFittingConverterFactory.h
Go to the documentation of this file.
1 
17 /*
18  * FlexibleModelFittingConverterFactory.h
19  *
20  * Created on: May 10, 2019
21  * Author: mschefer
22  */
23 
24 #ifndef _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGCONVERTERFACTORY_H_
25 #define _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGCONVERTERFACTORY_H_
26 
27 #include <memory>
28 #include <functional>
29 
30 namespace ModelFitting {
31  class CoordinateConverter;
32 }
33 
34 namespace SourceXtractor {
35 
36 class SourceInterface;
37 
38 
40 public:
42  virtual std::unique_ptr<ModelFitting::CoordinateConverter> getConverter(double initial_value, const SourceInterface& source) const = 0;
43 };
44 
46 public:
51 
53 
54  std::unique_ptr<ModelFitting::CoordinateConverter> getConverter(double initial_value, const SourceInterface& source) const override;
55 
56 private:
58 };
59 
61 public:
63 
64 
66 
67  std::unique_ptr<ModelFitting::CoordinateConverter> getConverter(double initial_value, const SourceInterface& source) const override;
68 
69 private:
71 };
72 
74 public:
75  using ValueFunc = std::function<double(double, const SourceInterface&)>;
76 
78  : m_normalization_factor(normalization_factor) {}
79 
80  std::unique_ptr<ModelFitting::CoordinateConverter> getConverter(double initial_value, const SourceInterface& source) const override;
81 
82 private:
84 };
85 
86 }
87 
88 #endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGCONVERTERFACTORY_H_ */
89 
SourceXtractor::FlexibleModelFittingExponentialRangeConverterFactory::getConverter
std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const override
Definition: FlexibleModelFittingConverterFactory.cpp:38
SourceXtractor::FlexibleModelFittingUnboundedConverterFactory
Definition: FlexibleModelFittingConverterFactory.h:73
SourceXtractor::FlexibleModelFittingLinearRangeConverterFactory
Definition: FlexibleModelFittingConverterFactory.h:60
SourceXtractor::FlexibleModelFittingLinearRangeConverterFactory::getConverter
std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const override
Definition: FlexibleModelFittingConverterFactory.cpp:47
SourceXtractor::FlexibleModelFittingLinearRangeConverterFactory::FlexibleModelFittingLinearRangeConverterFactory
FlexibleModelFittingLinearRangeConverterFactory(RangeFunc range)
Definition: FlexibleModelFittingConverterFactory.h:65
SourceXtractor::FlexibleModelFittingConverterFactory::~FlexibleModelFittingConverterFactory
virtual ~FlexibleModelFittingConverterFactory()=default
std::function< std::pair< double, double >(double, const SourceInterface &)>
SourceXtractor::FlexibleModelFittingUnboundedConverterFactory::getConverter
std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const override
Definition: FlexibleModelFittingConverterFactory.cpp:56
SourceXtractor::FlexibleModelFittingExponentialRangeConverterFactory::m_range
RangeFunc m_range
Definition: FlexibleModelFittingConverterFactory.h:57
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::FlexibleModelFittingExponentialRangeConverterFactory
Definition: FlexibleModelFittingConverterFactory.h:45
SourceXtractor::FlexibleModelFittingConverterFactory::getConverter
virtual std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const =0
SourceXtractor::FlexibleModelFittingExponentialRangeConverterFactory::FlexibleModelFittingExponentialRangeConverterFactory
FlexibleModelFittingExponentialRangeConverterFactory(RangeFunc range)
Definition: FlexibleModelFittingConverterFactory.h:52
SourceXtractor::FlexibleModelFittingUnboundedConverterFactory::m_normalization_factor
ValueFunc m_normalization_factor
Definition: FlexibleModelFittingConverterFactory.h:83
SourceXtractor::FlexibleModelFittingConverterFactory
Definition: FlexibleModelFittingConverterFactory.h:39
SourceXtractor::SourceInterface
The SourceInterface is an abstract "source" that has properties attached to it.
Definition: SourceInterface.h:46
std::unique_ptr< ModelFitting::CoordinateConverter >
SourceXtractor::FlexibleModelFittingUnboundedConverterFactory::FlexibleModelFittingUnboundedConverterFactory
FlexibleModelFittingUnboundedConverterFactory(ValueFunc normalization_factor)
Definition: FlexibleModelFittingConverterFactory.h:77
ModelFitting
Definition: AsinhChiSquareComparator.h:30
SourceXtractor::FlexibleModelFittingLinearRangeConverterFactory::m_range
RangeFunc m_range
Definition: FlexibleModelFittingConverterFactory.h:70