LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0-2-g04d2804
include
lsst
afw
table
io
FitsSchemaInputMapper.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
#ifndef AFW_TABLE_IO_FitsSchemaInputMapper_h_INCLUDED
3
#define AFW_TABLE_IO_FitsSchemaInputMapper_h_INCLUDED
4
5
#include "
lsst/afw/fits.h
"
6
#include "
lsst/afw/table/Schema.h
"
7
#include "
lsst/afw/table/io/InputArchive.h
"
8
#include "
lsst/afw/table/BaseRecord.h
"
9
10
namespace
lsst {
namespace
afw {
namespace
table {
namespace
io {
11
12
class
FitsColumnReader
{
13
public
:
14
15
FitsColumnReader
() {}
16
17
// Neither copyable nor moveable.
18
FitsColumnReader
(
FitsColumnReader
const
&) =
delete
;
19
FitsColumnReader
(
FitsColumnReader
&&) =
delete
;
20
FitsColumnReader
&
operator=
(
FitsColumnReader
const
&) =
delete
;
21
FitsColumnReader
&
operator=
(
FitsColumnReader
&&) =
delete
;
22
23
virtual
void
readCell
(
24
BaseRecord
& record,
25
std::size_t
row
,
26
fits::Fits
& fits,
27
PTR
(
InputArchive
)
const
& archive
28
)
const
= 0;
29
30
virtual
~FitsColumnReader
() {}
31
32
};
33
37
struct
FitsSchemaItem
{
38
int
column
;
// column number (0-indexed); -1 for Flag fields
39
int
bit
;
// flag bit number (0-indexed); -1 for non-Flag fields
40
std::string
ttype
;
// name of the field (from TTYPE keys)
41
std::string
tform
;
// FITS column format code (from TFORM keys)
42
std::string
tccls
;
// which field class to use (from our own TCCLS keys)
43
std::string
tunit
;
// field units (from TUNIT keys)
44
std::string
doc
;
// field docs (from comments on TTYPE keys)
45
46
explicit
FitsSchemaItem
(
int
column_,
int
bit_) :
column
(column_),
bit
(bit_) {}
47
};
48
49
67
class
FitsSchemaInputMapper
{
68
public
:
69
70
typedef
FitsSchemaItem
Item
;
71
73
FitsSchemaInputMapper
(
daf::base::PropertyList
& metadata,
bool
stripMetadata);
74
78
void
setArchive
(
PTR
(
InputArchive
) archive);
79
85
bool
readArchive
(
afw::fits::Fits
& fits);
86
88
bool
hasArchive
()
const
;
89
96
Item
const
*
find
(std::string
const
& ttype)
const
;
97
104
Item
const
*
find
(
int
column)
const
;
105
110
void
erase
(
Item
const
* item);
111
116
void
erase
(std::string
const
& ttype);
117
122
void
erase
(
int
column);
123
127
void
customize
(std::unique_ptr<FitsColumnReader> reader);
128
134
Schema
finalize
();
135
139
void
readRecord
(
140
BaseRecord
& record,
141
afw::fits::Fits
& fits,
142
std::size_t
row
143
);
144
145
private
:
146
class
Impl;
147
PTR
(Impl)
_impl
;
148
};
149
150
}}}}
// namespace lsst::afw::table::io
151
152
#endif // !AFW_TABLE_IO_FitsSchemaInputMapper_h_INCLUDED
lsst::afw::table::Schema
Defines the fields and offsets for a table.
Definition:
Schema.h:46
lsst::afw::table::io::FitsSchemaItem::FitsSchemaItem
FitsSchemaItem(int column_, int bit_)
Definition:
FitsSchemaInputMapper.h:46
lsst::afw::table::io::FitsColumnReader::FitsColumnReader
FitsColumnReader()
Definition:
FitsSchemaInputMapper.h:15
lsst::afw::table::io::FitsColumnReader::~FitsColumnReader
virtual ~FitsColumnReader()
Definition:
FitsSchemaInputMapper.h:30
BaseRecord.h
lsst::afw::table::io::FitsSchemaItem::doc
std::string doc
Definition:
FitsSchemaInputMapper.h:44
lsst::daf::base::PropertyList
Class for storing ordered metadata with comments.
Definition:
PropertyList.h:81
PTR
#define PTR(...)
Definition:
base.h:41
lsst::afw::table::io::FitsSchemaInputMapper
Definition:
FitsSchemaInputMapper.h:67
lsst::afw::fits::Fits
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
Definition:
fits.h:194
Schema.h
lsst::afw::table::io::FitsSchemaItem::tunit
std::string tunit
Definition:
FitsSchemaInputMapper.h:43
lsst::afw::table::io::FitsSchemaItem
Definition:
FitsSchemaInputMapper.h:37
lsst::afw::table::io::FitsSchemaInputMapper::hasArchive
bool hasArchive() const
Return true if the mapper has an InputArchive.
lsst::afw::table::io::FitsSchemaInputMapper::FitsSchemaInputMapper
FitsSchemaInputMapper(daf::base::PropertyList &metadata, bool stripMetadata)
Construct a mapper from a PropertyList of FITS header values, stripping recognized keys if desired...
lsst::afw::table::io::FitsSchemaItem::tform
std::string tform
Definition:
FitsSchemaInputMapper.h:41
lsst::afw::table::io::FitsSchemaItem::bit
int bit
Definition:
FitsSchemaInputMapper.h:39
lsst::afw::table::io::FitsSchemaItem::column
int column
Definition:
FitsSchemaInputMapper.h:38
lsst::afw::table::io::FitsColumnReader::operator=
FitsColumnReader & operator=(FitsColumnReader const &)=delete
lsst::afw::table::io::FitsSchemaItem::tccls
std::string tccls
Definition:
FitsSchemaInputMapper.h:42
lsst::afw::table::io::FitsSchemaInputMapper::find
Item const * find(std::string const &ttype) const
lsst::afw::table::io::FitsColumnReader::readCell
virtual void readCell(BaseRecord &record, std::size_t row, fits::Fits &fits, boost::shared_ptr< InputArchive > const &archive) const =0
fits.h
row
int row
Definition:
CR.cc:153
lsst::afw::table::BaseRecord
Base class for all records.
Definition:
BaseRecord.h:27
lsst::afw::table::io::FitsSchemaInputMapper::finalize
Schema finalize()
lsst::afw::table::io::FitsSchemaInputMapper::readArchive
bool readArchive(afw::fits::Fits &fits)
lsst::afw::table::io::FitsSchemaItem::ttype
std::string ttype
Definition:
FitsSchemaInputMapper.h:40
lsst::afw::table::io::FitsSchemaInputMapper::erase
void erase(Item const *item)
lsst::afw::table::io::FitsSchemaInputMapper::customize
void customize(std::unique_ptr< FitsColumnReader > reader)
lsst::afw::table::io::InputArchive
A multi-catalog archive object used to load table::io::Persistable objects.
Definition:
InputArchive.h:28
lsst::afw::table::io::FitsColumnReader
Definition:
FitsSchemaInputMapper.h:12
InputArchive.h
lsst::afw::table::io::FitsSchemaInputMapper::_impl
boost::shared_ptr< Impl > _impl
Definition:
FitsSchemaInputMapper.h:146
lsst::afw::table::io::FitsSchemaInputMapper::Item
FitsSchemaItem Item
Definition:
FitsSchemaInputMapper.h:70
lsst::afw::table::io::FitsSchemaInputMapper::setArchive
void setArchive(boost::shared_ptr< InputArchive > archive)
lsst::afw::table::io::FitsSchemaInputMapper::readRecord
void readRecord(BaseRecord &record, afw::fits::Fits &fits, std::size_t row)
Generated on Thu Sep 24 2015 02:29:16 for LSSTApplications by
1.8.5