lsst.gauss2d.fit g199a45376c+3b7b3fd841
 
Loading...
Searching...
No Matches
ellipticalcomponent.h
1#ifndef LSST_GAUSS2D_FIT_ELLIPTICALCOMPONENT_H
2#define LSST_GAUSS2D_FIT_ELLIPTICALCOMPONENT_H
3
4#include "centroidparameters.h"
5#include "component.h"
6#include "param_defs.h"
7#include "param_filter.h"
8#include "parametricellipse.h"
9
10namespace lsst::gauss2d::fit {
11
16public:
24 explicit EllipticalComponent(std::shared_ptr<ParametricEllipse> ellipse,
25 std::shared_ptr<CentroidParameters> centroid = nullptr,
26 std::shared_ptr<IntegralModel> integralmodel = nullptr);
28 const CentroidParameters& get_centroid() const;
30 const ParametricEllipse& get_ellipse() const;
31 const IntegralModel& get_integralmodel() const override;
32
33 ParamRefs& get_parameters(ParamRefs& params, ParamFilter* filter = nullptr) const override;
34 ParamCRefs& get_parameters_const(ParamCRefs& params, ParamFilter* filter = nullptr) const override;
35
36 std::string repr(bool name_keywords = false,
37 std::string_view namespace_separator = Object::CC_NAMESPACE_SEPARATOR) const override;
38 std::string str() const override;
39
40protected:
41 std::shared_ptr<ParametricEllipse> _ellipse;
42 std::shared_ptr<CentroidParameters> _centroid;
43 std::shared_ptr<IntegralModel> _integralmodel;
44};
45
46} // namespace lsst::gauss2d::fit
47
48#endif
Definition centroidparameters.h:15
An atomic constituent of a source.
Definition component.h:15
const ParametricEllipse & get_ellipse() const
Get the ellipse Parameter container.
Definition ellipticalcomponent.cc:24
const CentroidParameters & get_centroid() const
Get the centroid Parameter container.
Definition ellipticalcomponent.cc:23
ParamCRefs & get_parameters_const(ParamCRefs &params, ParamFilter *filter=nullptr) const override
Same as get_parameters(), but for const refs.
Definition ellipticalcomponent.cc:34
EllipticalComponent(std::shared_ptr< ParametricEllipse > ellipse, std::shared_ptr< CentroidParameters > centroid=nullptr, std::shared_ptr< IntegralModel > integralmodel=nullptr)
Definition ellipticalcomponent.cc:13
ParamRefs & get_parameters(ParamRefs &params, ParamFilter *filter=nullptr) const override
Definition ellipticalcomponent.cc:27
A Parametric model for the integral of a 2D distribution.
Definition integralmodel.h:23
Definition parametricellipse.h:36
Definition param_filter.h:17