25#ifndef LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
26#define LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
76 Convolution(Ellipse &self, Ellipse
const &other) : self(self), other(other) {}
85 DerivativeMatrix d()
const;
100 return Ellipse::Convolution(*
this, other);
104 return Ellipse::Convolution(
const_cast<Ellipse &
>(*
this), other);
A temporary-only expression object for ellipse core convolution.
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.
Convolution(BaseCore &self, BaseCore const &other)
Standard constructor.
DerivativeMatrix d() const
Return the derivative of convolved core with respect to self.
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size.
Convolution convolve(BaseCore const &other)
Return the size of the bounding box for the ellipse core.
A temporary-only expression object for ellipse convolution.
Convolution(Ellipse &self, Ellipse const &other)
Standard constructor.
Eigen::Matrix< double, 5, 5 > DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
An ellipse defined by an arbitrary BaseCore and a center point.
Convolution convolve(Ellipse const &other)
Return the transform that maps the ellipse to the unit circle.