24 #ifndef LSST_SHAPELET_RadialProfile_h_INCLUDED 25 #define LSST_SHAPELET_RadialProfile_h_INCLUDED 31 namespace lsst {
namespace shapelet {
79 virtual double evaluate(
double r)
const = 0;
86 ndarray::Array<double,1,1>
evaluate(ndarray::Array<double const,1,1>
const & r)
const;
125 int _defaultMaxRadius;
126 BasisRegistry _basisRegistry;
131 #endif // !LSST_SHAPELET_RadialProfile_h_INCLUDED
double getMomentsRadiusFactor() const
Return the 2nd-moment radius in units of the half-light radius.
void registerBasis(boost::shared_ptr< MultiShapeletBasis > basis, int nComponents, int maxRadius)
Register a basis with the profile, making it available to callers of getBasis().
A basis formed from a linear combination of shapelet bases that differ only in radius.
Registry and utility class for multi-Gaussian approximations to radial profiles.
A base class for image defects.
virtual double evaluate(double r) const =0
Evaluate the profile at the given radius.
boost::shared_ptr< MultiShapeletBasis > getBasis(int nComponents, int maxRadius=0) const
Return a multi-Gaussian approximation to the radial profile.
double _momentsRadiusFactor
table::Key< table::Array< double > > basis
std::string const getName() const
Return the name of the profile.
RadialProfile(std::string const &name, int defaultMaxRadius)