25 #ifndef LSST_AFW_MATH_SHAPELETS_CONSTANTS_H
26 #define LSST_AFW_MATH_SHAPELETS_CONSTANTS_H
36 #include "lsst/afw/geom/ellipses.h"
38 #include "lsst/pex/exceptions.h"
40 namespace lsst {
namespace shapelet {
105 int order = (std::sqrt(8*size + 1) - 3)/2;
108 pex::exceptions::InvalidParameterError,
109 "Invalid size for shapelet coefficient matrix"
125 return std::sqrt(
double(n));
130 return std::sqrt(
double(n) /
double(d));
135 #endif // !defined(LSST_AFW_MATH_SHAPELETS_CONSTANTS_H)
ndarray::Array< double, 1 > Array1d
Typedef for a commonly-used array type.
afw::geom::ellipses::Quadrupole EllipseCore
int computeSize(int order)
Return the size of the coefficient vector for the given order.
Polar shapelets or Gauss-Laguerre functions, as defined in Bernstein and Jarvis, 2002.
int computeOrder(int size)
Infer the order of a shapelet expansion from the number of coefficients.
Cartesian shapelets or Gauss-Hermite functions, as defined in Refregier, 2003.
BasisTypeEnum
An enum that sets whether to use real-valued polar shapelets or Cartesian shapelets.
double const BASIS_NORMALIZATION
Normalization factor for 1-d orthonormal shapelets: pi^(-1/4)
double intSqrt(int n)
Compute the square root of an integer number.
int computeOffset(int order)
Return the offset of the given order in a coefficient vector.
double rationalSqrt(int n, int d)
Compute the square root of a rational number i.e. sqrt(n/d)