LSST Applications 24.1.5,g02d81e74bb+fa3a7a026e,g180d380827+a53a32eff8,g2079a07aa2+86d27d4dc4,g2305ad1205+c0501b3732,g295015adf3+7d3e92f0ec,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g33d1c0ed96+0e5473021a,g3a166c0a6a+0e5473021a,g3ddfee87b4+5dd1654d75,g48712c4677+3bf1020dcb,g487adcacf7+065c13d9cf,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+d7ac436cfb,g5a732f18d5+53520f316c,g64a986408d+fa3a7a026e,g858d7b2824+fa3a7a026e,g8a8a8dda67+585e252eca,g99cad8db69+a5a909b84f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+4cf350ccb2,gb0e22166c9+60f28cb32d,gba4ed39666+c2a2e4ac27,gbb8dafda3b+f991a0b59f,gc120e1dc64+9ccbfdb8be,gc28159a63d+0e5473021a,gcf0d15dbbd+5dd1654d75,gd96a1ce819+42fd0ee607,gdaeeff99f8+f9a426f77a,ge6526c86ff+0d71447b4b,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gff1a9f87cc+fa3a7a026e
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
lsst::afw::table::PersistableObjectColumnReader< T, Setter > Class Template Reference
Inheritance diagram for lsst::afw::table::PersistableObjectColumnReader< T, Setter >:
lsst::afw::table::io::FitsColumnReader

Public Member Functions

 PersistableObjectColumnReader (int column)
 
void readCell (BaseRecord &record, std::size_t row, fits::Fits &fits, std::shared_ptr< io::InputArchive > const &archive) const override
 Read values from a single row.
 
virtual void prepRead (std::size_t firstRow, std::size_t nRows, fits::Fits &fits)
 Optionally read ahead and cache values from multiple rows.
 

Static Public Member Functions

static void setup (std::string const &name, io::FitsSchemaInputMapper &mapper)
 

Detailed Description

template<typename T, void(ExposureRecord::*)(std::shared_ptr< T const >) Setter>
class lsst::afw::table::PersistableObjectColumnReader< T, Setter >

Definition at line 255 of file Exposure.cc.

Constructor & Destructor Documentation

◆ PersistableObjectColumnReader()

template<typename T , void(ExposureRecord::*)(std::shared_ptr< T const >) Setter>
lsst::afw::table::PersistableObjectColumnReader< T, Setter >::PersistableObjectColumnReader ( int column)
inline

Definition at line 268 of file Exposure.cc.

268: _column(column) {}

Member Function Documentation

◆ prepRead()

virtual void lsst::afw::table::io::FitsColumnReader::prepRead ( std::size_t firstRow,
std::size_t nRows,
fits::Fits & fits )
inlinevirtualinherited

Optionally read ahead and cache values from multiple rows.

Subclasses are not required to implement this method; if they do, they should indicate to readCell that cached values should be used instead. Subclasses should not assume that prepRead will always be called, however.

Parameters
[in]firstRowIndex of the first row to read.
[in]nRowsNumber of rows to read.
[in]fitsFITS file manager object.

Definition at line 42 of file FitsSchemaInputMapper.h.

42{}

◆ readCell()

template<typename T , void(ExposureRecord::*)(std::shared_ptr< T const >) Setter>
void lsst::afw::table::PersistableObjectColumnReader< T, Setter >::readCell ( BaseRecord & record,
std::size_t row,
fits::Fits & fits,
std::shared_ptr< io::InputArchive > const & archive ) const
inlineoverridevirtual

Read values from a single row.

Parameters
[in,out]recordRecord to populate.
[in]rowIndex of the row to read from.
[in]fitsFITS file manager object.
[in]archiveArchive holding persisted objects, loaded from other HDUs. May be null.

Implements lsst::afw::table::io::FitsColumnReader.

Definition at line 270 of file Exposure.cc.

271 {
272 int id = 0;
273 fits.readTableScalar<int>(row, _column, id);
274 std::shared_ptr<T> value = archive->get<T>(id);
275 (static_cast<ExposureRecord &>(record).*(Setter))(value);
276 }
table::Key< int > id
Definition Detector.cc:162
T get(T... args)
int row
Definition CR.cc:145

◆ setup()

template<typename T , void(ExposureRecord::*)(std::shared_ptr< T const >) Setter>
static void lsst::afw::table::PersistableObjectColumnReader< T, Setter >::setup ( std::string const & name,
io::FitsSchemaInputMapper & mapper )
inlinestatic

Definition at line 257 of file Exposure.cc.

257 {
258 auto item = mapper.find(name);
259 if (item) {
260 if (mapper.hasArchive()) {
262 mapper.customize(std::move(reader));
263 }
264 mapper.erase(item);
265 }
266 }
SchemaMapper * mapper
T move(T... args)

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