Class PhotometryMappingBase

Inheritance Relationships

Derived Types

Class Documentation

class PhotometryMappingBase

Relates transform(s) to their position in the fitting matrix and allows interaction with the transform(s).

Subclassed by lsst::jointcal::ChipVisitPhotometryMapping, lsst::jointcal::PhotometryMapping

Public Functions

PhotometryMappingBase()
virtual ~PhotometryMappingBase()
PhotometryMappingBase(PhotometryMappingBase const&)

No copy or move: there is only ever one instance of a given mapping (i.e. per ccd+visit)

PhotometryMappingBase(PhotometryMappingBase&&)
PhotometryMappingBase &operator=(PhotometryMappingBase const&)
PhotometryMappingBase &operator=(PhotometryMappingBase&&)
virtual std::size_t getNpar() const = 0

Number of total parameters in this mapping.

virtual double transform(MeasuredStar const &measuredStar, double value) const = 0

Return the on-sky transformed flux for measuredStar on ccdImage.

Return

The on-sky value () transformed from value at measuredStar’s position.

Parameters
  • [in] measuredStar: The measured star position to transform.

  • [in] value: The instrument flux or magnitude to transform.

virtual double transformError(MeasuredStar const &measuredStar, double value, double valueErr) const = 0

Return the on-sky transformed flux uncertainty for measuredStar on ccdImage. Matches the underlying PhotometryTransform’s transformError() until freezeErrorTransform() is called.

Return

The on-sky value transformed from value at measuredStar’s position.

Parameters
  • [in] measuredStar: The measured star position to transform.

  • [in] value: The flux or magnitude to transform.

  • [in] valueErr: The flux or magnitude uncertainty to transform.

virtual void freezeErrorTransform() = 0

Once this routine has been called, the error transform is not modified by offsetParams().

The routine can be called when the mappings are roughly in place. After the call, the transformations used to propagate errors are no longer affected when updating the mappings. This allows an exactly linear fit, which can be necessary for some model+data combinations.

virtual void computeParameterDerivatives(MeasuredStar const &measuredStar, double value, Eigen::Ref<Eigen::VectorXd> derivatives) const = 0

Compute the derivatives with respect to the parameters (i.e. the coefficients).

Parameters
  • [in] measuredStar: The measured star position to transform.

  • [in] value: The instrument flux or magnitude to compute the derivative at.

  • [out] derivatives: The computed derivatives, in the same order as the deltas in offsetParams.

void setFixed(bool _fixed)

Make this mapping’s parameters fixed (i.e. not varied during fitting).

bool isFixed()
virtual Eigen::VectorXd getParameters() = 0
virtual void getMappingIndices(IndexVector &indices) const = 0

Gets how this set of parameters (of length getNpar()) map into the “grand” fit. Expects that indices has enough space reserved.

virtual void dump(std::ostream &stream = std::cout) const = 0

Dump the contents of the transforms, for debugging.

Eigen::Index getIndex()

Get the index of this mapping in the grand fit.

void setIndex(Eigen::Index i)

Set the index of this mapping in the grand fit.

Protected Attributes

Eigen::Index index
bool fixed