23 #ifndef AFW_TABLE_Exposure_h_INCLUDED 
   24 #define AFW_TABLE_Exposure_h_INCLUDED 
   43 class TransmissionCurve;
 
   57 namespace cameraGeom {
 
   66 template <
typename RecordT>
 
   67 class ExposureCatalogT;
 
   71 class OutputArchiveHandle;
 
  132                   bool includeValidPolygon = 
false) 
const;
 
  155         return _transmissionCurve;
 
  217         Schema r = getMinimalSchema().schema;
 
  251         return std::static_pointer_cast<ExposureRecord>(
_makeRecord());
 
  280     struct MinimalSchema {
 
  289     static MinimalSchema& getMinimalSchema();
 
  293     template <
typename RecordT>
 
  310 template <
typename RecordT>
 
  316     using Table = 
typename Record::Table;
 
  342     template <
typename InputIterator>
 
  353     template <
typename OtherRecordT>
 
  373         writer->write(*
this);
 
  388         return io::FitsReader::apply<ExposureCatalogT>(filename, hdu, flags);
 
  403         return io::FitsReader::apply<ExposureCatalogT>(manager, hdu, flags);
 
  414         return io::FitsReader::apply<ExposureCatalogT>(fitsfile, flags);
 
  425         return io::FitsReader::apply<ExposureCatalogT>(fitsfile, flags, archive);
 
  471                                       bool includeValidPolygon = 
false) 
const;
 
  482                                       bool includeValidPolygon = 
false) 
const;
 
table::Key< int > detector
 
table::Key< table::Array< std::uint8_t > > wcs
 
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
 
Lifetime-management for memory that goes into FITS memory files.
 
Column-wise view into a sequence of records that have been allocated contiguously.
 
Base class for all records.
 
void set(Key< T > const &key, U const &value)
Set value of a field for the given key.
 
Field< T >::Value get(Key< T > const &key) const
Return the value of a field for the given key.
 
std::shared_ptr< BaseTable const  > getTable() const
Return the table this record is associated with.
 
Base class for all tables.
 
std::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
 
Iterator class for CatalogT.
 
typename Record::Table Table
 
std::shared_ptr< Table > getTable() const
Return the table associated with the catalog.
 
void writeFits(std::string const &filename, std::string const &mode="w", int flags=0) const
Write a FITS binary table to a regular file.
 
Custom catalog class for ExposureRecord/Table.
 
ExposureCatalogT(ExposureCatalogT &&)=default
 
static ExposureCatalogT readFits(std::string const &filename, int hdu=fits::DEFAULT_HDU, int flags=0)
Read a FITS binary table from a regular file.
 
static ExposureCatalogT readFits(fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU, int flags=0)
Read a FITS binary table from a RAM file.
 
ExposureCatalogT(Base const &other)
 
ExposureCatalogT(ExposureCatalogT const &)=default
 
ExposureCatalogT(std::shared_ptr< Table > const &table, InputIterator first, InputIterator last, bool deep=false)
Construct a vector from a table and an iterator range.
 
ExposureCatalogT< RecordT > subset(ndarray::Array< bool const, 1 > const &mask) const
Return the subset of a catalog corresponding to the True values of the given mask array.
 
~ExposureCatalogT()=default
 
static ExposureCatalogT readFromArchive(io::InputArchive const &archive, BaseCatalog const &catalog)
Convenience input function for Persistables that contain an ExposureCatalog.
 
void writeToArchive(io::OutputArchiveHandle &handle, bool ignoreUnpersistable=true) const
Convenience output function for Persistables that contain an ExposureCatalog.
 
static ExposureCatalogT readFits(fits::Fits &fitsfile, int flags=0)
Read a FITS binary table from a file object already at the correct extension.
 
ExposureCatalogT(Schema const &schema)
Construct a vector from a schema, creating a table with Table::make(schema).
 
static ExposureCatalogT readFits(fits::Fits &fitsfile, std::shared_ptr< io::InputArchive > archive, int flags=0)
Read a FITS binary table from a file object already at the correct extension.
 
void writeFits(fits::Fits &fitsfile, std::shared_ptr< io::OutputArchive > archive, int flags=0) const
Write a FITS binary table to an open file object.
 
ExposureCatalogT subsetContaining(lsst::geom::SpherePoint const &coord, bool includeValidPolygon=false) const
Return a shallow subset of the catalog with only those records that contain the given point.
 
ExposureCatalogT subset(std::ptrdiff_t startd, std::ptrdiff_t stopd, std::ptrdiff_t step) const
Shallow copy a subset of another ExposureCatalog.
 
ExposureCatalogT(std::shared_ptr< Table > const &table=std::shared_ptr< Table >())
Construct a vector from a table (or nothing).
 
ExposureCatalogT & operator=(ExposureCatalogT const &)=default
 
ExposureCatalogT & operator=(ExposureCatalogT &&)=default
 
ExposureCatalogT(ExposureCatalogT< OtherRecordT > const &other)
Shallow copy constructor from a container containing a related record type.
 
Record class used to store exposure metadata.
 
