32 #ifndef LSST_AP_CLUSTER_SOURCECLUSTER_H
33 #define LSST_AP_CLUSTER_SOURCECLUSTER_H
46 namespace lsst {
namespace ap {
namespace cluster {
48 class SourceClusterTable;
56 template <
typename MeasurementT>
58 typename MeasurementT::MeasKey
mean;
59 typename MeasurementT::ErrKey
err;
66 typename MeasurementT::MeasKey
const & mean_,
67 typename MeasurementT::ErrKey
const & err_,
75 std::string
const & filter,
76 std::string
const & name,
77 std::string
const & doc);
82 std::string
const & filter,
83 std::string
const & name,
84 std::string
const & doc,
85 std::string
const & unit);
114 Eigen::Matrix<float,2,2>
const getCoordErr()
const;
116 void setCoordErr(Eigen::Matrix<float,2,2>
const & value);
162 void setNumSources(std::string
const & filter,
int const & value);
165 double const getTimeMin(std::string
const & filter)
const;
167 void setTimeMin(std::string
const & filter,
double const & value);
170 double const getTimeMax(std::string
const & filter)
const;
172 void setTimeMax(std::string
const & filter,
double const & value);
220 void setApFluxCount(std::string
const & filter,
int const & value);
252 void setShapeCount(std::string
const & filter,
int const & value);
256 double getIxx(std::string
const & filter)
const;
259 double getIyy(std::string
const & filter)
const;
262 double getIxy(std::string
const & filter)
const;
298 PTR(lsst::afw::
table::IdFactory) const & idFactory);
331 lsst::afw::
table::SchemaMapper const & mapper) {
486 std::vector<std::string>
const getFilters()
const;
499 _filterSlots[filter].keyNumSources = schema[filter][name];
560 schema[filter][name],
561 schema[filter][name][
"err"],
562 schema[filter][name][
"count"]);
593 schema[filter][name],
594 schema[filter][name][
"err"],
595 schema[filter][name][
"count"]);
623 void defineApFlux(std::string
const & filter, std::string
const & name) {
626 schema[filter][name],
627 schema[filter][name][
"err"],
628 schema[filter][name][
"count"]);
659 schema[filter][name],
660 schema[filter][name][
"err"],
661 schema[filter][name][
"count"]);
689 void defineShape(std::string
const & filter, std::string
const & name) {
692 schema[filter][name],
693 schema[filter][name][
"err"],
694 schema[filter][name][
"count"]);
740 lsst::afw::
table::io::FitsWriter::Fits * fits,
int flags) const;
755 friend class lsst::afw::
table::io::FitsWriter;
759 template <typename RecordT>
764 typedef typename RecordT::Table
Table;
783 return this->operator[](this->getTable()->
getTimeMinKey(filter));
786 return this->operator[](this->getTable()->
getTimeMaxKey(filter));
790 return this->operator[](this->getTable()->
getPsfFluxKey(filter));
793 return this->operator[](this->getTable()->
getApFluxKey(filter));
799 return this->operator[](this->getTable()->
getInstFluxKey(filter));
803 return this->operator[](this->getTable()->
getShapeKey(filter).getIxx());
806 return this->operator[](this->getTable()->
getShapeKey(filter).getIyy());
809 return this->operator[](this->getTable()->
getShapeKey(filter).getIxy());
813 template <
typename InputIterator>
816 InputIterator last) {
823 lsst::afw::
table::ColumnViewT<RecordT>(base) { }
846 return boost::make_shared<SourceClusterIdFactory>(*this);
861 return this->
get(getTable()->getCoordErrKey());
868 return this->
get(getTable()->getWeightedMeanCoordKey());
875 return this->
get(getTable()->getWeightedMeanCoordErrKey());
882 return this->
get(getTable()->getWeightedMeanCoordCountKey());
889 return this->
get(getTable()->getNumSourcesKey());
896 return this->
get(getTable()->getTimeMinKey());
903 return this->
get(getTable()->getTimeMeanKey());
910 return this->
get(getTable()->getTimeMaxKey());
918 return this->
get(getTable()->getNumSourcesKey(filter));
925 return this->
get(getTable()->getTimeMinKey(filter));
932 return this->
get(getTable()->getTimeMaxKey(filter));
940 return this->
get(getTable()->getPsfFluxKey(filter));
947 return this->
get(getTable()->getPsfFluxErrKey(filter));
954 return this->
get(getTable()->getPsfFluxCountKey(filter));
962 return this->
get(getTable()->getModelFluxKey(filter));
969 return this->
get(getTable()->getModelFluxErrKey(filter));
976 return this->
get(getTable()->getModelFluxCountKey(filter));
984 return this->
get(getTable()->getApFluxKey(filter));
991 return this->
get(getTable()->getApFluxErrKey(filter));
998 return this->
get(getTable()->getApFluxCountKey(filter));
1006 return this->
get(getTable()->getInstFluxKey(filter));
1013 return this->
get(getTable()->getInstFluxErrKey(filter));
1020 return this->
get(getTable()->getInstFluxCountKey(filter));
1028 return this->
get(getTable()->getShapeKey(filter));
1031 this->set(getTable()->
getShapeKey(filter), value);
1035 return this->
get(getTable()->getShapeErrKey(filter));
1042 return this->
get(getTable()->getShapeCountKey(filter));
1050 return get(getTable()->getShapeKey(filter).getIxx());
1053 return get(getTable()->getShapeKey(filter).getIyy());
1056 return get(getTable()->getShapeKey(filter).getIxy());
1063 #endif // !LSST_AP_CLUSTER_SOURCECLUSTER_H
void setModelFluxCount(std::string const &filter, int const &value)
Set the number of measurements used to compute the ModelFlux mean in the given filter.
std::string const getTimeMinDefinition() const
Get the name of the field used for the TimeMin slot.
virtual boost::shared_ptr< lsst::afw::table::io::FitsWriter > makeFitsWriter(lsst::afw::table::io::FitsWriter::Fits *fits, int flags) const
Defines the fields and offsets for a table.
std::string const getTimeMinDefinition(std::string const &filter) const
Return the name of the field used for the TimeMin slot in the given filter.
void defineWeightedMeanCoord(std::string const &name)
Set the field used for the WeightedMeanCoord slot using a name.
double getIxx(std::string const &filter) const
Return the shape slot Ixx value for the given filter.
void defineCoordErr(std::string const &name)
Set the field used for the CoordErr slot using a name.
void defineWeightedMeanCoord(lsst::afw::table::Key< lsst::afw::coord::Coord > const &key)
Set the field used for the WeightedMeanCoord slot using keys.
An include file to include the header files for lsst::afw::geom.
lsst::afw::table::Key< int > _keyNumSources
void defineTimeMin(lsst::afw::table::Key< double > const &key)
Set the field used for the TimeMin slot using keys.
std::string const getTimeMeanDefinition() const
Get the name of the field used for the TimeMean slot.
Column-wise view into a sequence of records that have been allocated contiguously.
Writer subclass for FITS binary tables.
SourceClusterColumnViewT< SourceClusterRecord > SourceClusterColumnView
int const getPsfFluxCount(std::string const &filter) const
Get the number of measurements used to compute the PsfFlux mean in the given filter.
void setInstFluxErr(std::string const &filter, lsst::afw::table::Flux::ErrValue const &value)
Set the uncertainty of the InstFlux mean in the given filter.
lsst::afw::table::Flux::MeasValue const getInstFlux(std::string const &filter) const
Get the inverse variance weighted mean of the InstFlux slot measurement in the given filter...
lsst::afw::table::Key< double > const getTimeMinKey(std::string const &filter) const
Return the key used for the TimeMin slot in the given filter.
void defineTimeMean(std::string const &name)
Set the field used for the TimeMean slot using a name.
void definePsfFlux(std::string const &filter, lsst::afw::table::Flux::MeasKey const &mean, lsst::afw::table::Flux::ErrKey const &err, lsst::afw::table::Key< int > const &count)
Set the fields used for the PsfFlux slot in the given filter using Keys.
std::string const getNumSourcesDefinition() const
Get the name of the field used for the NumSources slot.
lsst::afw::coord::Coord Coord
lsst::afw::table::Flux::ErrValue const getPsfFluxErr(std::string const &filter) const
Get the uncertainty of the PsfFlux mean in the given filter.
static BaseColumnView make(boost::shared_ptr< BaseTable > const &table, InputIterator first, InputIterator last)
Construct a BaseColumnView from an iterator range.
std::string const getApFluxDefinition(std::string const &filter) const
Return the name of the field used for the ApFlux slot in the given filter.
void defineTimeMax(lsst::afw::table::Key< double > const &key)
Set the field used for the TimeMax slot using keys.
std::tr1::unordered_map< std::string, FilterSlots > FilterSlotsMap
lsst::afw::table::Flux::ErrKey const getInstFluxErrKey(std::string const &filter) const
Return the key used for InstFlux slot error or covariance.
Field< MeasTag >::Value MeasValue
the value type used for the measurement
An include file to include the header files for lsst::afw::coord.
void defineTimeMax(std::string const &filter, std::string const &name)
Set the TimeMax slot in the given filter to the field named "<filter>.<name>".
lsst::afw::table::Key< double > const getTimeMaxKey() const
Get the key used for the TimeMax slot.
lsst::afw::table::Key< int > const getShapeCountKey(std::string const &filter) const
Return the key used for the Shape slot count.
void setApFluxErr(std::string const &filter, lsst::afw::table::Flux::ErrValue const &value)
Set the uncertainty of the ApFlux mean in the given filter.
std::vector< SourceCatalog > const cluster(SourceCatalog const &sources, ClusteringControl const &control)
FilterSlotsMap _filterSlots
boost::shared_ptr< SourceClusterRecord > copyRecord(lsst::afw::table::BaseRecord const &other)
Deep-copy a record, requiring that it have the same schema as this table.
boost::shared_ptr< BaseTable const > getTable() const
Return the table this record is associated with.
ndarray::Array< int const, 1 > const getNumSources(std::string const &filter) const
lsst::afw::table::Key< int > const getApFluxCountKey(std::string const &filter) const
Return the key used for the ApFlux slot count.
void setShapeCount(std::string const &filter, int const &value)
Set the number of measurements used to compute the Shape mean in the given filter.
std::string const getWeightedMeanCoordDefinition() const
Get the name of the field used for the WeightedMeanCoord slot.
ndarray::Array< double const, 1 > const getTimeMin(std::string const &filter) const
KeyTuple< lsst::afw::table::Flux > keyApFlux
Record class that contains measurement averages on clusters of single exposure sources.
void defineTimeMin(std::string const &filter, std::string const &name)
Set the TimeMin slot in the given filter to the field named "<filter>.<name>".
lsst::afw::table::SortedCatalogT< Record > Catalog
void setInstFlux(std::string const &filter, lsst::afw::table::Flux::MeasValue const &value)
Set the inverse variance weighted mean of the InstFlux slot measurement in the given filter...
lsst::afw::table::Key< lsst::afw::table::Covariance< lsst::afw::table::Point< float > > > const getWeightedMeanCoordErrKey() const
Get the key used for the WeightedMeanCoordErr slot.
void setTimeMin(double const &value)
Set the earliest observation time [MJD TAI] of sources in the cluster.
Eigen::Matrix< float, 2, 2 > const getWeightedMeanCoordErr() const
Get the uncertainty of the WeightedMeanCoord slot.
KeyTuple< lsst::afw::table::Flux > keyInstFlux
ndarray::Array< double const, 1 > const getTimeMax(std::string const &filter) const
Eigen::Matrix< float, 2, 2 > const getCoordErr() const
Convenience accessors for filter-agnostic keys.
void defineInstFlux(std::string const &filter, std::string const &name)
Set the fields used for the InstFlux slot in the given filter to the fields named "<filter>...
int const getApFluxCount(std::string const &filter) const
Get the number of measurements used to compute the ApFlux mean in the given filter.
lsst::afw::table::Key< lsst::afw::coord::Coord > _keyWeightedMeanCoord
lsst::afw::table::SortedCatalogT< SourceClusterRecord const > ConstCatalog
lsst::afw::table::Key< double > _keyTimeMin
virtual boost::shared_ptr< BaseTable > _clone() const =0
Clone implementation with noncovariant return types.
static boost::shared_ptr< IdFactory > makeSimple()
Return a simple IdFactory that simply counts from 1.
ndarray::Array< double const, 1 > const getTimeMin() const
ndarray::Array< double const, 1 > const getApFlux(std::string const &filter) const
void defineApFlux(std::string const &filter, std::string const &name)
Set the fields used for the ApFlux slot in the given filter to the fields named "<filter>.<name>", "<filter>.<name>.err", and "<filter>.<name>.count".
virtual boost::shared_ptr< BaseRecord > _makeRecord()=0
Default-construct an associated record (protected implementation).
Field< ErrTag >::Value ErrValue
the value type used for the uncertainty
void defineModelFlux(std::string const &filter, lsst::afw::table::Flux::MeasKey const &mean, lsst::afw::table::Flux::ErrKey const &err, lsst::afw::table::Key< int > const &count)
Set the fields used for the ModelFlux slot in the given filter using Keys.
lsst::afw::table::Flux::ErrKey const getModelFluxErrKey(std::string const &filter) const
Return the key used for ModelFlux slot error or covariance.
std::string const getWeightedMeanCoordErrDefinition() const
Get the name of the field used for the WeightedMeanCoordErr slot.
void setPsfFluxErr(std::string const &filter, lsst::afw::table::Flux::ErrValue const &value)
Set the uncertainty of the PsfFlux mean in the given filter.
ndarray::Array< double const, 1 > const getIxy(std::string const &filter) const
std::string const getShapeDefinition(std::string const &filter) const
Return the name of the field used for the Shape slot in the given filter.
MeasurementT::MeasKey mean
Key used for the mean measured value.
lsst::afw::table::Shape::MeasValue const getShape(std::string const &filter) const
Get the inverse variance weighted mean of the Shape slot measurement in the given filter...
Table class that contains measurement means on clusters of single exposure sources.
double getIxy(std::string const &filter) const
Return the shape slot Ixy value for the given filter.
void setModelFlux(std::string const &filter, lsst::afw::table::Flux::MeasValue const &value)
Set the inverse variance weighted mean of the ModelFlux slot measurement in the given filter...
lsst::afw::table::Flux::MeasKey const getApFluxKey(std::string const &filter) const
Return the key used for the ApFlux slot in the given filter.
lsst::afw::table::Flux::ErrValue const getModelFluxErr(std::string const &filter) const
Get the uncertainty of the ModelFlux mean in the given filter.
lsst::afw::table::Flux::MeasKey const getInstFluxKey(std::string const &filter) const
Return the key used for the InstFlux slot in the given filter.
void defineInstFlux(std::string const &filter, lsst::afw::table::Flux::MeasKey const &mean, lsst::afw::table::Flux::ErrKey const &err, lsst::afw::table::Key< int > const &count)
Set the fields used for the InstFlux slot in the given filter using Keys.
static SourceClusterColumnViewT make(boost::shared_ptr< Table > const &table, InputIterator first, InputIterator last)
Construct a BaseColumnView from an iterator range.
lsst::afw::table::Key< double > _keyTimeMax
double const getTimeMean() const
Get the mean observation time [MJD TAI] of sources in the cluster.
ndarray::Array< double const, 1 > const getTimeMean() const
void setApFluxCount(std::string const &filter, int const &value)
Set the number of measurements used to compute the ApFlux mean in the given filter.
void setNumSources(int const &value)
Set the number of sources in the cluster.
Table class that must contain a unique ID field and a celestial coordinate field. ...
FilterSlots const & getFilterSlots(std::string const &filter) const
SourceClusterRecord Record
std::string const getTimeMaxDefinition(std::string const &filter) const
Return the name of the field used for the TimeMax slot in the given filter.
void setCoordErr(Eigen::Matrix< float, 2, 2 > const &value)
Set the uncertainty of the sky-coordinates of the cluster.
lsst::afw::table::RecordId _id
lsst::afw::table::Key< lsst::afw::table::Covariance< lsst::afw::table::Point< float > > > _keyWeightedMeanCoordErr
void defineNumSources(lsst::afw::table::Key< int > const &key)
Set the field used for the NumSources slot using keys.
void defineShape(std::string const &filter, std::string const &name)
Set the fields used for the Shape slot in the given filter to the fields named "<filter>.<name>", "<filter>.<name>.err", and "<filter>.<name>.count".
lsst::afw::table::Shape::ErrKey const getShapeErrKey(std::string const &filter) const
Return the key used for Shape slot error or covariance.
Custom catalog class for record/table subclasses that are guaranteed to have an ID, and should generally be sorted by that ID.
boost::shared_ptr< SourceClusterTable const > getTable() const
boost::shared_ptr< SourceClusterRecord > makeRecord()
Default-construct an associated record.
void defineNumSources(std::string const &filter, lsst::afw::table::Key< int > const &key)
Convenience definers for filter-specific keys.
ndarray::Array< double const, 1 > const getPsfFlux(std::string const &filter) const
A point on the unit sphere (sky), specified in spherical polar coordinates.
SourceClusterColumnViewT< SourceClusterRecord > ColumnView
std::string const getTimeMaxDefinition() const
Get the name of the field used for the TimeMax slot.
KeyTuple()
Default-constructor; all keys will be invalid.
void setTimeMax(double const &value)
Set the latest observation time [MJD TAI] of sources in the cluster.
lsst::afw::table::Key< lsst::afw::coord::Coord > const getWeightedMeanCoordKey() const
Get the key used for the WeightedMeanCoord slot.
void setInstFluxCount(std::string const &filter, int const &value)
Set the number of measurements used to compute the InstFlux mean in the given filter.
int const getModelFluxCount(std::string const &filter) const
Get the number of measurements used to compute the ModelFlux mean in the given filter.
SourceClusterTable(lsst::afw::table::Schema const &schema, boost::shared_ptr< lsst::afw::table::IdFactory > const &idFactory)
lsst::afw::table::SortedCatalogT< SourceClusterRecord > Catalog
lsst::afw::coord::IcrsCoord const getWeightedMeanCoord() const
Get the inverse variance weighted mean sky-coordinates of the cluster.
static boost::shared_ptr< SourceClusterTable > make(lsst::afw::table::Schema const &schema, boost::shared_ptr< lsst::afw::table::IdFactory > const &idFactory)
Construct a new table.
ndarray::Array< double const, 1 > const getIyy(std::string const &filter) const
lsst::afw::table::Key< lsst::afw::table::Covariance< lsst::afw::table::Point< float > > > const getCoordErrKey() const
Get the key used for the CoordErr slot.
void setTimeMean(double const &value)
Set the mean observation time [MJD TAI] of sources in the cluster.
SchemaItem< T > find(std::string const &name) const
Find a SchemaItem in the Schema by name.
void defineShape(std::string const &filter, lsst::afw::table::Shape::MeasKey const &mean, lsst::afw::table::Shape::ErrKey const &err, lsst::afw::table::Key< int > const &count)
Set the fields used for the Shape slot in the given filter using Keys.
void defineWeightedMeanCoordCount(lsst::afw::table::Key< int > const &key)
Set the field used for the WeightedMeanCoordCount slot using keys.
lsst::afw::table::Key< int > const getWeightedMeanCoordCountKey() const
Get the key used for the WeightedMeanCoordCount slot.
int const getNumSources() const
Get the number of sources in the cluster.
void setWeightedMeanCoord(lsst::afw::coord::IcrsCoord const &value)
Set the inverse variance weighted mean sky-coordinates of the cluster.
double const getTimeMax() const
Get the latest observation time [MJD TAI] of sources in the cluster.
lsst::afw::table::Key< int > const getModelFluxCountKey(std::string const &filter) const
Return the key used for the ModelFlux slot count.
std::string const getInstFluxDefinition(std::string const &filter) const
Return the name of the field used for the InstFlux slot in the given filter.
A polymorphic functor base class for generating record IDs for a table.
void definePsfFlux(std::string const &filter, std::string const &name)
Set the fields used for the PsfFlux slot in the given filter to the fields named "<filter>.<name>", "<filter>.<name>.err", and "<filter>.<name>.count".
lsst::afw::table::Key< double > const getTimeMaxKey(std::string const &filter) const
Return the key used for the TimeMax slot in the given filter.
boost::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
KeyTuple< lsst::afw::table::Shape > keyShape
void setModelFluxErr(std::string const &filter, lsst::afw::table::Flux::ErrValue const &value)
Set the uncertainty of the ModelFlux mean in the given filter.
lsst::afw::table::Key< int > const getNumSourcesKey() const
Get the key used for the NumSources slot.
void setApFlux(std::string const &filter, lsst::afw::table::Flux::MeasValue const &value)
Set the inverse variance weighted mean of the ApFlux slot measurement in the given filter...
lsst::afw::table::Flux::MeasValue const getModelFlux(std::string const &filter) const
Get the inverse variance weighted mean of the ModelFlux slot measurement in the given filter...
A multidimensional strided array.
void defineTimeMax(std::string const &filter, lsst::afw::table::Key< double > const &key)
Set the field used for the TimeMax slot in the given filter using a Key.
std::string const getCoordErrDefinition() const
Get the name of the field used for the CoordErr slot.
lsst::afw::table::Key< double > const getTimeMeanKey() const
Get the key used for the TimeMean slot.
void setShape(std::string const &filter, lsst::afw::table::Shape::MeasValue const &value)
Set the inverse variance weighted mean of the Shape slot measurement in the given filter...
std::string const getWeightedMeanCoordCountDefinition() const
Get the name of the field used for the WeightedMeanCoordCount slot.
Schema getSchema() const
Return the table's schema.
int const getWeightedMeanCoordCount() const
Get the number of measurements used to compute the WeightedMeanCoord slot.
KeyTuple(typename MeasurementT::MeasKey const &mean_, typename MeasurementT::ErrKey const &err_, lsst::afw::table::Key< int > const &count_)
std::vector< std::string > const getFilters() const
Get the lexicographically sorted list of filter names for which slots have been defined.
lsst::afw::table::Key< int > const getNumSourcesKey(std::string const &filter) const
Return the key used for the NumSources slot in the given filter.
ndarray::Array< int const, 1 > const getNumSources() const
int const getInstFluxCount(std::string const &filter) const
Get the number of measurements used to compute the InstFlux mean in the given filter.
void defineTimeMin(std::string const &filter, lsst::afw::table::Key< double > const &key)
Set the field used for the TimeMin slot in the given filter using a Key.
lsst::afw::table::SortedCatalogT< Record const > ConstCatalog
void defineCoordErr(lsst::afw::table::Key< lsst::afw::table::Covariance< lsst::afw::table::Point< float > > > const &key)
Convenience definers for filter-agnostic keys.
lsst::afw::table::Shape::ErrValue const getShapeErr(std::string const &filter) const
Get the uncertainty of the Shape mean in the given filter.
lsst::afw::table::Key< int > count
Key used for the sample count.
lsst::afw::table::Flux::ErrValue const getInstFluxErr(std::string const &filter) const
Get the uncertainty of the InstFlux mean in the given filter.
lsst::afw::table::Flux::MeasKey const getPsfFluxKey(std::string const &filter) const
Return the key used for the PsfFlux slot in the given filter.
KeyTuple< lsst::afw::table::Flux > keyPsfFlux
std::string const getPsfFluxDefinition(std::string const &filter) const
Return the name of the field used for the PsfFlux slot in the given filter.
void setWeightedMeanCoordCount(int const &value)
Set the number of measurements used to compute the WeightedMeanCoord slot.
lsst::afw::table::Key< double > keyTimeMin
lsst::afw::table::Key< double > _keyTimeMean
void defineNumSources(std::string const &filter, std::string const &name)
Set the NumSources slot in the given filter to the field named "<filter>.<name>". ...
ndarray::Array< double const, 1 > const getTimeMax() const
lsst::afw::table::Flux::ErrKey const getPsfFluxErrKey(std::string const &filter) const
Return the key used for PsfFlux slot error or covariance.
MeasurementT::ErrKey err
Key used for the uncertainty.
double getIyy(std::string const &filter) const
Return the shape slot Iyy value for the given filter.
ndarray::Array< double const, 1 > const getModelFlux(std::string const &filter) const
void setShapeErr(std::string const &filter, lsst::afw::table::Shape::ErrValue const &value)
Set the uncertainty of the Shape mean in the given filter.
ndarray::Array< double const, 1 > const getIxx(std::string const &filter) const
void defineNumSources(std::string const &name)
Set the field used for the NumSources slot using a name.
void setPsfFluxCount(std::string const &filter, int const &value)
Set the number of measurements used to compute the PsfFlux mean in the given filter.
void defineTimeMax(std::string const &name)
Set the field used for the TimeMax slot using a name.
lsst::afw::table::SortedCatalogT< SourceClusterRecord const > ConstSourceClusterCatalog
void defineWeightedMeanCoordErr(lsst::afw::table::Key< lsst::afw::table::Covariance< lsst::afw::table::Point< float > > > const &key)
Set the field used for the WeightedMeanCoordErr slot using keys.
ndarray::Array< double const, 1 > const getInstFlux(std::string const &filter) const
lsst::afw::table::Key< int > keyNumSources
SourceClusterRecord(boost::shared_ptr< SourceClusterTable > const &table)
void defineModelFlux(std::string const &filter, std::string const &name)
Set the fields used for the ModelFlux slot in the given filter to the fields named "<filter>...
std::string const getNumSourcesDefinition(std::string const &filter) const
Return the name of the field used for the NumSources slot in the given filter.
lsst::afw::table::Flux::ErrValue const getApFluxErr(std::string const &filter) const
Get the uncertainty of the ApFlux mean in the given filter.
lsst::afw::table::SortedCatalogT< SourceClusterRecord > SourceClusterCatalog
boost::shared_ptr< SourceClusterTable > clone() const
Return a polymorphic deep copy of the table.
void setPsfFlux(std::string const &filter, lsst::afw::table::Flux::MeasValue const &value)
Set the inverse variance weighted mean of the PsfFlux slot measurement in the given filter...
lsst::afw::table::Key< int > const getPsfFluxCountKey(std::string const &filter) const
Return the key used for the PsfFlux slot count.
lsst::afw::table::Shape::MeasKey const getShapeKey(std::string const &filter) const
Return the key used for the Shape slot in the given filter.
lsst::afw::table::Key< double > const getTimeMinKey() const
Get the key used for the TimeMin slot.
SourceClusterColumnViewT< SourceClusterRecord > ColumnView
Record class that must contain a unique ID field and a celestial coordinate field.
void defineTimeMean(lsst::afw::table::Key< double > const &key)
Set the field used for the TimeMean slot using keys.
double const getTimeMin() const
Get the earliest observation time [MJD TAI] of sources in the cluster.
boost::int64_t RecordId
Type used for unique IDs for records.
lsst::afw::table::Flux::MeasKey const getModelFluxKey(std::string const &filter) const
Return the key used for the ModelFlux slot in the given filter.
std::map< Citizen const *, CitizenInfo > table
SourceClusterColumnViewT(lsst::afw::table::BaseColumnView const &base)
void setWeightedMeanCoordErr(Eigen::Matrix< float, 2, 2 > const &value)
Set the uncertainty of the WeightedMeanCoord slot.
void defineApFlux(std::string const &filter, lsst::afw::table::Flux::MeasKey const &mean, lsst::afw::table::Flux::ErrKey const &err, lsst::afw::table::Key< int > const &count)
Set the fields used for the ApFlux slot in the given filter using Keys.
Tag types used to declare specialized field types.
lsst::afw::table::Flux::MeasValue const getPsfFlux(std::string const &filter) const
Get the inverse variance weighted mean of the PsfFlux slot measurement in the given filter...
void defineTimeMin(std::string const &name)
Set the field used for the TimeMin slot using a name.
A class to handle Icrs coordinates (inherits from Coord)
A three-element tuple of mean, uncertainty, and count keys.
lsst::afw::table::Key< int > _keyWeightedMeanCoordCount
void defineWeightedMeanCoordErr(std::string const &name)
Set the field used for the WeightedMeanCoordErr slot using a name.
lsst::afw::table::Key< int > const getInstFluxCountKey(std::string const &filter) const
Return the key used for the InstFlux slot count.
KeyTuple< lsst::afw::table::Flux > keyModelFlux
std::string const getModelFluxDefinition(std::string const &filter) const
Return the name of the field used for the ModelFlux slot in the given filter.
lsst::afw::table::Flux::ErrKey const getApFluxErrKey(std::string const &filter) const
Return the key used for ApFlux slot error or covariance.
lsst::afw::table::Flux::MeasValue const getApFlux(std::string const &filter) const
Get the inverse variance weighted mean of the ApFlux slot measurement in the given filter...
void defineWeightedMeanCoordCount(std::string const &name)
Set the field used for the WeightedMeanCoordCount slot using a name.
int const getShapeCount(std::string const &filter) const
Get the number of measurements used to compute the Shape mean in the given filter.
KeyTuple< lsst::afw::table::Shape > addShapeFields(lsst::afw::table::Schema &schema, std::string const &filter, std::string const &name, std::string const &doc)
Convenience function to setup fields for shapes.
lsst::afw::table::Key< double > keyTimeMax
KeyTuple< lsst::afw::table::Flux > addFluxFields(lsst::afw::table::Schema &schema, std::string const &filter, std::string const &name, std::string const &doc, std::string const &unit)
Convenience function to setup fields for fluxes.
lsst::afw::table::Key< lsst::afw::table::Covariance< lsst::afw::table::Point< float > > > _keyCoordErr