lsst.afw  22.0.1-35-g9503da760+64490af121
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lsst::afw::table::io::FitsWriter Class Reference

Writer object for FITS binary tables. More...

#include <FitsWriter.h>

Classes

struct  ProcessRecords
 

Public Types

using Fits = afw::fits::Fits
 

Public Member Functions

template<typename ContainerT >
void write (ContainerT const &container)
 Write records in a container to disk. More...
 
 FitsWriter (Fits *fits, int flags)
 Construct from a wrapped cfitsio pointer. More...
 
 FitsWriter (FitsWriter const &)=default
 
 FitsWriter (FitsWriter &&)=default
 
FitsWriteroperator= (FitsWriter const &)=default
 
FitsWriteroperator= (FitsWriter &&)=default
 
virtual ~FitsWriter ()=default
 

Static Public Member 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. More...
 
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. More...
 

Protected Member Functions

virtual void _writeTable (std::shared_ptr< BaseTable const > const &table, std::size_t nRows)
 Write a table and its schema. More...
 
virtual void _writeRecord (BaseRecord const &source)
 Write an individual record. More...
 
virtual void _finish ()
 Finish writing a catalog. More...
 

Protected Attributes

Fits_fits
 
int _flags
 
std::size_t _row
 

Detailed Description

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.

Definition at line 25 of file FitsWriter.h.

Member Typedef Documentation

◆ Fits

Definition at line 27 of file FitsWriter.h.

Constructor & Destructor Documentation

◆ FitsWriter() [1/3]

lsst::afw::table::io::FitsWriter::FitsWriter ( Fits fits,
int  flags 
)
inlineexplicit

Construct from a wrapped cfitsio pointer.

Definition at line 78 of file FitsWriter.h.

◆ FitsWriter() [2/3]

lsst::afw::table::io::FitsWriter::FitsWriter ( FitsWriter const &  )
default

◆ FitsWriter() [3/3]

lsst::afw::table::io::FitsWriter::FitsWriter ( FitsWriter &&  )
default

◆ ~FitsWriter()

virtual lsst::afw::table::io::FitsWriter::~FitsWriter ( )
virtualdefault

Member Function Documentation

◆ _finish()

virtual void lsst::afw::table::io::FitsWriter::_finish ( )
inlineprotectedvirtual

Finish writing a catalog.

Definition at line 94 of file FitsWriter.h.

◆ _writeRecord()

void lsst::afw::table::io::FitsWriter::_writeRecord ( BaseRecord const &  source)
protectedvirtual

Write an individual record.

Definition at line 189 of file FitsWriter.cc.

◆ _writeTable()

void lsst::afw::table::io::FitsWriter::_writeTable ( std::shared_ptr< BaseTable const > const &  table,
std::size_t  nRows 
)
protectedvirtual

Write a table and its schema.

Definition at line 103 of file FitsWriter.cc.

◆ apply() [1/2]

template<typename ContainerT >
static void lsst::afw::table::io::FitsWriter::apply ( Fits fits,
ContainerT const &  container,
int  flags 
)
inlinestatic

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

Definition at line 44 of file FitsWriter.h.

◆ apply() [2/2]

template<typename OutputT , typename ContainerT >
static void lsst::afw::table::io::FitsWriter::apply ( OutputT &  output,
std::string const &  mode,
ContainerT const &  container,
int  flags 
)
inlinestatic

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.

Definition at line 37 of file FitsWriter.h.

◆ operator=() [1/2]

FitsWriter& lsst::afw::table::io::FitsWriter::operator= ( FitsWriter &&  )
default

◆ operator=() [2/2]

FitsWriter& lsst::afw::table::io::FitsWriter::operator= ( FitsWriter const &  )
default

◆ write()

template<typename ContainerT >
void lsst::afw::table::io::FitsWriter::write ( ContainerT const &  container)
inline

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 &.

Definition at line 58 of file FitsWriter.h.

Member Data Documentation

◆ _fits

Fits* lsst::afw::table::io::FitsWriter::_fits
protected

Definition at line 96 of file FitsWriter.h.

◆ _flags

int lsst::afw::table::io::FitsWriter::_flags
protected

Definition at line 97 of file FitsWriter.h.

◆ _row

std::size_t lsst::afw::table::io::FitsWriter::_row
protected

Definition at line 98 of file FitsWriter.h.


The documentation for this class was generated from the following files: