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 transformPosAndErrors(const FatPoint &where, FatPoint &outPoint) const
The same as above but without the parameter derivatives (used to evaluate chi^2)
virtual void computeTransformAndDerivatives(const FatPoint &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.
unsigned getNpar() const
Number of parameters in total.
Eigen::Matrix< double, Eigen::Dynamic, 2 > MatrixX2d
void positionDerivative(const Point &where, Eigen::Matrix2d &derivative, double epsilon) const
Currently not implemented.
void positionDerivative(const Point &where, Eigen::Matrix2d &derivative, double epsilon) const
The derivative w.r.t. position.
void transformPosAndErrors(const FatPoint &where, FatPoint &outPoint) const
The same as above but without the parameter derivatives (used to evaluate chi^2)
void computeTransformAndDerivatives(const FatPoint &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const
Actually applies the mapping and evaluates the derivatives w.r.t the fitted parameters.