SourceXtractorPlusPlus
1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEImplementation
SEImplementation
Plugin
FlexibleModelFitting
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
"
31
#include "
SEFramework/Property/Property.h
"
32
#include "
SEFramework/Source/SourceFlags.h
"
33
34
namespace
SourceXtractor
{
35
36
extern
Elements::Logging
model_fitting_logger
;
37
38
// FlexibleModelFitting property class to contain the results from the model fitting
39
40
class
FlexibleModelFitting
:
public
Property
{
41
public
:
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
75
SeDouble
getReducedChiSquared
()
const
{
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
91
SeFloat
getDuration
()
const
{
92
return
m_duration
;
93
}
94
95
std::vector<SeFloat>
getChiSquaredPerMetaIteration
()
const
{
96
return
m_chi_squared_per_meta
;
97
}
98
99
std::vector<int>
getIterationsPerMetaIteration
()
const
{
100
return
m_iterations_per_meta
;
101
}
102
103
int
getMetaIterations
()
const
{
104
return
m_meta_iterations
;
105
}
106
107
std::vector<SeFloat>
getFittingAreasX
()
const
{
108
return
m_fitting_areas_x
;
109
}
110
111
std::vector<SeFloat>
getFittingAreasY
()
const
{
112
return
m_fitting_areas_y
;
113
}
114
115
private
:
116
unsigned
int
m_iterations
,
m_stop_reason
;
117
SeFloat
m_chi_squared
,
m_duration
;
118
Flags
m_flags
;
119
std::unordered_map<int, double>
m_parameter_values
;
120
std::unordered_map<int, double>
m_parameter_sigmas
;
121
122
std::vector<SeFloat>
m_chi_squared_per_meta
;
123
std::vector<int>
m_iterations_per_meta
;
124
int
m_meta_iterations
;
125
126
std::vector<SeFloat>
m_fitting_areas_x
;
127
std::vector<SeFloat>
m_fitting_areas_y
;
128
};
129
130
}
131
132
#endif
/* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTING_H_ */
Property.h
SourceFlags.h
Types.h
SourceXtractor::FlexibleModelFitting::getChiSquaredPerMetaIteration
std::vector< SeFloat > getChiSquaredPerMetaIteration() const
Definition
FlexibleModelFitting.h:95
SourceXtractor::FlexibleModelFitting::m_duration
SeFloat m_duration
Definition
FlexibleModelFitting.h:117
SourceXtractor::FlexibleModelFitting::m_iterations_per_meta
std::vector< int > m_iterations_per_meta
Definition
FlexibleModelFitting.h:123
SourceXtractor::FlexibleModelFitting::getFittingAreasX
std::vector< SeFloat > getFittingAreasX() const
Definition
FlexibleModelFitting.h:107
SourceXtractor::FlexibleModelFitting::~FlexibleModelFitting
virtual ~FlexibleModelFitting()=default
SourceXtractor::FlexibleModelFitting::getReducedChiSquared
SeDouble getReducedChiSquared() const
Definition
FlexibleModelFitting.h:75
SourceXtractor::FlexibleModelFitting::m_meta_iterations
int m_meta_iterations
Definition
FlexibleModelFitting.h:124
SourceXtractor::FlexibleModelFitting::m_stop_reason
unsigned int m_stop_reason
Definition
FlexibleModelFitting.h:116
SourceXtractor::FlexibleModelFitting::getMetaIterations
int getMetaIterations() const
Definition
FlexibleModelFitting.h:103
SourceXtractor::FlexibleModelFitting::m_parameter_sigmas
std::unordered_map< int, double > m_parameter_sigmas
Definition
FlexibleModelFitting.h:120
SourceXtractor::FlexibleModelFitting::m_chi_squared
SeFloat m_chi_squared
Definition
FlexibleModelFitting.h:117
SourceXtractor::FlexibleModelFitting::getDuration
SeFloat getDuration() const
Definition
FlexibleModelFitting.h:91
SourceXtractor::FlexibleModelFitting::getParameterValue
SeDouble getParameterValue(int index) const
Definition
FlexibleModelFitting.h:83
SourceXtractor::FlexibleModelFitting::getIterationsPerMetaIteration
std::vector< int > getIterationsPerMetaIteration() const
Definition
FlexibleModelFitting.h:99
SourceXtractor::FlexibleModelFitting::FlexibleModelFitting
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)
Definition
FlexibleModelFitting.h:44
SourceXtractor::FlexibleModelFitting::m_iterations
unsigned int m_iterations
Definition
FlexibleModelFitting.h:116
SourceXtractor::FlexibleModelFitting::getParameterSigma
SeDouble getParameterSigma(int index) const
Definition
FlexibleModelFitting.h:87
SourceXtractor::FlexibleModelFitting::getFittingAreasY
std::vector< SeFloat > getFittingAreasY() const
Definition
FlexibleModelFitting.h:111
SourceXtractor::FlexibleModelFitting::m_fitting_areas_y
std::vector< SeFloat > m_fitting_areas_y
Definition
FlexibleModelFitting.h:127
SourceXtractor::FlexibleModelFitting::m_fitting_areas_x
std::vector< SeFloat > m_fitting_areas_x
Definition
FlexibleModelFitting.h:126
SourceXtractor::FlexibleModelFitting::getStopReason
unsigned int getStopReason() const
Definition
FlexibleModelFitting.h:71
SourceXtractor::FlexibleModelFitting::m_chi_squared_per_meta
std::vector< SeFloat > m_chi_squared_per_meta
Definition
FlexibleModelFitting.h:122
SourceXtractor::FlexibleModelFitting::getFlags
Flags getFlags() const
Definition
FlexibleModelFitting.h:79
SourceXtractor::FlexibleModelFitting::getIterations
unsigned int getIterations() const
Definition
FlexibleModelFitting.h:67
SourceXtractor::FlexibleModelFitting::m_flags
Flags m_flags
Definition
FlexibleModelFitting.h:118
SourceXtractor::FlexibleModelFitting::m_parameter_values
std::unordered_map< int, double > m_parameter_values
Definition
FlexibleModelFitting.h:119
SourceXtractor::Property
Base class for all Properties. (has no actual content)
Definition
Property.h:33
SourceXtractor
Definition
Aperture.h:30
SourceXtractor::Flags
Flags
Flagging of bad sources.
Definition
SourceFlags.h:37
SourceXtractor::model_fitting_logger
Elements::Logging model_fitting_logger
Definition
FlexibleModelFittingPlugin.cpp:33
SourceXtractor::SeFloat
SeFloat32 SeFloat
Definition
Types.h:32
SourceXtractor::SeDouble
SeFloat64 SeDouble
Definition
Types.h:33
std::unordered_map
std::vector
Generated by
1.14.0