SourceXtractorPlusPlus
1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEImplementation
src
lib
Plugin
FlexibleModelFitting
FlexibleModelFittingConverterFactory.cpp
Go to the documentation of this file.
1
17
/*
18
* FlexibleModelFittingConverterFactory.cpp
19
*
20
* Created on: May 10, 2019
21
* Author: mschefer
22
*/
23
24
#include "AlexandriaKernel/memory_tools.h"
25
26
#include "
ModelFitting/Parameters/ExpSigmoidConverter.h
"
27
#include "
ModelFitting/Parameters/SigmoidConverter.h
"
28
#include "
ModelFitting/Parameters/NormalizedConverter.h
"
29
30
#include "
SEImplementation/Plugin/FlexibleModelFitting/FlexibleModelFittingConverterFactory.h
"
31
32
namespace
SourceXtractor
{
33
34
using namespace
ModelFitting;
35
using
Euclid::make_unique
;
36
37
std::unique_ptr<CoordinateConverter>
FlexibleModelFittingExponentialRangeConverterFactory::getConverter
(
38
double
initial_value,
const
SourceInterface
& source)
const
{
39
double
minimum_value, maximum_value;
40
std::tie
(minimum_value, maximum_value) =
m_range
(initial_value, source);
41
return
make_unique<ExpSigmoidConverter>
(minimum_value, maximum_value);
42
}
43
44
std::unique_ptr<CoordinateConverter>
FlexibleModelFittingLinearRangeConverterFactory::getConverter
(
45
double
initial_value,
const
SourceInterface
& source)
const
{
46
double
minimum_value, maximum_value;
47
std::tie
(minimum_value, maximum_value) =
m_range
(initial_value, source);
48
return
make_unique<SigmoidConverter>
(minimum_value, maximum_value);
49
}
50
51
std::unique_ptr<ModelFitting::CoordinateConverter>
FlexibleModelFittingUnboundedConverterFactory::getConverter
(
52
double
initial_value,
const
SourceInterface
& source)
const
{
53
double
factor =
m_normalization_factor
(initial_value, source);
54
return
make_unique<NormalizedConverter>
(factor);
55
}
56
57
58
}
59
ExpSigmoidConverter.h
FlexibleModelFittingConverterFactory.h
NormalizedConverter.h
SigmoidConverter.h
SourceXtractor::FlexibleModelFittingExponentialRangeConverterFactory::m_range
RangeFunc m_range
Definition
FlexibleModelFittingConverterFactory.h:57
SourceXtractor::FlexibleModelFittingExponentialRangeConverterFactory::getConverter
std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const override
Definition
FlexibleModelFittingConverterFactory.cpp:37
SourceXtractor::FlexibleModelFittingLinearRangeConverterFactory::getConverter
std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const override
Definition
FlexibleModelFittingConverterFactory.cpp:44
SourceXtractor::FlexibleModelFittingLinearRangeConverterFactory::m_range
RangeFunc m_range
Definition
FlexibleModelFittingConverterFactory.h:70
SourceXtractor::FlexibleModelFittingUnboundedConverterFactory::getConverter
std::unique_ptr< ModelFitting::CoordinateConverter > getConverter(double initial_value, const SourceInterface &source) const override
Definition
FlexibleModelFittingConverterFactory.cpp:51
SourceXtractor::FlexibleModelFittingUnboundedConverterFactory::m_normalization_factor
ValueFunc m_normalization_factor
Definition
FlexibleModelFittingConverterFactory.h:83
SourceXtractor::SourceInterface
The SourceInterface is an abstract "source" that has properties attached to it.
Definition
SourceInterface.h:46
Euclid::make_unique
std::unique_ptr< T > make_unique(Args &&... args)
SourceXtractor
Definition
Aperture.h:30
SourceXtractor::make_unique
std::unique_ptr< T > make_unique(Args &&... args)
std::tie
T tie(T... args)
std::unique_ptr
Generated by
1.14.0