41 double ixx1, iyy1, ixy1;
42 double ixx2, iyy2, ixy2;
43 Jacobian rhs =
self._dAssignToQuadrupole(ixx1, iyy1, ixy1);
44 other._assignToQuadrupole(ixx2, iyy2, ixy2);
46 Jacobian lhs = convolved->_dAssignFromQuadrupole(ixx1 + ixx2, iyy1 + iyy2, ixy1 + ixy2);
51 double ixx1, iyy1, ixy1;
52 double ixx2, iyy2, ixy2;
53 self._assignToQuadrupole(ixx1, iyy1, ixy1);
54 other._assignToQuadrupole(ixx2, iyy2, ixy2);
60 self.getCore().convolve(
other.getCore()).copy(),
65 self.getCore().convolve(
other.getCore()).inPlace();
71 result.block<3, 3>(0, 0) =
self.getCore().convolve(
other.getCore()).d();
Eigen::Matrix3d DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
void apply(BaseCore &result) const
std::shared_ptr< BaseCore > copy() const
Return a new convolved ellipse core.
void inPlace()
Convolve the ellipse core in-place.
DerivativeMatrix d() const
Return the derivative of convolved core with respect to self.
BaseCore()=default
Return the size of the bounding box for the ellipse core.
virtual void _assignFromQuadrupole(double ixx, double iyy, double ixy)=0
Return the size of the bounding box for the ellipse core.
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.
Eigen::Matrix< double, 5, 5 > DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
DerivativeMatrix d() const
Return the derivative of convolved ellipse with respect to self.
void inPlace()
Convolve the ellipse in-place.
std::shared_ptr< Ellipse > copy() const
Return a new convolved ellipse.
lsst::geom::Point2D const & getCenter() const
Return the center point.
BaseCore const & getCore() const
Return the ellipse core.
Ellipse(BaseCore const &core, lsst::geom::Point2D const ¢er=lsst::geom::Point2D())
Return the transform that maps the ellipse to the unit circle.
Convolution convolve(Ellipse const &other)
Return the transform that maps the ellipse to the unit circle.
Extent< double, 2 > Extent2D
Point< double, 2 > Point2D