Class ShapeletFunctionKey

Inheritance Relationships

Base Type

Class Documentation

class ShapeletFunctionKey : public lsst::afw::table::FunctorKey<ShapeletFunction>

Class that maps ShapeletFunction objects to fields in afw::table objects.

A ShapeletFunctionKey manages a set of fields with a common prefix and the following suffixes:

  • ”x”, “y”, “xx”, “yy”, “xy”: ellipse

  • ”0”, “1”, “2”, …: coefficients.

As with all FunctorKeys, a ShapeletFunctorKey can be used to directly get or set objects on an afw::table::BaseRecord, just as with a true Key.

Unnamed Group

bool operator==(ShapeletFunctionKey const &other) const

Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys.

bool operator!=(ShapeletFunctionKey const &other) const

Public Functions

ShapeletFunctionKey()

Default constructor; instance will not be usuable unless subsequently assigned to.

ShapeletFunctionKey(afw::table::EllipseKey const &ellipse, afw::table::ArrayKey<double> const &coefficients, BasisTypeEnum basisType = HERMITE)

Construct from individual Keys/FunctorKeys.

ShapeletFunctionKey(afw::table::SubSchema const &s, BasisTypeEnum basisType = HERMITE)

Construct from a subschema, assuming the necesary subfields.

If a schema has e.g. “a_xx”, “a_0”, etc. fields, this constructor allows you to construct a ShapeletFunctionKey via:

ShapeletFunctionKey k(schema["a"]);

virtual ShapeletFunction get(afw::table::BaseRecord const &record) const

Get a ShapeletFunction from the given record.

virtual void set(afw::table::BaseRecord &record, ShapeletFunction const &value) const

Set a ShapeletFunction in the given record.

bool isValid() const

Return True if all the constituent Keys are valid.

afw::table::EllipseKey const &getEllipse() const

Return a FunctorKey that extracts just the Ellipse.

afw::table::ArrayKey<double> const &getCoefficients() const

Return a FunctorKey that extracts just the coefficients.

int getOrder() const

Return the shapelet order.

BasisTypeEnum getBasisType() const

Return the type of the shapelet basis.

Public Static Functions

static ShapeletFunctionKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, std::string const &ellipseUnit, std::string const &coeffUnit, int order, BasisTypeEnum basisType = HERMITE)

Add the necessary fields for saving a ShapeletFunction to a Schema.

This method provides only basic exception safety - the schema may be (partially) modified even if an exception is thrown.

Parameters
  • [inout] schema: Schema to add fields to.

  • [in] name: Name prefix for all fields.

  • [in] doc: String used as the documentation for the fields.

  • [in] ellipseUnit: String used as the unit for the ellipse (“<ellipseUnit>^2” will be used for the Quadrupole moments).

  • [in] coeffUnit: String used as the unit for the coefficient vector

  • [in] order: Order of the ShapeletFunction to be saved.

  • [in] basisType: Type of shapelet basis (HERMITE or LAGUERRE) to be saved.