lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
table
io
InputArchive.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
#ifndef AFW_TABLE_IO_InputArchive_h_INCLUDED
3
#define AFW_TABLE_IO_InputArchive_h_INCLUDED
4
5
#include <map>
6
7
#include "
lsst/base.h
"
8
#include "
lsst/afw/table/io/Persistable.h
"
9
10
namespace
lsst
{
11
namespace
afw
{
12
namespace
table
{
13
14
class
BaseRecord
;
15
template
<
typename
RecordT>
16
class
CatalogT
;
17
using
BaseCatalog
=
CatalogT<BaseRecord>
;
18
19
namespace
io
{
20
21
class
CatalogVector
;
22
31
class
InputArchive
final {
32
public
:
33
using
Map
=
std::map<int, std::shared_ptr<Persistable>
>;
34
36
InputArchive
();
37
39
InputArchive
(
BaseCatalog
const
& index,
CatalogVector
const
& dataCatalogs);
40
42
InputArchive
(
InputArchive
const
& other);
43
InputArchive
(
InputArchive
&& other);
44
46
InputArchive
&
operator=
(
InputArchive
const
& other);
47
InputArchive
&
operator=
(
InputArchive
&& other);
48
49
~InputArchive
();
50
56
std::shared_ptr<Persistable>
get
(
int
id
)
const
;
57
59
template
<
typename
T>
60
std::shared_ptr<T>
get
(
int
id
)
const
{
61
std::shared_ptr<T>
p =
std::dynamic_pointer_cast<T>
(
get
(
id
));
62
LSST_ARCHIVE_ASSERT
(p ||
id
== 0);
63
return
p;
64
}
65
67
Map
const
&
getAll
()
const
;
68
74
static
InputArchive
readFits
(
fits::Fits
& fitsfile);
75
76
private
:
77
class
Impl;
78
79
InputArchive
(
std::shared_ptr<Impl>
impl);
80
81
std::shared_ptr<Impl>
_impl;
82
};
83
}
// namespace io
84
}
// namespace table
85
}
// namespace afw
86
}
// namespace lsst
87
88
#endif
// !AFW_TABLE_IO_InputArchive_h_INCLUDED
Persistable.h
LSST_ARCHIVE_ASSERT
#define LSST_ARCHIVE_ASSERT(EXPR)
An assertion macro used to validate the structure of an InputArchive.
Definition
Persistable.h:48
base.h
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:242
lsst::afw::table::BaseRecord
Base class for all records.
Definition
BaseRecord.h:31
lsst::afw::table::CatalogT
A custom container class for records, based on std::vector.
Definition
Catalog.h:98
lsst::afw::table::io::CatalogVector
A vector of catalogs used by Persistable.
Definition
CatalogVector.h:29
lsst::afw::table::io::InputArchive
A multi-catalog archive object used to load table::io::Persistable objects.
Definition
InputArchive.h:31
lsst::afw::table::io::InputArchive::readFits
static InputArchive readFits(fits::Fits &fitsfile)
Read an object from an already open FITS object.
Definition
InputArchive.cc:183
lsst::afw::table::io::InputArchive::operator=
InputArchive & operator=(InputArchive const &other)
Assignment. Does not deep-copy loaded Persistables.
lsst::afw::table::io::InputArchive::getAll
Map const & getAll() const
Load and return all objects in the archive.
Definition
InputArchive.cc:181
lsst::afw::table::io::InputArchive::~InputArchive
~InputArchive()
lsst::afw::table::io::InputArchive::get
std::shared_ptr< Persistable > get(int id) const
Load the Persistable with the given ID and return it.
Definition
InputArchive.cc:179
lsst::afw::table::io::InputArchive::InputArchive
InputArchive(InputArchive const &other)
Copy-constructor. Does not deep-copy loaded Persistables.
lsst::afw::table::io::InputArchive::get
std::shared_ptr< T > get(int id) const
Load an object of the given type and ID with error checking.
Definition
InputArchive.h:60
lsst::afw::table::io::InputArchive::Map
std::map< int, std::shared_ptr< Persistable > > Map
Definition
InputArchive.h:33
lsst::afw::table::io::InputArchive::InputArchive
InputArchive()
Construct an empty InputArchive that contains no objects.
Definition
InputArchive.cc:162
std::map
lsst::afw::table::io
Definition
tablePersistence.dox:3
lsst::afw::table
Definition
table.dox:3
lsst::afw::table::BaseCatalog
CatalogT< BaseRecord > BaseCatalog
Definition
fwd.h:72
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std::dynamic_pointer_cast
T dynamic_pointer_cast(T... args)
std::shared_ptr
Generated on
for lsst.afw by
1.17.0