24 #ifndef LSST_SHAPELET_RadialProfile_h_INCLUDED 25 #define LSST_SHAPELET_RadialProfile_h_INCLUDED 31 namespace lsst {
namespace shapelet {
72 std::string
const getName()
const {
return _name; }
79 virtual double evaluate(
double r)
const = 0;
86 ndarray::Array<double,1,1>
evaluate(ndarray::Array<double const,1,1>
const & r)
const;
116 explicit RadialProfile(std::string
const & name,
int defaultMaxRadius);
124 std::string
const _name;
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.
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
std::string const getName() const
Return the name of the profile.
RadialProfile(std::string const &name, int defaultMaxRadius)