lsst.gauss2d.fit
g199a45376c+7362695278
Toggle main menu visibility
Loading...
Searching...
No Matches
parametricellipse.h
1
#ifndef LSST_GAUSS2D_FIT_PARAMETRICELLIPSE_H
2
#define LSST_GAUSS2D_FIT_PARAMETRICELLIPSE_H
3
4
#include <array>
5
6
#include "parameters.h"
7
#include "parametric.h"
8
#include "param_defs.h"
9
#include "param_filter.h"
10
11
namespace
lsst::gauss2d::fit {
19
class
QuasiEllipse
{
20
public
:
22
virtual
double
get_rho
()
const
= 0;
24
virtual
double
get_size_x
()
const
= 0;
26
virtual
double
get_size_y
()
const
= 0;
28
virtual
std::array<double, 3>
get_xyr
()
const
{
return
{
get_size_x
(),
get_size_y
(),
get_rho
()}; };
29
30
virtual
~QuasiEllipse
() =
default
;
31
};
32
36
class
ParametricEllipse
:
public
Parametric
,
public
QuasiEllipse
{
37
public
:
38
virtual
RhoParameterD
& get_rho_param()
const
= 0;
39
virtual
SizeXParameterD
& get_size_x_param()
const
= 0;
40
virtual
SizeYParameterD
& get_size_y_param()
const
= 0;
41
42
virtual
std::shared_ptr<RhoParameterD> get_rho_param_ptr() = 0;
43
virtual
std::shared_ptr<SizeXParameterD> get_size_x_param_ptr() = 0;
44
virtual
std::shared_ptr<SizeYParameterD> get_size_y_param_ptr() = 0;
45
46
// No set because it would be ambiguous with lsst::gauss2d::set
47
// TODO: Consider disambiguating
48
virtual
void
set_rho(
double
rho) = 0;
49
virtual
void
set_size_x(
double
size_x) = 0;
50
virtual
void
set_size_y(
double
size_y) = 0;
51
virtual
void
set_xyr(
const
std::array<double, 3>& xyr) {
52
set_size_x(xyr[0]);
53
set_size_y(xyr[1]);
54
set_rho(xyr[2]);
55
};
56
};
57
58
}
// namespace lsst::gauss2d::fit
59
60
#endif
lsst::gauss2d::fit::ParametricEllipse
Definition
parametricellipse.h:36
lsst::gauss2d::fit::Parametric
Definition
parametric.h:13
lsst::gauss2d::fit::QuasiEllipse
A Parametric ellipse with two scale sizes.
Definition
parametricellipse.h:19
lsst::gauss2d::fit::QuasiEllipse::get_xyr
virtual std::array< double, 3 > get_xyr() const
Get the array of size_x, size_y, rho.
Definition
parametricellipse.h:28
lsst::gauss2d::fit::QuasiEllipse::get_rho
virtual double get_rho() const =0
Get the rho value.
lsst::gauss2d::fit::QuasiEllipse::get_size_x
virtual double get_size_x() const =0
Get the size_x value.
lsst::gauss2d::fit::QuasiEllipse::get_size_y
virtual double get_size_y() const =0
Get the size_y value.
lsst::gauss2d::fit::RhoParameterD
Definition
parameters.h:119
lsst::gauss2d::fit::SizeXParameterD
Definition
parameters.h:35
lsst::gauss2d::fit::SizeYParameterD
Definition
parameters.h:39
include
lsst
gauss2d
fit
parametricellipse.h
Generated by
1.17.0