25 #ifndef LSST_AFW_GEOM_ELLIPSES_Quadrupole_h_INCLUDED
26 #define LSST_AFW_GEOM_ELLIPSES_Quadrupole_h_INCLUDED
40 namespace lsst {
namespace afw {
namespace geom {
namespace ellipses {
48 typedef boost::shared_ptr<Quadrupole>
Ptr;
49 typedef boost::shared_ptr<Quadrupole const>
ConstPtr;
54 typedef Eigen::Matrix<double,2,2,Eigen::DontAlign>
Matrix;
69 virtual std::string
getName()
const;
110 transformer.
apply(*
this);
115 convolution.
apply(*
this);
125 virtual void _assignToAxes(
double & a,
double &
b,
double & theta)
const;
142 #endif // !LSST_AFW_GEOM_ELLIPSES_Quadrupole_h_INCLUDED
An ellipse core with quadrupole moments as parameters.
boost::shared_ptr< Quadrupole const > ConstPtr
Eigen::Matrix< double, 2, 2, Eigen::DontAlign > Matrix
Matrix type for the matrix representation of Quadrupole parameters.
Quadrupole(double ixx=1.0, double iyy=1.0, double ixy=0.0, bool normalize=false)
Construct from parameter values.
virtual Jacobian _dAssignToAxes(double &a, double &b, double &theta) const
virtual void readParameters(double const *iter)
Quadrupole & operator=(Quadrupole const &other)
Standard assignment.
boost::shared_ptr< BaseCore > Ptr
Definitions for BaseEllipse::Convolution and BaseCore::Convolution.
double const getIxy() const
BaseCore & operator=(BaseCore const &other)
Set the parameters of this ellipse core from another.
Ptr clone() const
Deep copy the ellipse core.
virtual std::string getName() const
Return a string that identifies this parametrization.
Matrix const & getMatrix() const
Return a 2x2 symmetric matrix of the parameters.
Quadrupole(Quadrupole const &other)
Copy constructor.
void apply(BaseCore &result) const
Quadrupole & operator=(BaseCore const &other)
Converting assignment.
virtual void normalize()
Put the parameters into a "standard form", and throw InvalidEllipseParameters if they cannot be norma...
Quadrupole(BaseCore::Convolution const &convolution)
Converting copy constructor.
Forward declarations, typedefs, and definitions for BaseCore.
double const getIyy() const
Eigen::Vector3d ParameterVector
Parameter vector type.
virtual void _assignToQuadrupole(double &ixx, double &iyy, double &ixy) const
boost::shared_ptr< Quadrupole > Ptr
virtual Jacobian _dAssignFromQuadrupole(double ixx, double iyy, double ixy)
virtual BaseCore::Ptr _clone() const
virtual void _assignFromAxes(double a, double b, double theta)
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.
virtual Jacobian _dAssignFromAxes(double a, double b, double theta)
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size...
virtual void _assignFromQuadrupole(double ixx, double iyy, double ixy)
virtual void _assignToAxes(double &a, double &b, double &theta) const
afw::table::Key< double > b
virtual void writeParameters(double *iter) const
Quadrupole(BaseCore const &other)
Converting copy constructor.
double getDeterminant() const
Return the determinant of the matrix representation.
static Registrar< Quadrupole > registrar
A temporary-only expression object for ellipse core convolution.
double const getIxx() const
virtual Jacobian _dAssignToQuadrupole(double &ixx, double &iyy, double &ixy) const