13 #include "lsst/afw/table/io/InputArchive.h"
14 #include "lsst/afw/table/io/OutputArchive.h"
15 #include "lsst/afw/table/io/CatalogVector.h"
16 #include "lsst/afw/table/aggregates.h"
18 namespace lsst {
namespace meas {
namespace algorithms {
52 template <
typename T=KernelPsf,
typename K=afw::math::Kernel>
56 virtual PTR(afw::table::io::Persistable)
57 read(afw::table::io::InputArchive const & archive, afw::table::io::CatalogVector const & catalogs)
const {
59 LSST_ARCHIVE_ASSERT(catalogs.size() == 1u);
60 LSST_ARCHIVE_ASSERT(catalogs.front().size() == 1u);
61 afw::table::BaseRecord
const & record = catalogs.front().front();
62 LSST_ARCHIVE_ASSERT(record.getSchema() == keys.
schema);
65 archive.get<K>(record.get(keys.
kernel)),
71 KernelPsfFactory(std::string
const & name) : afw::table::io::PersistableFactory(name) {}
A read-only singleton struct containing the schema and key used in persistence for KernelPsf...
afw::table::PointKey< double > averagePosition
static KernelPsfPersistenceHelper const & get()
KernelPsfFactory(std::string const &name)
KernelPsfPersistenceHelper & operator=(const KernelPsfPersistenceHelper &)=delete
afw::table::Key< int > kernel
virtual boost::shared_ptr< afw::table::io::Persistable > read(afw::table::io::InputArchive const &archive, afw::table::io::CatalogVector const &catalogs) const
A PersistableFactory for KernelPsf and its subclasses.
afw::table::Schema schema