23#ifndef AFW_TABLE_Simple_h_INCLUDED
24#define AFW_TABLE_Simple_h_INCLUDED
141 Schema r = getMinimalSchema().schema;
142 r.disconnectAliases();
180 return std::static_pointer_cast<SimpleRecord>(
_makeRecord());
209 struct MinimalSchema {
218 static MinimalSchema& getMinimalSchema();
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
Tag types used to declare specialized field types.
Base class for all records.
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.
A FunctorKey used to get or set celestial coordinates from a pair of lsst::geom::Angle keys.
static std::shared_ptr< IdFactory > makeSimple()
Return a simple IdFactory that simply counts from 1.
Defines the fields and offsets for a table.
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.
Record class that must contain a unique ID field and a celestial coordinate field.
lsst::geom::Angle getRa() const
void setCoord(lsst::geom::SpherePoint const &coord)
SimpleRecord(SimpleRecord &&)=delete
RecordId getId() const
Convenience accessors for the keys in the minimal reference schema.
std::shared_ptr< SimpleTable const > getTable() const
lsst::geom::SpherePoint getCoord() const
SimpleRecord(const SimpleRecord &)=delete
void setRa(lsst::geom::Angle ra)
SimpleRecord & operator=(const SimpleRecord &)=delete
void setDec(lsst::geom::Angle dec)
SimpleRecord(ConstructionToken const &token, detail::RecordData &&data)
Constructor used by SimpleTable.
SimpleRecord & operator=(SimpleRecord &&)=delete
lsst::geom::Angle getDec() const
Table class that must contain a unique ID field and a celestial coordinate field.
static std::shared_ptr< SimpleTable > make(Schema const &schema)
Construct a new table.
SimpleTable & operator=(SimpleTable const &)=delete
std::shared_ptr< SimpleTable > clone() const
Return a polymorphic deep copy of the table.
static Key< RecordId > getIdKey()
Get keys for standard fields shared by all references.
static bool checkSchema(Schema const &other)
Return true if the given schema is a valid SimpleTable schema.
std::shared_ptr< BaseTable > _clone() const override
Clone implementation with noncovariant return types.
static Schema makeMinimalSchema()
Return a minimal schema for Simple tables and records.
std::shared_ptr< io::FitsWriter > makeFitsWriter(fits::Fits *fitsfile, int flags) const override
std::shared_ptr< BaseRecord > _makeRecord() override
Default-construct an associated record (protected implementation).
static CoordKey getCoordKey()
Key for the celestial coordinates.
std::shared_ptr< IdFactory > getIdFactory()
Return the object that generates IDs for the table (may be null).
void setIdFactory(std::shared_ptr< IdFactory > f)
Switch to a new IdFactory – object that generates IDs for the table (may be null).
static std::shared_ptr< SimpleTable > make(Schema const &schema, std::shared_ptr< IdFactory > const &idFactory)
Construct a new table.
std::shared_ptr< IdFactory const > getIdFactory() const
Return the object that generates IDs for the table (may be null).
std::shared_ptr< SimpleRecord > copyRecord(BaseRecord const &other)
Deep-copy a record, requiring that it have the same schema as this table.
std::shared_ptr< SimpleRecord > makeRecord()
Default-construct an associated record.
std::shared_ptr< SimpleRecord > copyRecord(BaseRecord const &other, SchemaMapper const &mapper)
Deep-copy a record, requiring that it have the same schema as this table.
SimpleTable(Schema const &schema, std::shared_ptr< IdFactory > const &idFactory)
SimpleTable & operator=(SimpleTable &&)=delete
Writer object for FITS binary tables.
daf::base::PropertySet * set
Helper struct that contains the information passed from BaseTable to BaseRecord at construction.