SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
FlexibleModelFitting.h
Go to the documentation of this file.
1
17/*
18 * FlexibleModelFitting.h
19 *
20 * Created on: Sep 17, 2018
21 * Author: mschefer
22 */
23
24#ifndef _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTING_H_
25#define _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTING_H_
26
27#include <unordered_map>
28#include <ElementsKernel/Logging.h>
29
30#include "SEUtils/Types.h"
33
34namespace SourceXtractor {
35
36extern Elements::Logging model_fitting_logger;
37
38// FlexibleModelFitting property class to contain the results from the model fitting
39
41public:
42 virtual ~FlexibleModelFitting() = default;
43
44 FlexibleModelFitting(unsigned int iterations, unsigned int stop_reason,
45 SeFloat chi_squared, SeFloat duration, Flags flags,
46 std::unordered_map<int, double> parameter_values,
47 std::unordered_map<int, double> parameter_sigmas,
48 std::vector<SeFloat> chi_squared_per_meta,
49 std::vector<int> iterations_per_meta,
50 int meta_iterations,
51 std::vector<SeFloat> fitting_areas_x,
52 std::vector<SeFloat> fitting_areas_y) :
53 m_iterations(iterations),
54 m_stop_reason(stop_reason),
55 m_chi_squared(chi_squared),
56 m_duration(duration),
57 m_flags(flags),
58 m_parameter_values(parameter_values),
59 m_parameter_sigmas(parameter_sigmas),
60 m_chi_squared_per_meta(chi_squared_per_meta),
61 m_iterations_per_meta(iterations_per_meta),
62 m_meta_iterations(meta_iterations),
63 m_fitting_areas_x(fitting_areas_x),
64 m_fitting_areas_y(fitting_areas_y)
65{}
66
67 unsigned int getIterations() const {
68 return m_iterations;
69 }
70
71 unsigned int getStopReason() const {
72 return m_stop_reason;
73 }
74
76 return m_chi_squared;
77 }
78
79 Flags getFlags() const {
80 return m_flags;
81 }
82
83 SeDouble getParameterValue(int index) const {
84 return m_parameter_values.at(index);
85 }
86
87 SeDouble getParameterSigma(int index) const {
88 return m_parameter_sigmas.at(index);
89 }
90
92 return m_duration;
93 }
94
98
102
103 int getMetaIterations() const {
104 return m_meta_iterations;
105 }
106
110
114
115private:
121
125
128};
129
130}
131
132#endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTING_H_ */
std::vector< SeFloat > getChiSquaredPerMetaIteration() const
std::vector< SeFloat > getFittingAreasX() const
std::unordered_map< int, double > m_parameter_sigmas
SeDouble getParameterValue(int index) const
std::vector< int > getIterationsPerMetaIteration() const
FlexibleModelFitting(unsigned int iterations, unsigned int stop_reason, SeFloat chi_squared, SeFloat duration, Flags flags, std::unordered_map< int, double > parameter_values, std::unordered_map< int, double > parameter_sigmas, std::vector< SeFloat > chi_squared_per_meta, std::vector< int > iterations_per_meta, int meta_iterations, std::vector< SeFloat > fitting_areas_x, std::vector< SeFloat > fitting_areas_y)
SeDouble getParameterSigma(int index) const
std::vector< SeFloat > getFittingAreasY() const
std::unordered_map< int, double > m_parameter_values
Base class for all Properties. (has no actual content).
Definition Property.h:33
Flags
Flagging of bad sources.
Definition SourceFlags.h:37
Elements::Logging model_fitting_logger
SeFloat32 SeFloat
Definition Types.h:32
SeFloat64 SeDouble
Definition Types.h:33