1 #include "lsst/log/Log.h" 7 LOG_LOGGER _log = LOG_GET(
"jointcal.PhotometryMapping");
15 Eigen::Ref<Eigen::VectorXd> derivatives)
const {
20 double chipScale = _chipMapping->getTransfo()->transform(measuredStar.
x, measuredStar.
y, 1);
22 _visitMapping->getTransfo()->transform(measuredStar.
getXFocal(), measuredStar.
getYFocal(), 1);
26 Eigen::Ref<Eigen::VectorXd> chipBlock = derivatives.segment(0, _chipMapping->getNpar());
27 Eigen::Ref<Eigen::VectorXd> visitBlock =
28 derivatives.segment(_chipMapping->getNpar(), _visitMapping->getNpar());
32 if (!_chipMapping->isFixed()) {
33 _chipMapping->getTransfo()->computeParameterDerivatives(measuredStar.
x, measuredStar.
y, instFlux,
35 chipBlock *= visitScale;
37 _visitMapping->getTransfo()->computeParameterDerivatives(measuredStar.
getXFocal(),
38 measuredStar.
getYFocal(), instFlux, visitBlock);
39 visitBlock *= chipScale;
44 _chipMapping->getMappingIndices(indices);
46 std::vector<unsigned> tempIndices(_visitMapping->getNpar());
47 _visitMapping->getMappingIndices(tempIndices);
48 for (
unsigned k = 0; k < _visitMapping->getNpar(); ++k) {
49 indices.at(k + _chipMapping->getNpar()) = tempIndices.at(k);
void computeParameterDerivatives(MeasuredStar const &measuredStar, double instFlux, Eigen::Ref< Eigen::VectorXd > derivatives) const override
Compute the derivatives with respect to the parameters (i.e.
void getMappingIndices(std::vector< unsigned > &indices) const override
Gets how this set of parameters (of length getNpar()) map into the "grand" fit.
Class for a simple mapping implementing a generic Gtransfo.
objects measured on actual images.
unsigned getNpar() const override
Number of total parameters in this mapping.