25 #ifndef LSST_AFW_MATH_SHAPELETS_HERMITEEVALUATOR_H 26 #define LSST_AFW_MATH_SHAPELETS_HERMITEEVALUATOR_H 33 namespace lsst {
namespace shapelet {
66 int const getX()
const {
return _x; }
67 int const getY()
const {
return _y; }
95 static Eigen::MatrixXd computeInnerProductMatrix(
96 int rowOrder,
int colOrder,
double a,
double b
99 int getOrder()
const {
return _xWorkspace.getSize<0>() - 1; }
106 Array1d const & target,
double x,
double y,
120 fillEvaluation(target, point.getX(), point.getY(), dx, dy);
132 fillEvaluation(target, point.getX(), point.getY(), dx, dy);
139 void fillIntegration(
Array1d const & target,
int xMoment=0,
int yMoment=0)
const;
144 double sumEvaluation(
145 ndarray::Array<double const,1>
const & coeff,
double x,
double y,
146 double * dx = 0,
double * dy = 0
153 ndarray::Array<double const,1>
const & coeff,
geom::Point2D const & point,
154 double * dx = 0,
double * dy = 0
156 return sumEvaluation(coeff, point.getX(), point.getY(), dx, dy);
163 ndarray::Array<double const,1>
const & coeff,
geom::Extent2D const & point,
164 double * dx = 0,
double * dy = 0
166 return sumEvaluation(coeff, point.getX(), point.getY(), dx, dy);
172 double sumIntegration(ndarray::Array<double const,1>
const & coeff,
int xMoment=0,
int yMoment=0)
const;
178 ndarray::Array<double,1,1> _xWorkspace;
179 ndarray::Array<double,1,1> _yWorkspace;
180 ndarray::Array<double,1,1> _dxWorkspace;
181 ndarray::Array<double,1,1> _dyWorkspace;
186 #endif // !defined(LSST_AFW_MATH_SHAPELETS_HERMITEEVALUATOR_H) int const getIndex() const
ndarray::Array< double, 1 > Array1d
Typedef for a commonly-used array type.
An iterator-like object to help in traversing "packed" shapelet or Hermite polynomial matrix or vecto...
static int const computeOffset(int order)
void fillEvaluation(Array1d const &target, geom::Point2D const &point, Array1d const &dx=Array1d(), Array1d const &dy=Array1d()) const
Fill a vector whose dot product with a HERMITE coefficient vector evaluates a simple unscaled shapele...
int const getOrder() const
Constants, typedefs, and general-purpose functions for shapelets library.
A class to evaluate HERMITE shapelet-related quantities.
double sumEvaluation(ndarray::Array< double const, 1 > const &coeff, geom::Extent2D const &point, double *dx=0, double *dy=0) const
Evaluate a simple unscaled shapelet expansion at the given point.
PackedIndex(int const x, int const y)
static int const computeIndex(int x, int y)
void fillEvaluation(Array1d const &target, geom::Extent2D const &point, Array1d const &dx=Array1d(), Array1d const &dy=Array1d()) const
Fill a vector whose dot product with a HERMITE coefficient vector evaluates a simple unscaled shapele...
double sumEvaluation(ndarray::Array< double const, 1 > const &coeff, geom::Point2D const &point, double *dx=0, double *dy=0) const
Evaluate a simple unscaled shapelet expansion at the given point.
PackedIndex & operator++()