SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
FlexibleModelFittingParameter.h
Go to the documentation of this file.
1
17/*
18 * FlexibleModelFittingParameter.h
19 *
20 * Created on: Sep 17, 2018
21 * Author: mschefer
22 */
23
24#ifndef _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGPARAMETER_H_
25#define _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGPARAMETER_H_
26
27#include <memory>
28#include <utility>
29#include <functional>
30#include <vector>
31#include <mutex>
33
34namespace ModelFitting {
35 class BasicParameter;
36 class EngineParameterManager;
37}
38
39namespace SourceXtractor {
40
41class SourceInterface;
42class FlexibleModelFittingParameterManager;
43class FlexibleModelFittingConverterFactory;
44
45class FlexibleModelFittingParameter : public std::enable_shared_from_this<FlexibleModelFittingParameter>{
46public:
47 explicit FlexibleModelFittingParameter(int id);
48 virtual ~FlexibleModelFittingParameter() = default;
49
53 const SourceInterface& source) const = 0;
54
55 virtual int getId() const final;
56
57 // returns the estimated 1-sigma margin of error for the parameter on a given source, takes the vector of errors
58 // for the free parameters from the minimization engine as input
61
62
64 int m_id;
65};
66
93
128
163
164}
165
166#endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGPARAMETER_H_ */
Class responsible for managing the parameters the least square engine minimizes.
double getSigma(FlexibleModelFittingParameterManager &, const SourceInterface &, const std::vector< double > &) const override
std::vector< std::shared_ptr< FlexibleModelFittingParameter > > m_parameters
FlexibleModelFittingDependentParameter(int id, ValueFunc value_calculator, std::vector< std::shared_ptr< FlexibleModelFittingParameter > > parameters)
const std::vector< std::shared_ptr< FlexibleModelFittingParameter > > & getDependees() const
std::shared_ptr< FlexibleModelFittingConverterFactory > m_converter_factory
FlexibleModelFittingFreeParameter(int id, InitialValueFunc initial_value, std::shared_ptr< FlexibleModelFittingConverterFactory > converter_factory)
virtual std::shared_ptr< ModelFitting::BasicParameter > create(FlexibleModelFittingParameterManager &parameter_manager, ModelFitting::EngineParameterManager &engine_manager, const SourceInterface &source) const =0
virtual double getSigma(FlexibleModelFittingParameterManager &parameter_manager, const SourceInterface &source, const std::vector< double > &free_parameter_sigmas) const =0
The SourceInterface is an abstract "source" that has properties attached to it.
STL namespace.