lsst.meas.algorithms  20.0.0-4-g085c40a3+7
KernelPsfFactory.h
Go to the documentation of this file.
1 // -*- lsst-c++ -*-
2 
17 
18 namespace lsst {
19 namespace meas {
20 namespace algorithms {
21 
29 
30  static KernelPsfPersistenceHelper const& get();
31 
32  // No copying
35 
36  // No moving
39 
40 private:
42 };
43 
54 template <typename T = KernelPsf, typename K = afw::math::Kernel>
56 public:
58  afw::table::io::CatalogVector const& catalogs) const {
60  LSST_ARCHIVE_ASSERT(catalogs.size() == 1u);
61  LSST_ARCHIVE_ASSERT(catalogs.front().size() == 1u);
62  afw::table::BaseRecord const& record = catalogs.front().front();
63  LSST_ARCHIVE_ASSERT(record.getSchema() == keys.schema);
64  return PTR(T)(new T(archive.get<K>(record.get(keys.kernel)), record.get(keys.averagePosition)));
65  }
66 
67  KernelPsfFactory(std::string const& name) : afw::table::io::PersistableFactory(name) {}
68 };
69 
70 } // namespace algorithms
71 } // namespace meas
72 } // namespace lsst
LSST_ARCHIVE_ASSERT
#define LSST_ARCHIVE_ASSERT(EXPR)
std::string
STL class.
lsst::meas::algorithms::KernelPsfFactory::KernelPsfFactory
KernelPsfFactory(std::string const &name)
Definition: KernelPsfFactory.h:67
lsst::afw::table::BaseRecord::get
Field< T >::Value get(Key< T > const &key) const
CatalogVector.h
lsst::meas::algorithms::KernelPsfFactory
A PersistableFactory for KernelPsf and its subclasses.
Definition: KernelPsfFactory.h:55
lsst::afw::table::io::InputArchive
keys
def keys(self)
lsst::afw::table::Schema
lsst::meas::algorithms::KernelPsfPersistenceHelper::get
static KernelPsfPersistenceHelper const & get()
Definition: KernelPsf.cc:55
name
string name
lsst::afw::table::io::PersistableFactory::PersistableFactory
PersistableFactory(std::string const &name)
lsst::afw::table::PointKey< double >
PTR
#define PTR(...)
lsst::meas::algorithms::KernelPsfPersistenceHelper::kernel
afw::table::Key< int > kernel
Definition: KernelPsfFactory.h:27
lsst::meas::algorithms::KernelPsfFactory::read
virtual boost::shared_ptr< afw::table::io::Persistable > read(afw::table::io::InputArchive const &archive, afw::table::io::CatalogVector const &catalogs) const
Definition: KernelPsfFactory.h:57
lsst::afw::table::BaseRecord
lsst::afw::table::io::CatalogVector
lsst::afw::table::Key< int >
lsst::meas::algorithms::KernelPsfPersistenceHelper::KernelPsfPersistenceHelper
KernelPsfPersistenceHelper(KernelPsfPersistenceHelper &&)=delete
lsst::afw::table::io::PersistableFactory
InputArchive.h
aggregates.h
lsst
lsst::afw::table::io::Persistable
lsst::meas::algorithms::KernelPsfPersistenceHelper::operator=
KernelPsfPersistenceHelper & operator=(KernelPsfPersistenceHelper &&)=delete
KernelPsf.h
lsst::meas::algorithms::KernelPsfPersistenceHelper::schema
afw::table::Schema schema
Definition: KernelPsfFactory.h:26
lsst::meas::algorithms::KernelPsfPersistenceHelper
A read-only singleton struct containing the schema and key used in persistence for KernelPsf.
Definition: KernelPsfFactory.h:25
lsst::afw::table::BaseRecord::getSchema
Schema getSchema() const
lsst::meas::algorithms::KernelPsfPersistenceHelper::operator=
KernelPsfPersistenceHelper & operator=(const KernelPsfPersistenceHelper &)=delete
lsst::meas::algorithms::KernelPsfPersistenceHelper::averagePosition
afw::table::PointKey< double > averagePosition
Definition: KernelPsfFactory.h:28
lsst::meas::algorithms::KernelPsfPersistenceHelper::KernelPsfPersistenceHelper
KernelPsfPersistenceHelper(const KernelPsfPersistenceHelper &)=delete
OutputArchive.h
lsst::afw::table::io::InputArchive::get
std::shared_ptr< Persistable > get(int id) const