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_,
51 PTR(afw::math::BoundedField)
field;
52 PTR(afw::image::Wcs const)
wcs;
59 public afw::math::BoundedField
66 explicit CoaddBoundedField(
67 afw::geom::Box2I
const & bbox,
69 ElementVector
const & elements
72 explicit CoaddBoundedField(
73 afw::geom::Box2I
const & bbox,
75 ElementVector
const & elements,
80 virtual double evaluate(afw::geom::Point2D
const & position)
const;
90 virtual PTR(afw::math::BoundedField) operator*(
double const scale) const;
93 virtual
bool operator==(BoundedField const& rhs) const;
98 virtual std::
string getPersistenceName() const;
101 virtual std::
string getPythonModule() const;
104 virtual
void write(OutputArchiveHandle & handle) const;
108 bool _throwOnMissing;
110 PTR(afw::image::Wcs const) _coaddWcs;
111 ElementVector _elements;
113 virtual std::
string toString()
const {
114 std::ostringstream os;
115 os <<
"CoaddBoundedField with " << _elements.size() <<
" elements, default " << _default;
122 #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