24 #ifndef LSST_AFW_MATH_SHAPELETS_GaussHermiteConvolution
25 #define LSST_AFW_MATH_SHAPELETS_GaussHermiteConvolution
28 #include "lsst/afw/geom/ellipses.h"
33 namespace lsst {
namespace shapelet {
35 class ShapeletFunction;
45 static int computeRowOrder(
int colOrder,
int psfOrder) {
return colOrder + psfOrder; }
56 ndarray::Array<double const,2,2>
evaluate(afw::geom::ellipses::Ellipse & ellipse)
const;
84 std::unique_ptr<Impl> _impl;
90 #endif // !LSST_AFW_MATH_SHAPELETS_GaussHermiteConvolution
A parametrized matrix that performs a convolution in shapelet space.
int getRowOrder() const
Return the order of the post-convolution shapelet basis.
~GaussHermiteConvolution()
int getColOrder() const
Return the order of the to-be-convolved shapelet basis.
static int computeRowOrder(int colOrder, int psfOrder)
GaussHermiteConvolution & operator=(const GaussHermiteConvolution &)=delete
ndarray::Array< double const, 2, 2 > evaluate(afw::geom::ellipses::Ellipse &ellipse) const
Evaluate a shapelet convolution matrix in the given array.
GaussHermiteConvolution(int colOrder, ShapeletFunction const &psf)
Construct a matrix that convolves a basis of the given order with the given shapelet function...
A 2-d function defined by an expansion onto a Gauss-Laguerre or Gauss-Hermite basis.