lsst.shapelet
20.0.0-2-gf072044+95fe209e70
|
Go to the documentation of this file.
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; }
106 Array1d const & target,
double x,
double y,
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)
ndarray::Array< double, 1 > Array1d
Typedef for a commonly-used array type.
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, 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...
int const getIndex() const
GaussHermiteEvaluator(int order)
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...
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.
static int const computeIndex(int x, int y)
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
PackedIndex(int const x, int const y)
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...
Key< Flag > const & target
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.
A class to evaluate HERMITE shapelet-related quantities.
Constants, typedefs, and general-purpose functions for shapelets library.
static int const computeOffset(int order)
An iterator-like object to help in traversing "packed" shapelet or Hermite polynomial matrix or vecto...
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, geom::Extent2D const &point, double *dx=0, double *dy=0) const
Evaluate a simple unscaled shapelet expansion at the given point.
PackedIndex & operator++()