SourceXtractorPlusPlus  0.15
Please provide a description of the project.
FlattenedMoffatComponent.cpp
Go to the documentation of this file.
1 
17 /*
18  * FlattenedMoffatComponent.cpp
19  *
20  * Created on: 2019 M01 7
21  * Author: mschefer
22  */
23 
24 #include <math.h>
25 
27 
28 namespace ModelFitting {
29 
32  m_max_intensity { max_intensity },
33  m_moffat_index { moffat_index },
34  m_minkowski_distance_param { minkowski_distance_param },
35  m_flat_top_offset { flat_top_offset }
36 {
37 }
38 
39 double FlattenedMoffatComponent::getValue(double x, double y) {
40 
41  auto z = pow(pow(fabs(x), m_minkowski_distance_param->getValue()) + pow(fabs(y), m_minkowski_distance_param->getValue()),
42  1 / m_minkowski_distance_param->getValue()) - m_flat_top_offset->getValue();
43 
44  if (z < 0) {
45  return m_max_intensity->getValue();
46  } else {
47  return m_max_intensity->getValue() * pow(1+z*z, -m_moffat_index->getValue());
48  }
49 }
50 
52 }
53 
55  return {};
56 }
57 
59  return false;
60 }
61 
62 }
63 
moffat_index
std::shared_ptr< EngineParameter > moffat_index
Definition: MoffatModelFittingTask.cpp:97
ModelFitting::FlattenedMoffatComponent::getSharpSampling
virtual std::vector< ModelSample > getSharpSampling() override
Definition: FlattenedMoffatComponent.cpp:54
std::shared_ptr
STL class.
std::fabs
T fabs(T... args)
ModelFitting::FlattenedMoffatComponent::getValue
virtual double getValue(double x, double y) override
Definition: FlattenedMoffatComponent.cpp:39
ModelFitting::FlattenedMoffatComponent::m_moffat_index
std::shared_ptr< BasicParameter > m_moffat_index
Definition: FlattenedMoffatComponent.h:49
ModelFitting::FlattenedMoffatComponent::m_flat_top_offset
std::shared_ptr< BasicParameter > m_flat_top_offset
Definition: FlattenedMoffatComponent.h:51
ModelFitting::FlattenedMoffatComponent::m_max_intensity
std::shared_ptr< BasicParameter > m_max_intensity
Definition: FlattenedMoffatComponent.h:48
std::vector
STL class.
flat_top_offset
std::shared_ptr< EngineParameter > flat_top_offset
Definition: MoffatModelFittingTask.cpp:97
ModelFitting::FlattenedMoffatComponent::m_minkowski_distance_param
std::shared_ptr< BasicParameter > m_minkowski_distance_param
Definition: FlattenedMoffatComponent.h:50
FlattenedMoffatComponent.h
ModelFitting::FlattenedMoffatComponent::updateRasterizationInfo
virtual void updateRasterizationInfo(double scale, double r_max) override
Definition: FlattenedMoffatComponent.cpp:51
ModelFitting::FlattenedMoffatComponent::FlattenedMoffatComponent
FlattenedMoffatComponent(std::shared_ptr< BasicParameter > max_intensity, std::shared_ptr< BasicParameter > moffat_index, std::shared_ptr< BasicParameter > minkowski_distance_param, std::shared_ptr< BasicParameter > flat_top_offset)
Definition: FlattenedMoffatComponent.cpp:30
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition: MoffatModelFittingTask.cpp:94
ModelFitting::FlattenedMoffatComponent::insideSharpRegion
virtual bool insideSharpRegion(double x, double y) override
Definition: FlattenedMoffatComponent.cpp:58
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition: MoffatModelFittingTask.cpp:94
ModelFitting
Definition: AsinhChiSquareComparator.h:30
std::pow
T pow(T... args)