2 #include "lsst/pex/exceptions.h"
4 namespace pexExcept = lsst::pex::exceptions;
10 : _m1(mapping1), _m2(mapping2) {
14 tmp = std::unique_ptr<tmpVars>(
new tmpVars);
15 setWhatToFit(
true,
true);
22 if (indices.size() < npar) indices.resize(npar);
32 std::vector<unsigned> ind2(_nPar2);
34 for (
unsigned k = 0; k < _nPar2; ++k) indices.at(k + _nPar1) = ind2.at(k);
49 H.block(0, 0, _nPar1, 2) = tmp->h1 * tmp->dt2dx;
54 H.block(_nPar1, 0, _nPar2, 2) = tmp->h2;
63 void TwoTransfoMapping::setWhatToFit(
const bool fittingT1,
const bool fittingT2) {
83 double epsilon)
const {
84 Eigen::Matrix2d d1, d2;
95 throw LSST_EXCEPT(pexExcept::TypeError,
96 " The routine TwoTransfoMapping::freezeErrorScales() was thought to be useless and is "
97 "not implemented (yet)");
void computeTransformAndDerivatives(FatPoint const &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const
Actually applies the mapping and evaluates the derivatives w.r.t the fitted parameters.
TwoTransfoMapping(SimpleGtransfoMapping *chipMapping, SimpleGtransfoMapping *visitMapping)
virtual void computeTransformAndDerivatives(FatPoint const &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const
Actually applies the mapping and evaluates the derivatives w.r.t the fitted parameters.
void setMappingIndices(std::vector< unsigned > &indices) const
Sets how this set of parameters (of length Npar()) map into the "grand" fit Expects that indices has ...
unsigned getNpar() const
Number of parameters in total.
A Point with uncertainties.
void setMappingIndices(std::vector< unsigned > &indices) const
Sets how this set of parameters (of length Npar()) map into the "grand" fit Expects that indices has ...
void freezeErrorScales()
Currently not implemented.
void positionDerivative(Point const &where, Eigen::Matrix2d &derivative, double epsilon) const
The derivative w.r.t. position.
void transformPosAndErrors(FatPoint const &where, FatPoint &outPoint) const
The same as above but without the parameter derivatives (used to evaluate chi^2)
unsigned getNpar() const
Number of parameters in total.
Eigen::Matrix< double, Eigen::Dynamic, 2 > MatrixX2d
void transformPosAndErrors(FatPoint const &where, FatPoint &outPoint) const
The same as above but without the parameter derivatives (used to evaluate chi^2)
void positionDerivative(Point const &where, Eigen::Matrix2d &derivative, double epsilon) const
Currently not implemented.