SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
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
28namespace ModelFitting {
29
38
39double 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
53
57
59 return false;
60}
61
62}
63
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< EngineParameter > moffat_index
std::shared_ptr< EngineParameter > flat_top_offset
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
bool insideSharpRegion(double x, double y) override
std::shared_ptr< BasicParameter > m_moffat_index
void updateRasterizationInfo(double scale, double r_max) override
std::shared_ptr< BasicParameter > m_flat_top_offset
double getValue(double x, double y) override
std::vector< ModelSample > getSharpSampling() override
std::shared_ptr< BasicParameter > m_max_intensity
std::shared_ptr< BasicParameter > m_minkowski_distance_param
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)
T fabs(T... args)
T pow(T... args)