Class MultiModel

Inheritance Relationships

Base Type

Class Documentation

class MultiModel : public lsst::meas::modelfit::Model

A concrete Model class that simply concatenates several other Models.

Public Functions

MultiModel(ModelVector components, NameVector const &prefixes)

Construct a new MultiModel.

Parameters
  • [in] components: A vector of other Models to combine

  • [in] prefixes: A vector of name prefixes used to construct parameter names, one for each element in components.

ModelVector const &getComponents() const

Return the vector of constituent models.

PTR(Prior) const
EllipseVector makeEllipseVector() const

Return an uninitialized vector of afw::geom::ellipses::Ellipse with the parametrization expected by readEllipses() and writeEllipses().

void writeEllipses(Scalar const *nonlinearIter, Scalar const *fixedIter, EllipseIterator ellipseIter) const

Convert a set of nonlinear+fixed parameter arrays to a vector of ellipses.

Warning

The ellipse iterator must point to an EllipseVector originally constructed by makeEllipseVector()

Warning

Calling writeEllipses() followed by readEllipses() does not guarantee that that the parameters on output will be the same as those on input, as the parameters may be degenerate. However, calling readEllipses() followed by writeEllipses() is guaranteed to round-trip the ellipses.

Parameters
  • [in] nonlinearIter: Pointer to the beginning of a nonlinear parameter array.

  • [in] fixedIter: Pointer to the beginning of a fixed parameter array.

  • [out] ellipseIter: Iterator to the beginning of an ellipse vector, as returned by makeEllipseVector().

void readEllipses(EllipseConstIterator ellipseIter, Scalar *nonlinearIter, Scalar *fixedIter) const

Convert a vector of ellipses to a set of nonlinear+fixed parameter arrays.

Warning

The ellipse iterator must point to an EllipseVector originally constructed by makeEllipseVector()

Warning

Calling writeEllipses() followed by readEllipses() does not guarantee that that the parameters on output will be the same as those on input, as the parameters may be degenerate. However, calling readEllipses() followed by writeEllipses() is guaranteed to round-trip the ellipses.

Parameters
  • [in] ellipseIter: Iterator to the beginning of an ellipse vector, as returned by makeEllipseVector().

  • [out] nonlinearIter: Pointer to the beginning of a nonlinear parameter array.

  • [out] fixedIter: Pointer to the beginning of a fixed parameter array.