24 #ifndef LSST_MEAS_ALGORITHMS_CoaddBoundedField_h_INCLUDED
25 #define LSST_MEAS_ALGORITHMS_CoaddBoundedField_h_INCLUDED
27 #include "lsst/afw/math/BoundedField.h"
28 #include "lsst/afw/image/Wcs.h"
29 #include "lsst/afw/geom/polygon/Polygon.h"
31 namespace lsst {
namespace meas {
namespace algorithms {
37 PTR(afw::math::BoundedField) field_,
38 PTR(afw::image::Wcs
const) wcs_,
39 PTR(afw::geom::polygon::Polygon
const) validPolygon_,
52 PTR(afw::math::BoundedField)
field;
53 PTR(afw::image::Wcs const)
wcs;
60 public afw::math::BoundedField
67 explicit CoaddBoundedField(
68 afw::geom::Box2I
const & bbox,
70 ElementVector
const & elements
73 explicit CoaddBoundedField(
74 afw::geom::Box2I
const & bbox,
76 ElementVector
const & elements,
81 virtual double evaluate(afw::geom::Point2D
const & position)
const;
91 virtual PTR(afw::math::BoundedField) operator*(
double const scale) const;
94 virtual
bool operator==(BoundedField const& rhs) const;
99 virtual std::
string getPersistenceName() const;
102 virtual std::
string getPythonModule() const;
105 virtual
void write(OutputArchiveHandle & handle) const;
109 bool _throwOnMissing;
111 PTR(afw::image::Wcs const) _coaddWcs;
112 ElementVector _elements;
114 virtual std::
string toString()
const {
115 std::ostringstream os;
116 os <<
"CoaddBoundedField with " << _elements.size() <<
" elements, default " << _default;
123 #endif // !LSST_MEAS_ALGORITHMS_CoaddBoundedField_h_INCLUDED
Struct used to hold one Exposure's data in a CoaddBoundedField.
boost::shared_ptr< afw::image::Wcs const > wcs
std::vector< Element > ElementVector
CoaddBoundedFieldElement Element
virtual bool isPersistable() const
Return true if the CoaddBoundedField persistable (always true).
CoaddBoundedFieldElement(boost::shared_ptr< afw::math::BoundedField > field_, boost::shared_ptr< afw::image::Wcs const > wcs_, boost::shared_ptr< afw::geom::polygon::Polygon const > validPolygon_, double weight_=1.0)
tbl::Key< double > default_
bool operator!=(CoaddBoundedFieldElement const &rhs) const
Elements are equal if all their components are equal.
boost::shared_ptr< afw::math::BoundedField > field
bool operator==(CoaddBoundedFieldElement const &rhs) const
Elements are equal if all their components are equal.
boost::shared_ptr< afw::geom::polygon::Polygon const > validPolygon