25#ifndef LSST_JOINTCAL_PHOTOMETRY_TRANSFORM_H
26#define LSST_JOINTCAL_PHOTOMETRY_TRANSFORM_H
55 virtual double transform(
double x,
double y,
double value)
const = 0;
101 Eigen::Ref<Eigen::VectorXd>
derivatives)
const = 0;
117 out <<
"PhotometryTransformSpatiallyInvariant: " <<
std::setprecision(10) << _value;
124 void offsetParams(Eigen::VectorXd
const &delta)
override { _value -= delta[0]; };
153 double transform(
double x,
double y,
double value)
const override {
return value *
getValue(); }
167 Eigen::Ref<Eigen::VectorXd>
derivatives)
const override {
199 Eigen::Ref<Eigen::VectorXd>
derivatives)
const override {
248 void print(
std::ostream &out)
const override { out <<
"PhotometryTransformChebyshev: " << _coefficients; }
254 void offsetParams(Eigen::VectorXd
const &delta)
override;
257 ndarray::Array<double, 2, 2>
getCoefficients()
const {
return ndarray::copy(_coefficients); }
292 ndarray::Array<double, 2, 2> _coefficients;
293 ndarray::Size _order;
294 ndarray::Size _nParameters;
297 double oneIntegral(
double x,
double y)
const;
312 double transform(
double x,
double y,
double value)
const override {
318 Eigen::Ref<Eigen::VectorXd>
derivatives)
const override {
341 double transform(
double x,
double y,
double value)
const override {
347 Eigen::Ref<Eigen::VectorXd>
derivatives)
const override {
ndarray::Array< double const, 2, 2 > coefficients
T setprecision(T... args)