LSSTApplications  11.0-22-g33de520,13.0+153,14.0+52,14.0+57,14.0-1-g013352c+36,14.0-1-g13ef843+9,14.0-1-g4b114ac+14,14.0-1-g7257b6a+12,14.0-1-g8b7e855+51,14.0-13-g7a60b79+2,14.0-14-g87d16e8+10,14.0-14-gbf7a6f8a,14.0-17-g4f4ea82+5,14.0-2-g319577b+11,14.0-2-ga5af9b6+10,14.0-22-gc48c03f+3,14.0-3-g20413be+3,14.0-46-g76222d5f+3,14.0-47-g0a51fac97,14.0-5-g744ff5f+2,14.0-5-g86eb1bd+31,14.0-6-gd5b81a9+6,14.0-6-ge2c9487+42,14.0-8-g7f6dd6b+6,14.0-8-gb81b6e9+4,14.0-9-g11010eb,14.0-9-g330837b+5
LSSTDataManagementBasePackage
WcsFormatter.h
Go to the documentation of this file.
1 // -*- lsst-c++ -*-
2 
3 /*
4  * LSST Data Management System
5  * Copyright 2008, 2009, 2010 LSST Corporation.
6  *
7  * This product includes software developed by the
8  * LSST Project (http://www.lsst.org/).
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the LSST License Statement and
21  * the GNU General Public License along with this program. If not,
22  * see <http://www.lsstcorp.org/LegalNotices/>.
23  */
24 
25 #ifndef LSST_AFW_FORMATTERS_WCSFORMATTER_H
26 #define LSST_AFW_FORMATTERS_WCSFORMATTER_H
27 
28 /*
29  * Interface for WcsFormatter class
30  */
31 
32 #include "lsst/daf/base.h"
33 #include "lsst/daf/persistence.h"
34 
35 namespace lsst {
36 namespace afw {
37 namespace image {
38 class Wcs;
39 }
40 namespace formatters {
41 
46 public:
47  virtual ~WcsFormatter();
48 
49  WcsFormatter(WcsFormatter const&);
51  WcsFormatter& operator=(WcsFormatter const&);
52  WcsFormatter& operator=(WcsFormatter&&);
53 
54  virtual void write(lsst::daf::base::Persistable const* persistable,
59  virtual void update(lsst::daf::base::Persistable* persistable,
62 
63  static std::shared_ptr<lsst::daf::base::PropertyList> generatePropertySet(
64  lsst::afw::image::Wcs const& wcs);
67 
68  template <class Archive>
69  static void delegateSerialize(Archive& ar, int const version, lsst::daf::base::Persistable* persistable);
70 
71 private:
73 
75 };
76 }
77 }
78 } // namespace lsst::afw::formatters
79 
80 #endif
Class implementing persistence and retrieval for Wcs objects.
Definition: WcsFormatter.h:45
tbl::Key< int > wcs
Implementation of the WCS standard for a any projection.
Definition: Wcs.h:104
Construct a static instance of this helper class to register a Formatter subclass in the FormatterReg...
Definition: Formatter.h:138
daf_persistence package header file
A base class for image defects.
Definition: cameraGeom.dox:3
Abstract base class for all formatters.
Definition: Formatter.h:79
Base class for all persistable classes.
Definition: Persistable.h:74
static lsst::daf::persistence::FormatterRegistration registration
Definition: WcsFormatter.h:74
void delegateSerialize(Archive &ar, unsigned int const version, lsst::daf::base::Persistable *persistable)
Template function that serializes a Persistable using boost::serialization.
Definition: FormatterImpl.h:58