LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
lsst::afw::table::io::FitsWriter::ProcessRecords Struct Reference

Public Member Functions

template<typename T >
void operator() (SchemaItem< T > const &item) const
 
template<typename T >
void operator() (SchemaItem< Array< T > > const &item) const
 
void operator() (SchemaItem< std::string > const &item) const
 
void operator() (SchemaItem< Flag > const &item) const
 
 ProcessRecords (Fits *fits_, Schema const &schema_, int nFlags_, std::size_t const &row_)
 
void apply (BaseRecord const *r)
 

Public Attributes

std::size_t constrow
 
int col
 
int bit
 
int nFlags
 
Fitsfits
 
std::unique_ptr< bool[]> flags
 
BaseRecord constrecord
 
Schema schema
 

Detailed Description

Definition at line 136 of file FitsWriter.cc.

Constructor & Destructor Documentation

◆ ProcessRecords()

lsst::afw::table::io::FitsWriter::ProcessRecords::ProcessRecords ( Fits * fits_,
Schema const & schema_,
int nFlags_,
std::size_t const & row_ )
inline

Member Function Documentation

◆ apply()

void lsst::afw::table::io::FitsWriter::ProcessRecords::apply ( BaseRecord const * r)
inline

Definition at line 170 of file FitsWriter.cc.

170 {
171 record = r;
172 col = 0;
173 bit = 0;
174 if (nFlags) ++col;
175 schema.forEach(*this);
176 if (nFlags) fits->writeTableArray(row, 0, nFlags, flags.get());
177 }
T get(T... args)

◆ operator()() [1/4]

template<typename T >
void lsst::afw::table::io::FitsWriter::ProcessRecords::operator() ( SchemaItem< Array< T > > const & item) const
inline

Definition at line 144 of file FitsWriter.cc.

144 {
145 if (item.key.isVariableLength()) {
146 ndarray::Array<T const, 1, 1> array = record->get(item.key);
147 fits->writeTableArray(row, col, array.template getSize<0>(), array.getData());
148 } else {
149 fits->writeTableArray(row, col, item.key.getElementCount(), record->getElement(item.key));
150 }
151 ++col;
152 }
Field< T >::Value get(Key< T > const &key) const
Return the value of a field for the given key.
Definition BaseRecord.h:151
Field< T >::Element * getElement(Key< T > const &key)
Return a pointer to the underlying elements of a field (non-const).
Definition BaseRecord.h:93

◆ operator()() [2/4]

void lsst::afw::table::io::FitsWriter::ProcessRecords::operator() ( SchemaItem< Flag > const & item) const
inline

Definition at line 160 of file FitsWriter.cc.

160 {
161 flags[bit] = record->get(item.key);
162 ++bit;
163 }

◆ operator()() [3/4]

void lsst::afw::table::io::FitsWriter::ProcessRecords::operator() ( SchemaItem< std::string > const & item) const
inline

Definition at line 154 of file FitsWriter.cc.

154 {
155 // Write fixed-length and variable-length strings the same way
156 fits->writeTableScalar(row, col, record->get(item.key));
157 ++col;
158 }

◆ operator()() [4/4]

template<typename T >
void lsst::afw::table::io::FitsWriter::ProcessRecords::operator() ( SchemaItem< T > const & item) const
inline

Definition at line 138 of file FitsWriter.cc.

138 {
139 fits->writeTableArray(row, col, item.key.getElementCount(), record->getElement(item.key));
140 ++col;
141 }

Member Data Documentation

◆ bit

int lsst::afw::table::io::FitsWriter::ProcessRecords::bit
mutable

Definition at line 181 of file FitsWriter.cc.

◆ col

int lsst::afw::table::io::FitsWriter::ProcessRecords::col
mutable

Definition at line 180 of file FitsWriter.cc.

◆ fits

Fits* lsst::afw::table::io::FitsWriter::ProcessRecords::fits

Definition at line 183 of file FitsWriter.cc.

◆ flags

std::unique_ptr<bool[]> lsst::afw::table::io::FitsWriter::ProcessRecords::flags

Definition at line 184 of file FitsWriter.cc.

◆ nFlags

int lsst::afw::table::io::FitsWriter::ProcessRecords::nFlags

Definition at line 182 of file FitsWriter.cc.

◆ record

BaseRecord const* lsst::afw::table::io::FitsWriter::ProcessRecords::record

Definition at line 185 of file FitsWriter.cc.

◆ row

std::size_t const& lsst::afw::table::io::FitsWriter::ProcessRecords::row

Definition at line 179 of file FitsWriter.cc.

◆ schema

Schema lsst::afw::table::io::FitsWriter::ProcessRecords::schema

Definition at line 186 of file FitsWriter.cc.


The documentation for this struct was generated from the following file: