23 #ifndef AFW_TABLE_Simple_h_INCLUDED
24 #define AFW_TABLE_Simple_h_INCLUDED
34 namespace lsst {
namespace afw {
namespace table {
221 #endif // !AFW_TABLE_Simple_h_INCLUDED
Defines the fields and offsets for a table.
boost::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
static MinimalSchema & getMinimalSchema()
Writer object for FITS binary tables.
void setRa(Angle ra)
Convenience accessors for the keys in the minimal reference schema.
boost::shared_ptr< SimpleRecord > makeRecord()
Default-construct an associated record.
static Schema makeMinimalSchema()
Return a minimal schema for Simple tables and records.
virtual boost::shared_ptr< io::FitsWriter > makeFitsWriter(fits::Fits *fitsfile, int flags) const
static bool checkSchema(Schema const &other)
Return true if the given schema is a valid SimpleTable schema.
afw::table::Schema schema
A mapping between the keys of two Schemas, used to copy data between them.
Angle getRa() const
Convenience accessors for the keys in the minimal reference schema.
SortedCatalogT< Record const > ConstCatalog
boost::shared_ptr< SimpleTable > clone() const
Return a polymorphic deep copy of the table.
static Key< RecordId > getIdKey()
Key for the unique ID.
void disconnectAliases()
Sever the connection between this schema and any others with which it shares aliases.
static boost::shared_ptr< IdFactory > makeSimple()
Return a simple IdFactory that simply counts from 1.
boost::shared_ptr< SimpleTable const > getTable() const
boost::shared_ptr< IdFactory > getIdFactory()
Return the object that generates IDs for the table (may be null).
std::map< Citizen const *, CitizenInfo > table
SortedCatalogT< Record > Catalog
Angle getDec() const
Convenience accessors for the keys in the minimal reference schema.
Table class that must contain a unique ID field and a celestial coordinate field. ...
boost::shared_ptr< SimpleRecord > copyRecord(BaseRecord const &other)
Deep-copy a record, requiring that it have the same schema as this table.
boost::shared_ptr< IdFactory > _idFactory
boost::shared_ptr< BaseTable const > getTable() const
Return the table this record is associated with.
Custom catalog class for record/table subclasses that are guaranteed to have an ID, and should generally be sorted by that ID.
Key< geom::Angle > getDec() const
Return a constituent Key.
virtual void set(BaseRecord &record, coord::IcrsCoord const &value) const
Set an IcrsCoord in the given record.
IcrsCoord getCoord() const
Convenience accessors for the keys in the minimal reference schema.
RecordId getId() const
Convenience accessors for the keys in the minimal reference schema.
void setDec(Angle dec)
Convenience accessors for the keys in the minimal reference schema.
ColumnViewT< SimpleRecord > ColumnView
ColumnViewT< SimpleRecord > ColumnView
A polymorphic functor base class for generating record IDs for a table.
SimpleRecord(boost::shared_ptr< SimpleTable > const &table)
void setIdFactory(boost::shared_ptr< IdFactory > f)
Switch to a new IdFactory – object that generates IDs for the table (may be null).
SortedCatalogT< SimpleRecord > Catalog
Base class for all records.
SimpleTable(Schema const &schema, boost::shared_ptr< IdFactory > const &idFactory)
int contains(Schema const &other, int flags=EQUAL_KEYS) const
Test whether the given schema is a subset of this.
virtual boost::shared_ptr< BaseTable > _clone() const =0
Clone implementation with noncovariant return types.
virtual boost::shared_ptr< BaseRecord > _makeRecord()=0
Default-construct an associated record (protected implementation).
static boost::shared_ptr< SimpleTable > make(Schema const &schema, boost::shared_ptr< IdFactory > const &idFactory)
Construct a new table.
Record class that must contain a unique ID field and a celestial coordinate field.
void setId(RecordId id)
Convenience accessors for the keys in the minimal reference schema.
void setCoord(IcrsCoord const &coord)
Convenience accessors for the keys in the minimal reference schema.
static CoordKey getCoordKey()
Key for the celestial coordinates.
A class to handle Icrs coordinates (inherits from Coord)
static boost::shared_ptr< SimpleTable > make(Schema const &schema)
Construct a new table.
boost::int64_t RecordId
Type used for unique IDs for records.
Key< geom::Angle > getRa() const
Return a constituent Key.
SortedCatalogT< SimpleRecord const > ConstCatalog
Base class for all tables.
A FunctorKey used to get or set celestial coordiantes from a pair of Angle keys.