25 #ifndef LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED 26 #define LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED 51 double const getA()
const {
return _vector[
A]; }
54 double const getB()
const {
return _vector[
B]; }
78 _vector = other._vector;
91 explicit Axes(
double a = 1.0,
double b = 1.0,
double theta = 0.0,
bool normalize =
false)
92 : _vector(
a,
b, theta) {
105 ~Axes()
override =
default;
122 void _assignToAxes(
double&
a,
double&
b,
double& theta)
const override;
141 #endif // !LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED Axes(Axes const &other)
Copy constructor.
double const getB() const
Jacobian _dAssignFromQuadrupole(double ixx, double iyy, double ixy) override
Axes & operator=(Axes const &other)
Standard assignment.
void writeParameters(double *iter) const override
double const getA() const
Axes(BaseCore::ParameterVector const &vector, bool normalize=false)
Construct from a parameter vector.
Axes(double a=1.0, double b=1.0, double theta=0.0, bool normalize=false)
Construct from parameter values.
Axes & operator=(BaseCore const &other)
Converting assignment.
std::string getName() const override
Return a string that identifies this parametrization.
Jacobian _dAssignToAxes(double &a, double &b, double &theta) const override
void _assignToAxes(double &a, double &b, double &theta) const override
void readParameters(double const *iter) override
Axes(BaseCore const &other)
Converting copy constructor.
void _assignFromQuadrupole(double ixx, double iyy, double ixy) override
BaseCore & operator=(BaseCore const &other)
Set the parameters of this ellipse core from another.
A base class for image defects.
Eigen::Vector3d ParameterVector
Parameter vector type.
Axes(BaseCore::Transformer const &transformer)
Converting copy constructor.
std::shared_ptr< Axes > clone() const
Deep copy the ellipse core.
T static_pointer_cast(T... args)
Axes(BaseCore::Convolution const &convolution)
Converting copy constructor.
Jacobian _dAssignToQuadrupole(double &ixx, double &iyy, double &ixy) const override
An ellipse core for the semimajor/semiminor axis and position angle parametrization (a...
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.
void setTheta(double theta)
void _assignFromAxes(double a, double b, double theta) override
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size...
void normalize() override
Put the parameters into a "standard form", if possible, and throw InvalidParameterError if they canno...
void _assignToQuadrupole(double &ixx, double &iyy, double &ixy) const override
ItemVariant const * other
Axes & operator=(Axes &&other)
void apply(BaseCore &result) const
std::shared_ptr< BaseCore > _clone() const override
Jacobian _dAssignFromAxes(double a, double b, double theta) override
double const getTheta() const
A temporary-only expression object for ellipse core convolution.