bool contains(lsst::geom::SpherePoint const &coord, bool includeValidPolygon=false) const
Return true if the bounding box contains the given celestial coordinate point, taking into account th...
 
std::shared_ptr< image::VisitInfo const  > getVisitInfo() const
 
std::shared_ptr< image::ApCorrMap const  > getApCorrMap() const
 
std::shared_ptr< geom::SkyWcs const  > getWcs() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
 
std::shared_ptr< geom::polygon::Polygon const  > getValidPolygon() const
 
ExposureRecord & operator=(ExposureRecord const &)=delete
 
void setVisitInfo(std::shared_ptr< image::VisitInfo const > visitInfo)
 
lsst::geom::Box2I getBBox() const
 
ExposureRecord & operator=(ExposureRecord &&)=delete
 
~ExposureRecord() override
 
std::shared_ptr< ExposureTable const  > getTable() const
 
std::shared_ptr< image::TransmissionCurve const  > getTransmissionCurve() const
 
std::shared_ptr< detection::Psf const  > getPsf() const
 
void setTransmissionCurve(std::shared_ptr< image::TransmissionCurve const > transmissionCurve)
 
ExposureRecord(ExposureRecord &&)=delete
 
std::shared_ptr< cameraGeom::Detector const  > getDetector() const
 
void setValidPolygon(std::shared_ptr< geom::polygon::Polygon const > polygon)
 
ExposureRecord(ConstructionToken const &token, detail::RecordData &&data)
Constructor used by ExposureTable.
 
void setApCorrMap(std::shared_ptr< image::ApCorrMap const > apCorrMap)
 
friend class ExposureTable
 
void setWcs(std::shared_ptr< geom::SkyWcs const > wcs)
 
ExposureRecord(ExposureRecord const &)=delete
 
void setBBox(lsst::geom::Box2I const &bbox)
 
std::shared_ptr< image::PhotoCalib const  > getPhotoCalib() const
 
void setPsf(std::shared_ptr< detection::Psf const > psf)
 
void _assign(BaseRecord const &other) override
Called by assign() after transferring fields to allow subclass data members to be copied.
 
void setPhotoCalib(std::shared_ptr< image::PhotoCalib const > photoCalib)
 
void setDetector(std::shared_ptr< cameraGeom::Detector const > detector)
 
Table class used to store exposure metadata.
 
std::shared_ptr< ExposureTable > clone() const
Return a polymorphic deep copy of the table.
 
static PointKey< int > getBBoxMinKey()
Key for the minimum point of the bbox.
 
ExposureTable & operator=(ExposureTable const &)=delete
 
std::shared_ptr< BaseRecord > _makeRecord() override
Default-construct an associated record (protected implementation).
 
std::shared_ptr< ExposureRecord > makeRecord()
Default-construct an associated record.
 
std::shared_ptr< ExposureRecord > copyRecord(BaseRecord const &other, SchemaMapper const &mapper)
Deep-copy a record, requiring that it have the same schema as this table.
 
static Key< RecordId > getIdKey()
Get keys for standard fields shared by all references.
 
static Box2IKey getBBoxKey()
Key for the full bbox.
 
~ExposureTable() override
 
static bool checkSchema(Schema const &other)
Return true if the given schema is a valid ExposureTable schema.
 
static Schema makeMinimalSchema()
Return a minimal schema for Exposure tables and records.
 
ExposureTable(Schema const &schema)
 
static PointKey< int > getBBoxMaxKey()
Key for the maximum point of the bbox.
 
std::shared_ptr< BaseTable > _clone() const override
Clone implementation with noncovariant return types.
 
std::shared_ptr< ExposureRecord > copyRecord(BaseRecord const &other)
Deep-copy a record, requiring that it have the same schema as this table.
 
ExposureTable & operator=(ExposureTable &&)=delete
 
ExposureTable(ExposureTable const &other)
 
static std::shared_ptr< ExposureTable > make(Schema const &schema)
Construct a new table.
 
A class used as a handle to a particular field in a table.
 
Defines the fields and offsets for a table.
 
void disconnectAliases()
Sever the connection between this schema and any others with which it shares aliases.
 
int contains(Schema const &other, int flags=EQUAL_KEYS) const
Test whether the given schema is a subset of this.
 
A mapping between the keys of two Schemas, used to copy data between them.
 
Custom catalog class for record/table subclasses that are guaranteed to have an ID,...
 
SortedCatalogT< RecordT > subset(ndarray::Array< bool const, 1 > const &mask) const
Return the subset of a catalog corresponding to the True values of the given mask array.
 
typename Base::const_iterator const_iterator
 
typename Base::iterator iterator
 
Writer object for FITS binary tables.
 
An object passed to Persistable::write to allow it to persist itself.
 
An integer coordinate rectangle.
 
Point in an unspecified spherical coordinate system.
 
const int DEFAULT_HDU
Specify that the default HDU should be read.
 
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
 
A base class for image defects.
 
Helper struct that contains the information passed from BaseTable to BaseRecord at construction.
 
Key< int > transmissionCurve