37         indices[k] = 
index + k;
 
   42     transform->transformPosAndErrors(where, outPoint);
 
   44     errorProp->transformPosAndErrors(where, tmp);
 
   51                                                  double epsilon)
 const {
 
   53     derivative(0, 0) = 
lin->getCoefficient(1, 0, 0);
 
   60     derivative(1, 0) = 
lin->getCoefficient(0, 1, 0);
 
   61     derivative(0, 1) = 
lin->getCoefficient(1, 0, 1);
 
   62     derivative(1, 1) = 
lin->getCoefficient(0, 1, 1);
 
   68     transform->paramDerivatives(where, &H(0, 0), &H(0, 1));
 
   87     assert((&H(1, 0) - &H(0, 0)) == 1);
 
   91                                            double epsilon)
 const {
 
   94     derivative(0, 0) = 
lin->getCoefficient(1, 0, 0);
 
  101     derivative(1, 0) = 
lin->getCoefficient(0, 1, 0);
 
  102     derivative(0, 1) = 
lin->getCoefficient(1, 0, 1);
 
  103     derivative(1, 1) = 
lin->getCoefficient(0, 1, 1);
 
  104     derivative = preDer * derivative;
 
  111     transform->transformPosAndErrors(mid, outPoint);
 
  113     errorProp->transformPosAndErrors(mid, tmp);
 
  114     outPoint.
vx = tmp.
vx;
 
  115     outPoint.
vy = tmp.
vy;
 
  117     transform->paramDerivatives(mid, &H(0, 0), &H(0, 1));
 
  123     transform->transformPosAndErrors(mid, outPoint);
 
  125     errorProp->transformPosAndErrors(mid, tmp);
 
  126     outPoint.
vx = tmp.
vx;
 
  127     outPoint.
vy = tmp.
vy;
 
  135     actualResult = (*fittedPoly) * _centerAndScale;
 
Eigen::Matrix< double, Eigen::Dynamic, 2 > MatrixX2d
 
A Point with uncertainties.
 
std::shared_ptr< AstrometryTransform > errorProp
 
virtual void computeTransformAndDerivatives(FatPoint const &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const override
Actually applies the AstrometryMapping and evaluates the derivatives w.r.t the fitted parameters.
 
void print(std::ostream &out) const override
Print a string representation of the contents of this mapping, for debugging.
 
std::size_t getNpar() const override
Number of parameters in total.
 
std::shared_ptr< AstrometryTransform > transform
 
void getMappingIndices(IndexVector &indices) const override
Sets how this set of parameters (of length Npar()) map into the "grand" fit Expects that indices has ...
 
std::unique_ptr< AstrometryTransformLinear > lin
 
void transformPosAndErrors(FatPoint const &where, FatPoint &outPoint) const override
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 override
The derivative w.r.t. position.
 
void computeTransformAndDerivatives(FatPoint const &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const override
Calls the transforms and implements the centering and scaling of coordinates.
 
void positionDerivative(Point const &where, Eigen::Matrix2d &derivative, double epsilon) const override
The derivative w.r.t. position.
 
SimplePolyMapping(AstrometryTransformLinear const &CenterAndScale, AstrometryTransformPolynomial const &transform)
The transformation will be initialized to transform, so that the effective transformation reads trans...
 
AstrometryTransform const  & getTransform() const override
Access to the (fitted) transform.
 
void transformPosAndErrors(FatPoint const &where, FatPoint &outPoint) const override
The same as above but without the parameter derivatives (used to evaluate chi^2)
 
A base class for image defects.