5#ifndef LSST_GAUSS2D_FIT_PARAMETERS_H
6#define LSST_GAUSS2D_FIT_PARAMETERS_H
11#include "lsst/modelfit/parameters.h"
13namespace parameters = lsst::modelfit::parameters;
15namespace lsst::gauss2d::fit {
19 std::string get_name()
const override {
20 static const std::string name_none =
"None";
29 virtual double get_size()
const = 0;
30 virtual void set_size(
double size) = 0;
44using Param = parameters::Parameter<double, T>;
47 static inline const std::string _desc =
"Centroid (x)";
48 static inline const std::string _name =
"cen_x";
53 static inline const std::string _desc =
"Centroid (y)";
54 static inline const std::string _name =
"cen_y";
60 static inline const bool _linear =
true;
61 static inline constexpr double _min = 0.;
62 static inline const std::string _desc =
"Gaussian integral (total integrated weight/flux)";
63 static inline const std::string _name =
"integral";
68 static inline const std::string _desc =
"Gaussian (1D normal) mean";
69 static inline const std::string _name =
"mean";
74 static inline constexpr double _min = 1.;
75 static inline constexpr double _default = 2.5;
76 static inline const std::string _desc =
"Moffat concentration (beta)";
77 static inline const std::string _name =
"con_moffat";
83 static inline constexpr double _min = 0.;
84 static inline constexpr double _max = 1.;
85 static inline const std::string _desc =
"Proper fraction (0 <= x <= 1)";
86 static inline const std::string _name =
"proper_fraction";
92 static inline constexpr double _min = 0.;
93 static inline constexpr double _default = 1.;
94 static inline const std::string _desc =
"Scale radius";
95 static inline const std::string _name =
"r_scale";
100 double get_size()
const override {
return this->get_value(); }
101 void set_size(
double size)
override { this->set_value(size); }
103 static inline constexpr double _min = 0.;
104 static inline const std::string _desc =
"Sersic effective radius (x)";
105 static inline const std::string _name =
"reff_x";
110 double get_size()
const override {
return this->get_value(); }
111 void set_size(
double size)
override { this->set_value(size); }
113 static inline constexpr double _min = 0.;
114 static inline const std::string _desc =
"Sersic effective radius (y)";
115 static inline const std::string _name =
"reff_y";
120 static inline constexpr double _min = -1.;
121 static inline constexpr double _default = 0.;
122 static inline constexpr double _max = 1.;
123 static inline const std::string _desc =
"Gaussian correlation (rho)";
124 static inline const std::string _name =
"rho";
129 static inline constexpr double _min = 0.;
130 static inline constexpr double _default = 0.5;
131 static inline const std::string _desc =
"Sersic index";
132 static inline const std::string _name =
"n_ser";
137 double get_size()
const override {
return this->get_value(); }
138 void set_size(
double size)
override { this->set_value(size); }
140 static inline constexpr double _min = 0.;
141 static inline const std::string _desc =
"Gaussian sigma (x)";
142 static inline const std::string _name =
"sigma_x";
147 double get_size()
const override {
return this->get_value(); }
148 void set_size(
double size)
override { this->set_value(size); }
150 static inline constexpr double _min = 0.;
151 static inline const std::string _desc =
"Gaussian sigma (y)";
152 static inline const std::string _name =
"sigma_y";
157 static inline constexpr double _min = 0.;
158 static inline constexpr double _default = 1.0;
159 static inline const std::string _desc =
"Gaussian (1D normal) standard deviation (sigma)";
160 static inline const std::string _name =
"stddev";
Definition parameters.h:17
Definition parameters.h:46
Definition parameters.h:52
Definition parameters.h:58
Definition parameters.h:67
Definition parameters.h:73
Definition parameters.h:81
A generic scale radius, for profiles without specific names like "effective radius".
Definition parameters.h:91
Definition parameters.h:99
Definition parameters.h:109
Definition parameters.h:119
Definition parameters.h:128
Definition parameters.h:136
Definition parameters.h:146
A Parameter representing a size (i.e. a physical length)
Definition parameters.h:28
Definition parameters.h:35
Definition parameters.h:39
Definition parameters.h:156