SourceXtractorPlusPlus  0.16
Please provide a description of the project.
Public Types | Public Member Functions | Private Attributes | List of all members
SourceXtractor::FlexibleModelFittingDependentParameter Class Reference

#include <FlexibleModelFittingParameter.h>

Inheritance diagram for SourceXtractor::FlexibleModelFittingDependentParameter:
[legend]
Collaboration diagram for SourceXtractor::FlexibleModelFittingDependentParameter:
[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< double > getPartialDerivatives (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(), SourceXtractor::SourceInterface::getProperty(), m_parameters, m_value_calculator, std::vector< T >::size(), 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 std::vector< T >::emplace_back(), getDependees(), SourceXtractor::FlexibleModelFittingParameterManager::getParameter(), getPartialDerivatives(), ModelFitting::BasicParameter::getValue(), 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: