LSST Applications
21.0.0+04719a4bac,21.0.0-1-ga51b5d4+f5e6047307,21.0.0-11-g2b59f77+a9c1acf22d,21.0.0-11-ga42c5b2+86977b0b17,21.0.0-12-gf4ce030+76814010d2,21.0.0-13-g1721dae+760e7a6536,21.0.0-13-g3a573fe+768d78a30a,21.0.0-15-g5a7caf0+f21cbc5713,21.0.0-16-g0fb55c1+b60e2d390c,21.0.0-19-g4cded4ca+71a93a33c0,21.0.0-2-g103fe59+bb20972958,21.0.0-2-g45278ab+04719a4bac,21.0.0-2-g5242d73+3ad5d60fb1,21.0.0-2-g7f82c8f+8babb168e8,21.0.0-2-g8f08a60+06509c8b61,21.0.0-2-g8faa9b5+616205b9df,21.0.0-2-ga326454+8babb168e8,21.0.0-2-gde069b7+5e4aea9c2f,21.0.0-2-gecfae73+1d3a86e577,21.0.0-2-gfc62afb+3ad5d60fb1,21.0.0-25-g1d57be3cd+e73869a214,21.0.0-3-g357aad2+ed88757d29,21.0.0-3-g4a4ce7f+3ad5d60fb1,21.0.0-3-g4be5c26+3ad5d60fb1,21.0.0-3-g65f322c+e0b24896a3,21.0.0-3-g7d9da8d+616205b9df,21.0.0-3-ge02ed75+a9c1acf22d,21.0.0-4-g591bb35+a9c1acf22d,21.0.0-4-g65b4814+b60e2d390c,21.0.0-4-gccdca77+0de219a2bc,21.0.0-4-ge8a399c+6c55c39e83,21.0.0-5-gd00fb1e+05fce91b99,21.0.0-6-gc675373+3ad5d60fb1,21.0.0-64-g1122c245+4fb2b8f86e,21.0.0-7-g04766d7+cd19d05db2,21.0.0-7-gdf92d54+04719a4bac,21.0.0-8-g5674e7b+d1bd76f71f,master-gac4afde19b+a9c1acf22d,w.2021.13
LSST Data Management Base Package
|
#include <aggregates.h>
Public Types | |
typedef std::vector< Key< T > > | ErrKeyArray |
typedef std::vector< Key< T > > | CovarianceKeyArray |
typedef std::vector< std::string > | NameArray |
using | Value = Eigen::Matrix< T, N, N > |
The data type for get and set. More... | |
Public Member Functions | |
CovarianceMatrixKey () | |
Construct an invalid instance; must assign before subsequent use. More... | |
CovarianceMatrixKey (ErrKeyArray const &err, CovarianceKeyArray const &cov=CovarianceKeyArray()) | |
Construct a from arrays of per-element Keys. More... | |
CovarianceMatrixKey (SubSchema const &s, NameArray const &names) | |
Construct from a subschema and an array of names for each parameter of the matrix. More... | |
CovarianceMatrixKey (CovarianceMatrixKey const &) | |
CovarianceMatrixKey (CovarianceMatrixKey &&) | |
CovarianceMatrixKey & | operator= (CovarianceMatrixKey const &) |
CovarianceMatrixKey & | operator= (CovarianceMatrixKey &&) |
~CovarianceMatrixKey () noexcept override | |
Eigen::Matrix< T, N, N > | get (BaseRecord const &record) const override |
Get a covariance matrix from the given record. More... | |
void | set (BaseRecord &record, Eigen::Matrix< T, N, N > const &value) const override |
Set a covariance matrix in the given record (uses only the lower triangle of the given matrix) More... | |
T | getElement (BaseRecord const &record, int i, int j) const |
Return the element in row i and column j. More... | |
void | setElement (BaseRecord &record, int i, int j, T value) const |
Set the element in row i and column j. More... | |
bool | isValid () const noexcept |
Return True if all the constituent error Keys are valid. More... | |
bool | operator== (CovarianceMatrixKey const &other) const noexcept |
Compare the FunctorKey for equality with another, using its constituent Keys. More... | |
bool | operator!= (CovarianceMatrixKey const &other) const noexcept |
std::size_t | hash_value () const noexcept |
Return a hash of this object. More... | |
virtual void | set (BaseRecord &record, T const &value) const =0 |
Static Public Member Functions | |
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. More... | |
static CovarianceMatrixKey | addFields (Schema &schema, std::string const &prefix, NameArray const &names, NameArray const &units, bool diagonalOnly=false) |
Add covariance matrix fields to a Schema, and return a CovarianceMatrixKey to manage them. More... | |
Definition at line 432 of file aggregates.h.
typedef std::vector<Key<T> > lsst::afw::table::CovarianceMatrixKey< T, N >::CovarianceKeyArray |
Definition at line 435 of file aggregates.h.
typedef std::vector<Key<T> > lsst::afw::table::CovarianceMatrixKey< T, N >::ErrKeyArray |
Definition at line 434 of file aggregates.h.
typedef std::vector<std::string> lsst::afw::table::CovarianceMatrixKey< T, N >::NameArray |
Definition at line 436 of file aggregates.h.
|
inherited |
The data type for get and set.
Definition at line 77 of file FunctorKey.h.
lsst::afw::table::CovarianceMatrixKey< T, N >::CovarianceMatrixKey |
Construct an invalid instance; must assign before subsequent use.
Definition at line 185 of file aggregates.cc.
|
explicit |
Construct a from arrays of per-element Keys.
The err array Keys should point to the square root of the diagonal of the covariance matrix. The cov array Keys should point to the off-diagonal elements of the lower-triangle, packed first in rows, then in columns (or equivalently, in the upper-triangle, packed first in columns, then in rows). For a 4x4 matrix, the order is is:
err[0]^2 cov[0] cov[1] cov[3] cov[0] err[1]^2 cov[2] cov[4] cov[1] cov[2] err[2]^2 cov[5] cov[3] cov[4] cov[5] err[3]^2
The cov array may also be empty, to indicate that no off-diagonal elements are stored, and should be set to zero. If not empty, the size of the cov matrix must be exactly n*(n-1)/2, where n is the size of the err matrix.
Definition at line 188 of file aggregates.cc.
lsst::afw::table::CovarianceMatrixKey< T, N >::CovarianceMatrixKey | ( | SubSchema const & | s, |
NameArray const & | names | ||
) |
Construct from a subschema and an array of names for each parameter of the matrix.
The field names should match the following convention:
Definition at line 206 of file aggregates.cc.
|
default |
|
default |
|
overridedefaultnoexcept |
|
static |
Add covariance matrix fields to a Schema, and return a CovarianceMatrixKey to manage them.
[out] | schema | Schema to add fields to. |
[in] | prefix | String used to form the first part of all field names. Suffixes of the form '_xErr' and '_x_y_Cov' will be added to form the full field names (using names={'x', 'y'} as an example). |
[in] | units | Vector of units for for error (standard deviation) values; covariance matrix elements will have "{units[i]} {units[j]}" or "{units[i]}^2", depending on whether units[i] == units[j]. |
[in] | names | Vector of strings containing the names of the quantities the covariance matrix represents the uncertainty of. |
[in] | diagonalOnly | If true, only create fields for the error values. |
Definition at line 149 of file aggregates.cc.
|
static |
Add covariance matrix fields to a Schema, and return a CovarianceMatrixKey to manage them.
[out] | schema | Schema to add fields to. |
[in] | prefix | String used to form the first part of all field names. Suffixes of the form '_xErr' and '_x_y_Cov' will be added to form the full field names (using names={'x', 'y'} as an example). |
[in] | unit | Unit for for error (standard deviation) values; covariance matrix elements will be unit^2. |
[in] | names | Vector of strings containing the names of the quantities the covariance matrix represents the uncertainty of. |
[in] | diagonalOnly | If true, only create fields for the error values. |
Definition at line 141 of file aggregates.cc.
|
overridevirtual |
Get a covariance matrix from the given record.
Implements lsst::afw::table::OutputFunctorKey< T >.
Definition at line 259 of file aggregates.cc.
T lsst::afw::table::CovarianceMatrixKey< T, N >::getElement | ( | BaseRecord const & | record, |
int | i, | ||
int | j | ||
) | const |
|
noexcept |
Return a hash of this object.
Definition at line 329 of file aggregates.cc.
|
noexcept |
Return True if all the constituent error Keys are valid.
Note that if the only one or more off-diagonal keys are invalid, we assume that means those terms are zero, not that the whole FunctorKey is invalid.
Definition at line 294 of file aggregates.cc.
|
inlinenoexcept |
Definition at line 537 of file aggregates.h.
|
default |
|
default |
|
noexcept |
Compare the FunctorKey for equality with another, using its constituent Keys.
Definition at line 304 of file aggregates.cc.
|
override |
Set a covariance matrix in the given record (uses only the lower triangle of the given matrix)
Definition at line 278 of file aggregates.cc.
|
pure virtualinherited |
void lsst::afw::table::CovarianceMatrixKey< T, N >::setElement | ( | BaseRecord & | record, |
int | i, | ||
int | j, | ||
T | value | ||
) | const |
Set the element in row i and column j.
Definition at line 349 of file aggregates.cc.