25 #ifndef LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED
26 #define LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED
40 namespace lsst {
namespace afw {
namespace geom {
namespace ellipses {
48 typedef boost::shared_ptr<Axes>
Ptr;
49 typedef boost::shared_ptr<Axes const>
ConstPtr;
66 virtual std::string
getName()
const;
85 explicit Axes(
double a=1.0,
double b=1.0,
double theta=0.0,
bool normalize=
false) :
101 transformer.
apply(*
this);
106 convolution.
apply(*
this);
116 virtual void _assignToAxes(
double & a,
double &
b,
double & theta)
const;
133 #endif // !LSST_AFW_GEOM_ELLIPSES_Axes_h_INCLUDED
Axes(Axes const &other)
Copy constructor.
Axes & operator=(Axes const &other)
Standard assignment.
double const getB() const
Ptr clone() const
Deep copy the ellipse core.
virtual void _assignToQuadrupole(double &ixx, double &iyy, double &ixy) const
boost::shared_ptr< BaseCore > Ptr
Definitions for BaseEllipse::Convolution and BaseCore::Convolution.
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.
BaseCore & operator=(BaseCore const &other)
Set the parameters of this ellipse core from another.
virtual Jacobian _dAssignFromAxes(double a, double b, double theta)
virtual BaseCore::Ptr _clone() const
boost::shared_ptr< Axes > Ptr
void apply(BaseCore &result) const
virtual Jacobian _dAssignToAxes(double &a, double &b, double &theta) const
virtual void writeParameters(double *iter) const
Axes(BaseCore const &other)
Converting copy constructor.
virtual void _assignFromQuadrupole(double ixx, double iyy, double ixy)
virtual void readParameters(double const *iter)
virtual void _assignFromAxes(double a, double b, double theta)
double const getA() const
virtual Jacobian _dAssignToQuadrupole(double &ixx, double &iyy, double &ixy) const
Forward declarations, typedefs, and definitions for BaseCore.
virtual std::string getName() const
Return a string that identifies this parametrization.
Eigen::Vector3d ParameterVector
Parameter vector type.
virtual void _assignToAxes(double &a, double &b, double &theta) const
Axes(BaseCore::Convolution const &convolution)
Converting copy constructor.
An ellipse core for the semimajor/semiminor axis and position angle parametrization (a...
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.
void setTheta(double theta)
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size...
virtual Jacobian _dAssignFromQuadrupole(double ixx, double iyy, double ixy)
afw::table::Key< double > b
boost::shared_ptr< Axes const > ConstPtr
double const getTheta() const
A temporary-only expression object for ellipse core convolution.
static Registrar< Axes > registrar
virtual void normalize()
Put the parameters into a "standard form", if possible, and throw InvalidEllipseParameters if they ca...