LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
|
Table class that must contain a unique ID field and a celestial coordinate field. More...
#include <Simple.h>
Classes | |
struct | MinimalSchema |
Public Types | |
typedef SimpleRecord | Record |
typedef ColumnViewT< SimpleRecord > | ColumnView |
typedef SortedCatalogT< Record > | Catalog |
typedef SortedCatalogT< Record const > | ConstCatalog |
Public Types inherited from lsst.afw.table::BaseTable | |
typedef BaseRecord | Record |
The associated record class. More... | |
typedef BaseColumnView | ColumnView |
The associated ColumnView class. More... | |
typedef CatalogT< Record > | Catalog |
Template of CatalogT used to hold records of the associated type. More... | |
typedef CatalogT< Record const > | ConstCatalog |
Template of CatalogT used to hold const records of the associated type. More... | |
Public Types inherited from lsst::daf::base::Citizen | |
enum | { magicSentinel = 0xdeadbeef } |
typedef unsigned long | memId |
Type of the block's ID. More... | |
typedef memId(* | memNewCallback )(const memId cid) |
A function used to register a callback. More... | |
typedef memId(* | memCallback )(const Citizen *ptr) |
Public Member Functions | |
boost::shared_ptr< IdFactory > | getIdFactory () |
Return the object that generates IDs for the table (may be null). More... | |
boost::shared_ptr< IdFactory const > | getIdFactory () const |
Return the object that generates IDs for the table (may be null). More... | |
void | setIdFactory (boost::shared_ptr< IdFactory > f) |
Switch to a new IdFactory – object that generates IDs for the table (may be null). More... | |
boost::shared_ptr< SimpleTable > | clone () const |
Return a polymorphic deep copy of the table. More... | |
boost::shared_ptr< SimpleRecord > | makeRecord () |
Default-construct an associated record. More... | |
boost::shared_ptr< SimpleRecord > | copyRecord (BaseRecord const &other) |
Deep-copy a record, requiring that it have the same schema as this table. More... | |
boost::shared_ptr< SimpleRecord > | copyRecord (BaseRecord const &other, SchemaMapper const &mapper) |
Deep-copy a record, requiring that it have the same schema as this table. More... | |
Public Member Functions inherited from lsst.afw.table::BaseTable | |
boost::shared_ptr < daf::base::PropertyList > | getMetadata () const |
Return the flexible metadata associated with the table. May be null. More... | |
void | setMetadata (boost::shared_ptr< daf::base::PropertyList > const &metadata) |
Set the flexible metadata associated with the table. May be null. More... | |
boost::shared_ptr < daf::base::PropertyList > | popMetadata () |
Return the metadata and set the internal metadata to a null pointer. More... | |
boost::shared_ptr< BaseTable > | clone () const |
Return a polymorphic deep copy of the table. More... | |
boost::shared_ptr< BaseRecord > | makeRecord () |
Default-construct an associated record. More... | |
boost::shared_ptr< BaseRecord > | copyRecord (BaseRecord const &input) |
Deep-copy a record, requiring that it have the same schema as this table. More... | |
boost::shared_ptr< BaseRecord > | copyRecord (BaseRecord const &input, SchemaMapper const &mapper) |
Deep-copy a record, using a mapper to relate two schemas. More... | |
Schema | getSchema () const |
Return the table's schema. More... | |
void | preallocate (std::size_t nRecords) |
Allocate contiguous space for new records in advance. More... | |
std::size_t | getBufferSize () const |
Return the number of additional records space has been already been allocated for. More... | |
virtual | ~BaseTable () |
Public Member Functions inherited from lsst::daf::base::Citizen | |
Citizen (const std::type_info &) | |
Citizen (Citizen const &) | |
~Citizen () | |
Citizen & | operator= (Citizen const &) |
std::string | repr () const |
Return a string representation of a Citizen. More... | |
void | markPersistent (void) |
Mark a Citizen as persistent and not destroyed until process end. More... | |
memId | getId () const |
Return the Citizen's ID. More... | |
Static Public Member Functions | |
static boost::shared_ptr < SimpleTable > | make (Schema const &schema, boost::shared_ptr< IdFactory > const &idFactory) |
Construct a new table. More... | |
static boost::shared_ptr < SimpleTable > | make (Schema const &schema) |
Construct a new table. More... | |
static Schema | makeMinimalSchema () |
Return a minimal schema for Simple tables and records. More... | |
static bool | checkSchema (Schema const &other) |
Return true if the given schema is a valid SimpleTable schema. More... | |
static Key< RecordId > | getIdKey () |
Key for the unique ID. More... | |
static CoordKey | getCoordKey () |
Key for the celestial coordinates. More... | |
Static Public Member Functions inherited from lsst.afw.table::BaseTable | |
static boost::shared_ptr < BaseTable > | make (Schema const &schema) |
Construct a new table. More... | |
Static Public Member Functions inherited from lsst::daf::base::Citizen | |
static bool | hasBeenCorrupted () |
Check all allocated blocks for corruption. More... | |
static memId | getNextMemId () |
Return the memId of the next object to be allocated. More... | |
static int | init () |
Called once when the memory system is being initialised. More... | |
static int | census (int, memId startingMemId=0) |
How many active Citizens are there? More... | |
static void | census (std::ostream &stream, memId startingMemId=0) |
Print a list of all active Citizens to stream, sorted by ID. More... | |
static const std::vector < const Citizen * > * | census () |
Return a (newly allocated) std::vector of active Citizens sorted by ID. More... | |
static memId | setNewCallbackId (memId id) |
Call the NewCallback when block is allocated. More... | |
static memId | setDeleteCallbackId (memId id) |
Call the current DeleteCallback when block is deleted. More... | |
static memNewCallback | setNewCallback (memNewCallback func) |
Set the NewCallback function. More... | |
static memCallback | setDeleteCallback (memCallback func) |
Set the DeleteCallback function. More... | |
static memCallback | setCorruptionCallback (memCallback func) |
Set the CorruptionCallback function. More... | |
Protected Member Functions | |
SimpleTable (Schema const &schema, boost::shared_ptr< IdFactory > const &idFactory) | |
SimpleTable (SimpleTable const &other) | |
Protected Member Functions inherited from lsst.afw.table::BaseTable | |
template<typename Derived > | |
boost::shared_ptr< Derived > | getSelf () |
Convenience function for static-casting shared_from_this for use by derived classes. More... | |
template<typename Derived > | |
boost::shared_ptr< Derived const > | getSelf () const |
Convenience function for static-casting shared_from_this for use by derived classes. More... | |
virtual void | handleAliasChange (std::string const &alias) |
virtual boost::shared_ptr < BaseTable > | _clone () const =0 |
Clone implementation with noncovariant return types. More... | |
virtual boost::shared_ptr < BaseRecord > | _makeRecord ()=0 |
Default-construct an associated record (protected implementation). More... | |
BaseTable (Schema const &schema) | |
Construct from a schema. More... | |
BaseTable (BaseTable const &other) | |
Copy construct. More... | |
Private Member Functions | |
virtual boost::shared_ptr < io::FitsWriter > | makeFitsWriter (fits::Fits *fitsfile, int flags) const |
Static Private Member Functions | |
static MinimalSchema & | getMinimalSchema () |
Private Attributes | |
boost::shared_ptr< IdFactory > | _idFactory |
Friends | |
class | io::FitsWriter |
Additional Inherited Members | |
Static Public Attributes inherited from lsst.afw.table::BaseTable | |
static int | nRecordsPerBlock |
Number of records in each memory block. More... | |
Table class that must contain a unique ID field and a celestial coordinate field.
SimpleTable / SimpleRecord are intended to be the base class for records representing astronomical objects. In additional to the minimal schema and the convenience accessors it allows, a SimpleTable may hold an IdFactory object that is used to assign unique IDs to new records.
typedef SortedCatalogT<Record const> lsst.afw.table::SimpleTable::ConstCatalog |
|
protected |
|
protected |
|
inlinestatic |
|
inline |
Return a polymorphic deep copy of the table.
Derived classes should reimplement by static-casting the output of _clone to a pointer-to-derived to simulate covariant return types.
Cloning a table does not clone its associated records; the new table produced by clone() does not have any associated records.
Definition at line 159 of file Simple.h.
|
inline |
Deep-copy a record, requiring that it have the same schema as this table.
Regardless of the type or associated table of the input record, the type of the output record will be the type associated with this table and the record instance will be associated with this table.
Allowing derived-class records to be constructed from base-class records could be considered a form of type-slicing, but because we already demand that all records be constructable from nothing but a table, this isn't anything new.
Derived classes should reimplement by static-casting the output of BaseTable::copyRecord to the appropriate BaseRecord subclass.
This is implemented using makeRecord and calling record.assign on the results; override those to change the behavior.
Definition at line 165 of file Simple.h.
|
inline |
Deep-copy a record, requiring that it have the same schema as this table.
Regardless of the type or associated table of the input record, the type of the output record will be the type associated with this table and the record instance will be associated with this table.
Allowing derived-class records to be constructed from base-class records could be considered a form of type-slicing, but because we already demand that all records be constructable from nothing but a table, this isn't anything new.
Derived classes should reimplement by static-casting the output of BaseTable::copyRecord to the appropriate BaseRecord subclass.
This is implemented using makeRecord and calling record.assign on the results; override those to change the behavior.
Definition at line 170 of file Simple.h.
|
inlinestatic |
|
inline |
Return the object that generates IDs for the table (may be null).
Definition at line 138 of file Simple.h.
|
inline |
Return the object that generates IDs for the table (may be null).
Definition at line 141 of file Simple.h.
|
staticprivate |
|
static |
Construct a new table.
[in] | schema | Schema that defines the fields, offsets, and record size for the table. |
[in] | idFactory | Factory class to generate record IDs when they are not explicitly given. If null, record IDs will default to zero. |
Note that not passing an IdFactory at all will call the other override of make(), which will set the ID factory to IdFactory::makeSimple().
|
inlinestatic |
Construct a new table.
[in] | schema | Schema that defines the fields, offsets, and record size for the table. |
This overload sets the ID factory to IdFactory::makeSimple().
Definition at line 112 of file Simple.h.
|
privatevirtual |
Reimplemented from lsst.afw.table::BaseTable.
Reimplemented in lsst.afw.table::SourceTable.
|
inlinestatic |
Return a minimal schema for Simple tables and records.
The returned schema can and generally should be modified further, but many operations on SimpleRecords will assume that at least the fields provided by this routine are present.
Definition at line 121 of file Simple.h.
|
inline |
Default-construct an associated record.
Derived classes should reimplement by static-casting the output of _makeRecord to the appropriate BaseRecord subclass to simulate covariant return types.
Definition at line 162 of file Simple.h.
|
inline |
Switch to a new IdFactory – object that generates IDs for the table (may be null).
Definition at line 144 of file Simple.h.
|
friend |
|
private |