12using Registry = std::map<std::string, const FitsReader *>;
14Registry& getRegistry() {
20static FitsReader const ampInfoFitsReader(
"AMPINFO");
26 int ioFlags,
bool stripMetadata)
const {
28 result->setMetadata(metadata);
36 Registry::iterator i = getRegistry().find(name);
37 if (i == getRegistry().end()) {
40 (boost::format(
"FitsReader with name '%s' does not exist; check AFW_TYPE keyword.") % name)
50 mapper.setArchive(archive);
52 mapper.readArchive(fits);
#define LSST_EXCEPT(type,...)
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
static std::shared_ptr< BaseTable > make(Schema const &schema)
Construct a new table.
A utility class for reading FITS binary tables.
virtual std::shared_ptr< BaseTable > makeTable(FitsSchemaInputMapper &mapper, std::shared_ptr< daf::base::PropertyList > metadata, int ioFlags, bool stripMetadata) const
Callback to create a Table object from a FITS binary table schema.
virtual bool usesArchive(int ioFlags) const
Callback that should return true if the FitsReader subclass makes use of an InputArchive to read firs...
FitsReader(std::string const &persistedClassName)
Construct a FitsReader, registering it to be used for all persisted tables with the given tag.
T get(std::string const &name) const