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; }
96 int rowOrder,
int colOrder,
double a,
double b
99 int getOrder()
const {
return _xWorkspace.getSize<0>() - 1; }
145 ndarray::Array<double const,1>
const &
coeff,
double x,
double y,
146 double * dx = 0,
double * dy = 0
154 double * dx = 0,
double * dy = 0
164 double * dx = 0,
double * dy = 0
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;
Key< Flag > const & target
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.
static Eigen::MatrixXd computeInnerProductMatrix(int rowOrder, int colOrder, double a, double b)
Fill a matrix with the function inner products of two HERMITE shapelet basis functions with different...
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 sumIntegration(ndarray::Array< double const, 1 > const &coeff, int xMoment=0, int yMoment=0) const
Integrate a simple unscaled shapelet expansion.
void fillEvaluation(Array1d const &target, double x, double y, 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, double x, double y, double *dx=0, double *dy=0) const
Evaluate a simple unscaled shapelet expansion at the given point.
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...
GaussHermiteEvaluator(int order)
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.
void fillIntegration(Array1d const &target, int xMoment=0, int yMoment=0) const
Fill a vector whose dot product with a HERMITE coefficient vector integrates a simple unscaled shapel...
An iterator-like object to help in traversing "packed" shapelet or Hermite polynomial matrix or vecto...
static int const computeIndex(int x, int y)
PackedIndex(int const x, int const y)
PackedIndex & operator++()
static int const computeOffset(int order)
int const getOrder() const
int const getIndex() const
ndarray::Array< double, 1 > Array1d
Typedef for a commonly-used array type.
A base class for image defects.
Constants, typedefs, and general-purpose functions for shapelets library.
table::Key< table::Array< double > > coeff