32 BaseCore::Registrar<Axes> Axes::registrar;
37 if (_vector[
A] < 0 || _vector[
B] < 0)
39 "Major and minor axes cannot be negative.");
40 if (_vector[
A] < _vector[
B]) {
42 _vector[
THETA] += M_PI_2;
44 if (_vector[
THETA] > M_PI_2 || _vector[
THETA] <= -M_PI_2) {
72 theta = _vector[
THETA];
78 theta = _vector[
THETA];
79 return Jacobian::Identity();
95 _vector[
THETA] = theta;
101 _vector[
THETA] = theta;
102 return Jacobian::Identity();
static Jacobian _dAssignQuadrupoleToAxes(double ixx, double iyy, double ixy, double &a, double &b, double &theta)
double const getB() const
static Jacobian _dAssignAxesToQuadrupole(double a, double b, double theta, double &ixx, double &iyy, double &ixy)
Jacobian _dAssignFromQuadrupole(double ixx, double iyy, double ixy) override
void writeParameters(double *iter) const override
double const getA() const
std::string getName() const override
Return a string that identifies this parametrization.
Jacobian _dAssignToAxes(double &a, double &b, double &theta) const override
static void _assignQuadrupoleToAxes(double ixx, double iyy, double ixy, double &a, double &b, double &theta)
void _assignToAxes(double &a, double &b, double &theta) const override
void readParameters(double const *iter) override
void _assignFromQuadrupole(double ixx, double iyy, double ixy) override
A base class for image defects.
static void _assignAxesToQuadrupole(double a, double b, double theta, double &ixx, double &iyy, double &ixy)
Jacobian _dAssignToQuadrupole(double &ixx, double &iyy, double &ixy) const override
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.
void setTheta(double theta)
void _assignFromAxes(double a, double b, double theta) override
void normalize() override
Put the parameters into a "standard form", if possible, and throw InvalidParameterError if they canno...
Reports invalid arguments.
void _assignToQuadrupole(double &ixx, double &iyy, double &ixy) const override
Jacobian _dAssignFromAxes(double a, double b, double theta) override
double const getTheta() const