23 #ifndef AFW_TABLE_aggregates_h_INCLUDED 24 #define AFW_TABLE_aggregates_h_INCLUDED 73 ~
PointKey() noexcept
override =
default;
92 bool operator==(
PointKey<T> const&
other)
const noexcept {
return _x == other._x && _y == other._y; }
104 bool isValid() const noexcept {
return _x.isValid() && _y.isValid(); }
125 template <
typename Box>
148 BoxKey() noexcept = default;
167 ~
BoxKey() noexcept
override =
default;
176 Box
get(
BaseRecord const& record)
const override;
179 void set(
BaseRecord& record, Box
const& value)
const override;
182 bool operator==(
BoxKey const&
other)
const noexcept {
return _min == other._min && _max == other._max; }
188 bool isValid() const noexcept {
return _min.isValid() && _max.isValid(); }
227 : _ra(ra), _dec(
dec) {}
243 ~
CoordKey() noexcept
override =
default;
252 bool operator==(
CoordKey const&
other)
const noexcept {
return _ra == other._ra && _dec == other._dec; }
303 : _ixx(ixx), _iyy(iyy), _ixy(ixy) {}
330 return _ixx == other._ixx && _iyy == other._iyy && _ixy == other._ixy;
342 bool isValid() const noexcept {
return _ixx.
isValid() && _iyy.isValid() && _ixy.isValid(); }
345 Key<double> getIxx()
const noexcept {
return _ixx; }
406 return _qKey == other._qKey && _pKey == other._pKey;
431 template <
typename T,
int N>
452 std::string const& unit,
bool diagonalOnly =
false);
469 NameArray
const& units,
bool diagonalOnly =
false);
493 CovarianceKeyArray
const& cov = CovarianceKeyArray());
521 T getElement(
BaseRecord const& record,
int i,
int j) const;
524 void setElement(
BaseRecord& record,
int i,
int j, T value) const;
545 CovarianceKeyArray _cov;
552 template <
typename T>
559 template <
typename T>
587 template <
typename T,
int N>
588 struct hash<
lsst::afw::table::CovarianceMatrixKey<T, N>> {
595 #endif // !AFW_TABLE_aggregates_h_INCLUDED An ellipse core with quadrupole moments as parameters.
Defines the fields and offsets for a table.
size_t operator()(argument_type const &obj) const noexcept
A proxy type for name lookups in a Schema.
QuadrupoleKey(SubSchema const &s)
Construct from a subschema with appropriate subfields.
size_t operator()(argument_type const &obj) const noexcept
std::vector< std::string > NameArray
A coordinate class intended to represent absolute positions (2-d specialization). ...
Key< T > getX() const noexcept
Return the underlying x Key.
size_t operator()(argument_type const &obj) const noexcept
bool isValid() const noexcept
Return True if both the min and max PointKeys are valid.
CoordKey() noexcept
Default constructor; instance will not be usable unless subsequently assigned to. ...
bool isValid() const noexcept
Return True if all the constituent Keys are valid.
PointKey< Element > getMin() const noexcept
Return the underlying min PointKey.
std::vector< Key< T > > CovarianceKeyArray
EllipseKey(SubSchema const &s)
Construct from a subschema, assuming (xx, yy, xy, x, y) subfields.
bool operator!=(PointKey< T > const &other) const noexcept
Compare the FunctorKey for equality with another, using the underlying x and y Keys.
PointKey< Element > getMax() const noexcept
Return the underlying max PointKey.
bool operator!=(QuadrupoleKey const &other) const noexcept
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys...
PointKey< int > Point2IKey
size_t operator()(argument_type const &obj) const noexcept
Key< lsst::geom::Angle > getDec() const noexcept
Return a constituent Key.
PointKey() noexcept
Default constructor; instance will not be usable unless subsequently assigned to. ...
bool operator!=(BoxKey const &other) const noexcept
Compare the FunctorKey for equality with another, using the underlying x and y Keys.
PointKey< double > Point2DKey
ItemVariant const * other
daf::base::PropertySet * set
std::size_t hash_value(Extent< T, N > const &extent) noexcept
std::size_t hash_value() const noexcept
Return a hash of this object.
A FunctorKey used to get or set a lsst::geom::Box2I or Box2D from a (min, max) pair of PointKeys...
std::vector< Key< T > > ErrKeyArray
EllipseKey(QuadrupoleKey const &qKey, PointKey< double > const &pKey) noexcept
Construct from individual Keys.
size_t operator()(argument_type const &obj) const noexcept
typename lsst::geom::Box2I ::Element Element
Type of coordinate elements (i.e. int or double).
A base class for image defects.
A FunctorKey used to get or set a lsst::geom::Point from an (x,y) pair of int or double Keys...
PointKey(Key< T > const &x, Key< T > const &y) noexcept
Construct from a pair of Keys.
bool isValid() const noexcept
bool isValid() const noexcept
Return True if both the x and y Keys are valid.
An ellipse defined by an arbitrary BaseCore and a center point.
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
Typedefs to be used for probability and parameter values.
CoordKey(Key< lsst::geom::Angle > const &ra, Key< lsst::geom::Angle > const &dec) noexcept
Construct from a pair of Keys.
PointKey< double > getCenter() const noexcept
Return constituent FunctorKeys.
Key< double > getIxy() const noexcept
Return a constituent Key.
std::size_t hash_value() const noexcept
Return a hash of this object.
bool operator!=(EllipseKey const &other) const noexcept
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys...
BoxKey(SubSchema const &s)
Construct from a subschema, assuming _min_x, _max_x, _min_y, _max_y subfields.
Key< double > getIyy() const noexcept
Return a constituent Key.
CoordinateType
Enum used to set units for geometric FunctorKeys.
QuadrupoleKey() noexcept
Default constructor; instance will not be usable unless subsequently assigned to. ...
size_t operator()(argument_type const &obj) const noexcept
Base class for all records.
std::size_t hash_value() const noexcept
Return a hash of this object.
std::size_t hash_value() const noexcept
Return a hash of this object.
Point in an unspecified spherical coordinate system.
A class used as a handle to a particular field in a table.
bool operator!=(CoordKey const &other) const noexcept
Compare CoordKeys for equality using the constituent ra and dec Keys.
PointKey(SubSchema const &s)
Construct from a subschema, assuming x and y subfields.
EllipseKey() noexcept
Default constructor; instance will not be usable unless subsequently assigned to. ...
CoordKey(SubSchema const &s)
Construct from a subschema, assuming ra and dec subfields.
std::size_t hash_value() const noexcept
Return a hash of this object.
std::size_t hashCombine(std::size_t seed) noexcept
Combine hashes.
bool isValid() const noexcept
Return True if all the constituent Keys are valid.
A FunctorKey used to get or set a geom::ellipses::Ellipse from an (xx,yy,xy,x,y) tuple of Keys...
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
QuadrupoleKey(Key< double > const &ixx, Key< double > const &iyy, Key< double > const &ixy) noexcept
Construct from individual Keys.
A FunctorKey used to get or set a geom::ellipses::Quadrupole from a tuple of constituent Keys...
Key< T > getY() const noexcept
Return the underlying y Key.
A FunctorKey used to get or set celestial coordinates from a pair of lsst::geom::Angle keys...