Class BaseCore::Transformer

Nested Relationships

This class is a nested type of Class BaseCore.

Class Documentation

class Transformer

A temporary-only expression object for ellipse core transformations.

Transformer simply provides a clean syntax for transform-related operations, including in-place and new-object transformations, derivatives of the transformations, and implicit conversion to a shared_ptr to a new transformed core.

Public Types

typedef Eigen::Matrix3d DerivativeMatrix

Matrix type for derivative with respect to input ellipse parameters.

typedef Eigen::Matrix<double, 3, 4> TransformDerivativeMatrix

Matrix type for derivative with respect to transform parameters.

Public Functions

Transformer(BaseCore &input_, lsst::geom::LinearTransform const &transform_)

Standard constructor.

std::shared_ptr<BaseCore> copy() const

Return a new transformed ellipse core.

void inPlace()

Transform the ellipse core in-place.

void apply(BaseCore &result) const
DerivativeMatrix d() const

Return the derivative of transformed core with respect to input core.

TransformDerivativeMatrix dTransform() const

Return the derivative of transformed core with respect to transform parameters.

Public Members

BaseCore &input

input core to be transformed

lsst::geom::LinearTransform const &transform

transform object