SourceXtractorPlusPlus  0.14
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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::BasicParameter
create (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 121 of file FlexibleModelFittingParameter.h.

Member Typedef Documentation

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 127 of file FlexibleModelFittingParameter.h.

Constructor & Destructor Documentation

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

Definition at line 129 of file FlexibleModelFittingParameter.h.

Member Function Documentation

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

Definition at line 140 of file FlexibleModelFittingParameter.h.

References m_parameters.

Referenced by getSigma().

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

Definition at line 170 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:

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 196 of file FlexibleModelFittingParameter.cpp.

References std::vector< T >::emplace_back(), getDependees(), SourceXtractor::FlexibleModelFittingParameterManager::getParameter(), getPartialDerivatives(), and std::sqrt().

Here is the call graph for this function:

Member Data Documentation

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

Definition at line 152 of file FlexibleModelFittingParameter.h.

Referenced by create(), getDependees(), and getPartialDerivatives().

ValueFunc SourceXtractor::FlexibleModelFittingDependentParameter::m_value_calculator
private

Definition at line 151 of file FlexibleModelFittingParameter.h.

Referenced by create(), and getPartialDerivatives().


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