Class FitsWriter

Class Documentation

class FitsWriter

Writer object for FITS binary tables.

FitsWriter itself provides support for writing FITS binary tables from base containers. Derived record/base pairs should derive their own writer from FitsWriter and reimplement BaseTable::makeFitsWriter to return it. Subclasses will usually delegate most of the work back to FitsWriter.

Public Types

typedef afw::fits::Fits Fits

Public Functions

template<typename ContainerT>
void write(ContainerT const &container)

Write records in a container to disk.

The given container must have a getTable() member function that returns a shared_ptr to a table, and the iterators returned by begin() and end() must dereference to a type convertible to BaseRecord const &.

FitsWriter(Fits *fits, int flags)

Construct from a wrapped cfitsio pointer.

FitsWriter(FitsWriter const&)
FitsWriter(FitsWriter&&)
FitsWriter &operator=(FitsWriter const&)
FitsWriter &operator=(FitsWriter&&)
virtual ~FitsWriter()

Public Static Functions

template<typename OutputT, typename ContainerT>
static void apply(OutputT &output, std::string const &mode, ContainerT const &container, int flags)

Driver for writing FITS files.

A container class will usually provide a member function that calls this driver, which opens the FITS file, calls makeFitsWriter on the container’s table, and then calls Writer::write on it.

template<typename ContainerT>
static void apply(Fits &fits, ContainerT const &container, int flags)

Low-level driver for writing FITS files, operating on an open FITS file.

Protected Functions

virtual void _writeTable(std::shared_ptr<BaseTable const> const &table, std::size_t nRows)

Write a table and its schema.

virtual void _writeRecord(BaseRecord const &source)

Write an individual record.

virtual void _finish()

Finish writing a catalog.

Protected Attributes

Fits *_fits
int _flags
std::size_t _row