lsst.gauss2d.fit g199a45376c+5e234f8357
 
Loading...
Searching...
No Matches
integralmodel.h
1#ifndef LSST_GAUSS2D_FIT_INTEGRALMODEL_H
2#define LSST_GAUSS2D_FIT_INTEGRALMODEL_H
3
4#include <memory>
5#include <set>
6
7#include "channel.h"
8#include "chromatic.h"
9#include "parametric.h"
10#include "parametricmodel.h"
11
12namespace lsst::gauss2d::fit {
23class IntegralModel : public Chromatic, public Parametric {
24public:
26 virtual double get_integral(const Channel &channel) const = 0;
36 virtual std::vector<std::pair<ParamBaseCRef, ExtraParamFactorValues>> get_integral_derivative_factors(
37 const Channel &channel) const
38 = 0;
39};
40
41inline bool operator<(const IntegralModel &lhs, const IntegralModel &rhs) { return &lhs < &rhs; }
42// TODO: These aren't necessary, but should they be included?
43// const bool operator == ( const IntegralModel &m ) const { return &(*this) == &m; };
44// const bool operator != ( const IntegralModel &m ) const { return &(*this) != &m; };
45
46} // namespace lsst::gauss2d::fit
47
48#endif
An observational channel, usually representing some range of wavelengths of light.
Definition channel.h:29
Definition chromatic.h:8
A Parametric model for the integral of a 2D distribution.
Definition integralmodel.h:23
virtual std::vector< std::pair< ParamBaseCRef, ExtraParamFactorValues > > get_integral_derivative_factors(const Channel &channel) const =0
Return the partial derivative of the model w.r.t. each metaparameter.
virtual double get_integral(const Channel &channel) const =0
Get the value of the integral in a single Channel.
Definition parametric.h:13