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

#include <FlexibleModelFittingParameter.h>

Inheritance diagram for SourceXtractor::FlexibleModelFittingFreeParameter:
[legend]
Collaboration diagram for SourceXtractor::FlexibleModelFittingFreeParameter:
[legend]

Public Types

using InitialValueFunc = std::function< double(const SourceInterface &)>
 

Public Member Functions

 FlexibleModelFittingFreeParameter (int id, InitialValueFunc initial_value, std::shared_ptr< FlexibleModelFittingConverterFactory > converter_factory)
 
std::shared_ptr< ModelFitting::BasicParametercreate (FlexibleModelFittingParameterManager &parameter_manager, ModelFitting::EngineParameterManager &engine_manager, const SourceInterface &source) const override
 
double getSigma (FlexibleModelFittingParameterManager &parameter_manager, const SourceInterface &source, const std::vector< double > &free_parameter_sigmas) const override
 
- 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

InitialValueFunc m_initial_value
 
std::shared_ptr< FlexibleModelFittingConverterFactorym_converter_factory
 

Detailed Description

Definition at line 94 of file FlexibleModelFittingParameter.h.

Member Typedef Documentation

◆ InitialValueFunc

The signature of a function providing the initial value. It gets as a parameter a source and returns the initial value.

Definition at line 99 of file FlexibleModelFittingParameter.h.

Constructor & Destructor Documentation

◆ FlexibleModelFittingFreeParameter()

SourceXtractor::FlexibleModelFittingFreeParameter::FlexibleModelFittingFreeParameter ( int  id,
InitialValueFunc  initial_value,
std::shared_ptr< FlexibleModelFittingConverterFactory converter_factory 
)
inline

Definition at line 101 of file FlexibleModelFittingParameter.h.

Member Function Documentation

◆ create()

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

Implements SourceXtractor::FlexibleModelFittingParameter.

Definition at line 80 of file FlexibleModelFittingParameter.cpp.

References m_converter_factory, m_initial_value, std::move(), and ModelFitting::EngineParameterManager::registerParameter().

Here is the call graph for this function:

◆ getSigma()

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

Implements SourceXtractor::FlexibleModelFittingParameter.

Definition at line 93 of file FlexibleModelFittingParameter.cpp.

References SourceXtractor::FlexibleModelFittingParameterManager::getParameter(), SourceXtractor::FlexibleModelFittingParameterManager::getParameterIndex(), and std::enable_shared_from_this< FlexibleModelFittingParameter >::shared_from_this().

Here is the call graph for this function:

Member Data Documentation

◆ m_converter_factory

std::shared_ptr<FlexibleModelFittingConverterFactory> SourceXtractor::FlexibleModelFittingFreeParameter::m_converter_factory
private

Definition at line 118 of file FlexibleModelFittingParameter.h.

Referenced by create().

◆ m_initial_value

InitialValueFunc SourceXtractor::FlexibleModelFittingFreeParameter::m_initial_value
private

Definition at line 117 of file FlexibleModelFittingParameter.h.

Referenced by create().


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