Class MultiShapeletFunctionKey

Inheritance Relationships

Base Type

Class Documentation

class MultiShapeletFunctionKey : public lsst::afw::table::FunctorKey<MultiShapeletFunction>

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

A MultiShapeletFunctionKey holds a sequnece of ShapeletFunctionKey, with an numerical prefix in front of each component. A two-component MultiShapeletFunctionKey would thus be associated with the following keys:

  • ”<prefix>_0_xx”

  • ”<prefix>_0_yy”

  • ”<prefix>_0_xy”

  • ”<prefix>_0_x”

  • ”<prefix>_0_y”

  • ”<prefix>_1_xx”

  • ”<prefix>_1_yy”

  • ”<prefix>_1_xy”

  • ”<prefix>_1_x”

  • ”<prefix>_1_y”

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

Unnamed Group

bool operator==(MultiShapeletFunctionKey const &other) const

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

bool operator!=(MultiShapeletFunctionKey const &other) const

Public Functions

MultiShapeletFunctionKey()

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

MultiShapeletFunctionKey(std::vector<PTR(ShapeletFunctionKey)> const &components)

Construct from individual Keys/FunctorKeys.

MultiShapeletFunctionKey(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 MultiShapeletFunction get(afw::table::BaseRecord const &record) const

Get a MultiShapeletFunction from the given record.

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

Set a MultiShapeletFunction in the given record.

bool isValid() const

Return True if all the constituent Keys are valid.

PTR(ShapeletFunctionKey)

Return a FunctorKey to the nth component.

PTR(ShapeletFunctionKey const) const

Return a FunctorKey to the nth component.

Public Static Functions

static MultiShapeletFunctionKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, std::string const &ellipseUnit, std::string const &coeffUnit, std::vector<int> const &orders, 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] orders: Vector of orders of the ShapeletFunctions to be saved.

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