Class Quadrupole

Inheritance Relationships

Base Type

Class Documentation

class Quadrupole : public lsst::afw::geom::ellipses::BaseCore

An ellipse core with quadrupole moments as parameters.

Public Types

enum ParameterEnum

Values:

IXX = 0
IYY = 1
IXY = 2
typedef Eigen::Matrix<double, 2, 2, Eigen::DontAlign> Matrix

Matrix type for the matrix representation of Quadrupole parameters.

Public Functions

double const getIxx() const
void setIxx(double ixx)
double const getIyy() const
void setIyy(double iyy)
double const getIxy() const
void setIxy(double ixy)
std::shared_ptr<Quadrupole> clone() const

Deep copy the ellipse core.

std::string getName() const

Return a string that identifies this parametrization.

void normalize()

Put the parameters into a “standard form”, and throw InvalidParameterError if they cannot be normalized.

void readParameters(double const *iter)
void writeParameters(double *iter) const
Matrix const &getMatrix() const

Return a 2x2 symmetric matrix of the parameters.

double getDeterminant() const

Return the determinant of the matrix representation.

Quadrupole &operator=(Quadrupole const &other)

Standard assignment.

Quadrupole &operator=(Quadrupole &&other)
Quadrupole &operator=(BaseCore const &other)

Converting assignment.

Quadrupole(double ixx = 1.0, double iyy = 1.0, double ixy = 0.0, bool normalize = false)

Construct from parameter values.

Quadrupole(BaseCore::ParameterVector const &vector, bool normalize = false)

Construct from a parameter vector.

Quadrupole(Matrix const &matrix, bool normalize = true)

Construct from a 2x2 matrix.

Quadrupole(Quadrupole const &other)

Copy constructor.

Quadrupole(Quadrupole &&other)
~Quadrupole()
Quadrupole(BaseCore const &other)

Converting copy constructor.

Quadrupole(BaseCore::Transformer const &transformer)

Converting copy constructor.

Quadrupole(BaseCore::Convolution const &convolution)

Converting copy constructor.

Protected Functions

std::shared_ptr<BaseCore> _clone() const
void _assignToQuadrupole(double &ixx, double &iyy, double &ixy) const
void _assignFromQuadrupole(double ixx, double iyy, double ixy)
void _assignToAxes(double &a, double &b, double &theta) const
void _assignFromAxes(double a, double b, double theta)
Jacobian _dAssignToQuadrupole(double &ixx, double &iyy, double &ixy) const
Jacobian _dAssignFromQuadrupole(double ixx, double iyy, double ixy)
Jacobian _dAssignToAxes(double &a, double &b, double &theta) const
Jacobian _dAssignFromAxes(double a, double b, double theta)