SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
FlexibleModelFittingParameterManager.h
Go to the documentation of this file.
1
17/*
18 * FlexibleModelFittingParameterManager.h
19 *
20 * Created on: Oct 9, 2018
21 * Author: mschefer
22 */
23
24#ifndef _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGPARAMETERMANAGER_H_
25#define _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGPARAMETERMANAGER_H_
26
30
31#include <map>
32#include <set>
33#include <vector>
34
35namespace SourceXtractor {
36
37// Needed to store the source in a reference_wrapper
41
42class FlexibleModelFittingParameter;
43
45
46public:
47
50
51
61
70
71 int getParameterNb() const {
72 return m_params.size();
73 }
74
76 m_accessed_params.clear();
77 }
78
83
87
91
92private:
95
96 // remember the order of the parameters for model fitting (used to retrieve sigma)
99
100 // Propagate access to dependees
111};
112
113}
114
115
116
117#endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGPARAMETERMANAGER_H_ */
T at(T... args)
int getParameterIndex(const SourceInterface &source, std::shared_ptr< const FlexibleModelFittingParameter > parameter) const
std::map< std::tuple< std::reference_wrapper< const SourceInterface >, std::shared_ptr< const FlexibleModelFittingParameter > >, std::shared_ptr< ModelFitting::BasicParameter > > m_params
std::set< std::tuple< std::reference_wrapper< const SourceInterface >, std::shared_ptr< const FlexibleModelFittingParameter > > > m_accessed_params
std::map< std::shared_ptr< ModelFitting::BasicParameter >, int > m_parameter_indices
int getParameterIndex(std::shared_ptr< ModelFitting::BasicParameter > engine_parameter) const
void followDependencies(const SourceInterface &source, std::shared_ptr< const FlexibleModelFittingParameter > parameter) const
void addParameter(const SourceInterface &source, std::shared_ptr< const FlexibleModelFittingParameter > parameter, std::shared_ptr< ModelFitting::BasicParameter > engine_parameter)
bool isParamAccessed(const SourceInterface &source, std::shared_ptr< const FlexibleModelFittingParameter > parameter) const
std::shared_ptr< ModelFitting::BasicParameter > getParameter(const SourceInterface &source, std::shared_ptr< const FlexibleModelFittingParameter > parameter) const
The SourceInterface is an abstract "source" that has properties attached to it.
T make_tuple(T... args)
bool operator<(std::reference_wrapper< const SourceInterface > a, std::reference_wrapper< const SourceInterface > b)
T cref(T... args)