SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
SourceXtractor::FlexibleModelFittingDependentParameter Class Reference

#include <FlexibleModelFittingParameter.h>

Inheritance diagram for SourceXtractor::FlexibleModelFittingDependentParameter:
Inheritance graph
[legend]
Collaboration diagram for SourceXtractor::FlexibleModelFittingDependentParameter:
Collaboration graph
[legend]

Public Types

using ValueFunc = std::function<double(const std::shared_ptr<CoordinateSystem>&, const std::vector<double>&)>
 

Public Member Functions

 FlexibleModelFittingDependentParameter (int id, ValueFunc value_calculator, std::vector< std::shared_ptr< FlexibleModelFittingParameter > > parameters)
 
std::shared_ptr< ModelFitting::BasicParametercreate (FlexibleModelFittingParameterManager &parameter_manager, ModelFitting::EngineParameterManager &engine_manager, const SourceInterface &source) const override
 
const std::vector< std::shared_ptr< FlexibleModelFittingParameter > > & getDependees () const
 
double getSigma (FlexibleModelFittingParameterManager &parameter_manager, const SourceInterface &source, const std::vector< double > &free_parameter_sigmas) const override
 
std::vector< doublegetPartialDerivatives (const SourceInterface &source, const std::vector< double > &param_values) const
 
- Public Member Functions inherited from SourceXtractor::FlexibleModelFittingParameter
 FlexibleModelFittingParameter (int id)
 
virtual ~FlexibleModelFittingParameter ()=default
 
virtual int getId () const final
 
- Public Member Functions inherited from std::enable_shared_from_this< FlexibleModelFittingParameter >
enable_shared_from_this (T... args)
 
operator= (T... args)
 
shared_from_this (T... args)
 
~enable_shared_from_this (T... args)
 

Private Attributes

ValueFunc m_value_calculator
 
std::vector< std::shared_ptr< FlexibleModelFittingParameter > > m_parameters
 

Detailed Description

Definition at line 129 of file FlexibleModelFittingParameter.h.

Member Typedef Documentation

◆ ValueFunc

The signature of a function that evaluates the dependent parameter. It gets as parameters the values of those parameters on which this one depends.

Definition at line 135 of file FlexibleModelFittingParameter.h.

Constructor & Destructor Documentation

◆ FlexibleModelFittingDependentParameter()

SourceXtractor::FlexibleModelFittingDependentParameter::FlexibleModelFittingDependentParameter ( int id,
ValueFunc value_calculator,
std::vector< std::shared_ptr< FlexibleModelFittingParameter > > parameters )
inline

Definition at line 137 of file FlexibleModelFittingParameter.h.

Member Function Documentation

◆ create()

std::shared_ptr< ModelFitting::BasicParameter > SourceXtractor::FlexibleModelFittingDependentParameter::create ( FlexibleModelFittingParameterManager & parameter_manager,
ModelFitting::EngineParameterManager & engine_manager,
const SourceInterface & source ) const
overridevirtual

◆ getDependees()

const std::vector< std::shared_ptr< FlexibleModelFittingParameter > > & SourceXtractor::FlexibleModelFittingDependentParameter::getDependees ( ) const
inline

Definition at line 148 of file FlexibleModelFittingParameter.h.

Referenced by getSigma().

◆ getPartialDerivatives()

std::vector< double > SourceXtractor::FlexibleModelFittingDependentParameter::getPartialDerivatives ( const SourceInterface & source,
const std::vector< double > & param_values ) const

Definition at line 182 of file FlexibleModelFittingParameter.cpp.

References SourceXtractor::NumericalDerivative::centralDifference(), m_parameters, m_value_calculator, and x.

Referenced by getSigma().

Here is the call graph for this function:

◆ getSigma()

double SourceXtractor::FlexibleModelFittingDependentParameter::getSigma ( FlexibleModelFittingParameterManager & parameter_manager,
const SourceInterface & source,
const std::vector< double > & free_parameter_sigmas ) const
overridevirtual

Implements SourceXtractor::FlexibleModelFittingParameter.

Definition at line 208 of file FlexibleModelFittingParameter.cpp.

References getDependees(), getPartialDerivatives(), and std::sqrt().

Here is the call graph for this function:

Member Data Documentation

◆ m_parameters

std::vector<std::shared_ptr<FlexibleModelFittingParameter> > SourceXtractor::FlexibleModelFittingDependentParameter::m_parameters
private

Definition at line 160 of file FlexibleModelFittingParameter.h.

Referenced by create(), and getPartialDerivatives().

◆ m_value_calculator

ValueFunc SourceXtractor::FlexibleModelFittingDependentParameter::m_value_calculator
private

Definition at line 159 of file FlexibleModelFittingParameter.h.

Referenced by create(), and getPartialDerivatives().


The documentation for this class was generated from the following files: