23 #ifndef AFW_TABLE_aggregates_h_INCLUDED
24 #define AFW_TABLE_aggregates_h_INCLUDED
29 namespace lsst {
namespace afw {
33 template <
typename T,
int N>
class Point;
62 std::string
const &
name,
63 std::string
const & doc,
64 std::string
const & unit
131 std::string
const &
name,
132 std::string
const & doc
204 std::string
const &
name,
205 std::string
const & doc,
278 std::string
const &
name,
279 std::string
const & doc,
280 std::string
const & unit
331 template <
typename T,
int N>
354 std::string
const & prefix,
356 std::string
const & unit,
357 bool diagonalOnly=
false
376 std::string
const & prefix,
379 bool diagonalOnly=
false
423 virtual Eigen::Matrix<T,N,N>
get(
BaseRecord const & record)
const;
426 virtual void set(
BaseRecord & record, Eigen::Matrix<T,N,N>
const & value)
const;
455 #endif // !AFW_TABLE_aggregates_h_INCLUDED
virtual void set(BaseRecord &record, Eigen::Matrix< T, N, N > const &value) const
Set a covariance matrix in the given record (uses only the lower triangle of the given matrix) ...
An ellipse core with quadrupole moments as parameters.
bool isValid() const
Return True if all the constituent Keys are valid.
Defines the fields and offsets for a table.
T getElement(BaseRecord const &record, int i, int j) const
Return the element in row i and column j.
bool operator!=(PointKey< T > const &other) const
Compare the FunctorKey for equality with another, using the underlying x and y Keys.
Key< geom::Angle > getDec() const
Return a constituent Key.
std::vector< std::string > NameArray
A coordinate class intended to represent absolute positions (2-d specialization). ...
A proxy type for name lookups in a Schema.
CovarianceMatrixKey()
Construct an invalid instance; must assign before subsequent use.
virtual void set(BaseRecord &record, geom::ellipses::Quadrupole const &value) const
Set a Quadrupole in the given record.
table::Key< std::string > name
bool isValid() const
Return True if all the constituent Keys are valid.
CoordKey(Key< geom::Angle > const &ra, Key< geom::Angle > const &dec)
Construct from a pair of Keys.
bool operator==(QuadrupoleKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys...
afw::table::Schema schema
virtual void set(BaseRecord &record, geom::ellipses::Ellipse const &value) const
Set an Ellipse in the given record.
QuadrupoleKey(Key< double > const &ixx, Key< double > const &iyy, Key< double > const &ixy)
Construct from individual Keys.
std::vector< Key< T > > SigmaKeyArray
bool operator==(PointKey< T > const &other) const
Compare the FunctorKey for equality with another, using the underlying x and y Keys.
QuadrupoleKey(SubSchema const &s)
Construct from a subschema with appropriate subfields.
QuadrupoleKey getCore() const
Return constituent FunctorKeys.
bool operator!=(CoordKey const &lhs, CoordKey const &rhs)
Compare CoordKeys for equality using the constituent Keys.
bool operator==(CoordKey const &lhs, CoordKey const &rhs)
Compare CoordKeys for equality using the constituent Keys.
bool operator!=(EllipseKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys...
static QuadrupoleKey addFields(Schema &schema, std::string const &name, std::string const &doc, CoordinateType coordType=CoordinateType::PIXEL)
Add a set of quadrupole subfields to a schema and return a QuadrupoleKey that points to them...
static CoordKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc)
Add a pair of _ra, _dec fields to a Schema, and return a CoordKey that points to them.
bool operator==(EllipseKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys...
EllipseKey(SubSchema const &s)
Construct from a subschema, assuming (xx, yy, xy, x, y) subfields.
PointKey()
Default constructor; instance will not be usable unless subsequently assigned to. ...
QuadrupoleKey()
Default constructor; instance will not be usable unless subsequently assigned to. ...
static CovarianceMatrixKey addFields(Schema &schema, std::string const &prefix, NameArray const &names, std::string const &unit, bool diagonalOnly=false)
Add covariance matrix fields to a Schema, and return a CovarianceMatrixKey to manage them...
static EllipseKey addFields(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit)
Add a set of _xx, _yy, _xy, _x, _y fields to a Schema, and return an EllipseKey that points to them...
afw::table::Key< double > sigma
PointKey(SubSchema const &s)
Construct from a subschema, assuming x and y subfields.
bool isValid() const
Return true if the key was initialized to valid offset.
PointKey(Key< T > const &x, Key< T > const &y)
Construct from a pair of Keys.
static PointKey addFields(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit)
Add a pair of _x, _y fields to a Schema, and return a PointKey that points to them.
A FunctorKey used to get or set a geom::Point from an (x,y) pair of int or double Keys...
virtual void set(BaseRecord &record, coord::IcrsCoord const &value) const
Set an IcrsCoord in the given record.
Key< double > getIxx() const
Return a constituent Key.
EllipseKey(QuadrupoleKey const &qKey, PointKey< double > const &pKey)
Construct from individual Keys.
An ellipse defined by an arbitrary BaseCore and a center point.
bool operator!=(QuadrupoleKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys...
Key< geom::Angle > getRa() const
Return a constituent Key.
bool isValid() const
Return True if both the x and y Keys are valid.
bool isValid() const
Return True if all the constituent sigma Keys are valid.
PointKey< double > getCenter() const
Return constituent FunctorKeys.
bool operator!=(CovarianceMatrixKey const &other) const
Compare the FunctorKey for equality with another, using its constituent Keys.
Key< double > getIyy() const
Return a constituent Key.
Key< T > getY() const
Return the underlying y Key.
Base class for all records.
PointKey< double > Point2DKey
A class used as a handle to a particular field in a table.
CoordKey(SubSchema const &s)
Construct from a subschema, assuming ra and dec subfields.
CoordKey()
Default constructor; instance will not be usable unless subsequently assigned to. ...
Key< double > getIxy() const
Return a constituent Key.
void setElement(BaseRecord &record, int i, int j, T value) const
Set the element in row i and column j.
EllipseKey()
Default constructor; instance will not be usable unless subsequently assigned to. ...
std::vector< Key< T > > CovarianceKeyArray
A FunctorKey used to get or set a geom::ellipses::Ellipse from an (xx,yy,xy,x,y) tuple of Keys...
bool operator==(CovarianceMatrixKey const &other) const
Compare the FunctorKey for equality with another, using its constituent Keys.
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
This is the base class for spherical coordinates.
A FunctorKey used to get or set a geom::ellipses::Quadrupole from a tuple of constituent Keys...
A class to handle Icrs coordinates (inherits from Coord)
Key< T > getX() const
Return the underlying x Key.
PointKey< int > Point2IKey
virtual void set(BaseRecord &record, geom::Point< T, 2 > const &value) const
Set a Point in the given record.
A FunctorKey used to get or set celestial coordinates from a pair of Angle keys.