lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
image
ApCorrMap.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2014 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#ifndef LSST_AFW_IMAGE_ApCorrMap_h_INCLUDED
25
#define LSST_AFW_IMAGE_ApCorrMap_h_INCLUDED
26
27
#include <string>
28
#include <map>
29
30
#include "
lsst/afw/table/io/Persistable.h
"
31
#include "
lsst/afw/typehandling/Storable.h
"
32
#include "
lsst/afw/math/BoundedField.h
"
33
34
namespace
lsst
{
35
namespace
afw
{
36
namespace
image
{
37
45
class
ApCorrMap
final :
public
table::io::PersistableFacade
<ApCorrMap>,
public
typehandling::Storable
{
46
using
Internal =
std::map<std::string, std::shared_ptr<math::BoundedField>
>;
47
48
public
:
50
static
std::size_t
const
MAX_NAME_LENGTH
= 64;
51
54
using
Iterator
= Internal::const_iterator;
55
56
ApCorrMap
() =
default
;
57
ApCorrMap
(
ApCorrMap
const
&) =
default
;
58
ApCorrMap
(
ApCorrMap
&&) =
default
;
59
ApCorrMap
&
operator=
(
ApCorrMap
const
&) =
default
;
60
ApCorrMap
&
operator=
(
ApCorrMap
&&) =
default
;
61
~ApCorrMap
()
override
=
default
;
62
63
Iterator
begin
()
const
{
return
_internal.begin(); }
64
Iterator
end
()
const
{
return
_internal.end(); }
65
66
std::size_t
size
()
const
{
return
_internal.size(); }
67
69
std::shared_ptr<math::BoundedField>
const
operator[]
(
std::string
const
& name)
const
;
70
72
std::shared_ptr<math::BoundedField>
const
get
(
std::string
const
& name)
const
;
73
75
void
set
(
std::string
const
& name,
std::shared_ptr<math::BoundedField>
field);
76
78
bool
isPersistable
() const noexcept override;
79
81
ApCorrMap
& operator*=(
double
const scale);
82
ApCorrMap
& operator/=(
double
const scale) {
return
*
this
*= 1.0 / scale; }
83
85
std::shared_ptr<typehandling::Storable>
cloneStorable
()
const override
;
86
87
private
:
88
std::string
getPersistenceName
()
const override
;
89
90
std::string
getPythonModule
()
const override
;
91
92
void
write
(
OutputArchiveHandle
& handle)
const override
;
93
94
Internal _internal;
95
};
96
}
// namespace image
97
}
// namespace afw
98
}
// namespace lsst
99
100
#endif
// !LSST_AFW_IMAGE_ApCorrMap_h_INCLUDED
BoundedField.h
Persistable.h
Storable.h
std::string
lsst::afw::image::ApCorrMap
A thin wrapper around std::map to allow aperture corrections to be attached to Exposures.
Definition
ApCorrMap.h:45
lsst::afw::image::ApCorrMap::cloneStorable
std::shared_ptr< typehandling::Storable > cloneStorable() const override
Create a new ApCorrMap that is a copy of this one.
Definition
ApCorrMap.cc:147
lsst::afw::image::ApCorrMap::size
std::size_t size() const
Definition
ApCorrMap.h:66
lsst::afw::image::ApCorrMap::write
void write(OutputArchiveHandle &handle) const override
Write the object to one or more catalogs.
Definition
ApCorrMap.cc:127
lsst::afw::image::ApCorrMap::ApCorrMap
ApCorrMap(ApCorrMap const &)=default
lsst::afw::image::ApCorrMap::end
Iterator end() const
Definition
ApCorrMap.h:64
lsst::afw::image::ApCorrMap::isPersistable
bool isPersistable() const noexcept override
Whether the map is persistable (true IFF all contained BoundedFields are persistable).
Definition
ApCorrMap.cc:116
lsst::afw::image::ApCorrMap::getPythonModule
std::string getPythonModule() const override
Return the fully-qualified Python module that should be imported to guarantee that its factory is reg...
Definition
ApCorrMap.cc:125
lsst::afw::image::ApCorrMap::set
void set(std::string const &name, std::shared_ptr< math::BoundedField > field)
Add or replace an aperture correction.
Definition
ApCorrMap.cc:61
lsst::afw::image::ApCorrMap::ApCorrMap
ApCorrMap()=default
lsst::afw::image::ApCorrMap::ApCorrMap
ApCorrMap(ApCorrMap &&)=default
lsst::afw::image::ApCorrMap::get
std::shared_ptr< math::BoundedField > const get(std::string const &name) const
Return the field with the given name, returning an empty pointer when the name is not present.
Definition
ApCorrMap.cc:53
lsst::afw::image::ApCorrMap::getPersistenceName
std::string getPersistenceName() const override
Return the unique name used to persist this object and look up its factory.
Definition
ApCorrMap.cc:123
lsst::afw::image::ApCorrMap::MAX_NAME_LENGTH
static std::size_t const MAX_NAME_LENGTH
Maximum number of characters for an aperture correction name (required for persistence).
Definition
ApCorrMap.h:50
lsst::afw::image::ApCorrMap::operator[]
std::shared_ptr< math::BoundedField > const operator[](std::string const &name) const
Return the field with the given name, throwing NotFoundError when the name is not present.
Definition
ApCorrMap.cc:44
lsst::afw::image::ApCorrMap::operator=
ApCorrMap & operator=(ApCorrMap const &)=default
lsst::afw::image::ApCorrMap::Iterator
Internal::const_iterator Iterator
Iterator type returned by begin() and end().
Definition
ApCorrMap.h:54
lsst::afw::image::ApCorrMap::operator=
ApCorrMap & operator=(ApCorrMap &&)=default
lsst::afw::image::ApCorrMap::begin
Iterator begin() const
Definition
ApCorrMap.h:63
lsst::afw::image::ApCorrMap::~ApCorrMap
~ApCorrMap() override=default
lsst::afw::table::io::PersistableFacade
A CRTP facade class for subclasses of Persistable.
Definition
Persistable.h:176
lsst::afw::table::io::Persistable::OutputArchiveHandle
io::OutputArchiveHandle OutputArchiveHandle
Definition
Persistable.h:108
lsst::afw::typehandling::Storable
Interface supporting iteration over heterogenous containers.
Definition
Storable.h:58
std::map
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std::shared_ptr
std::size_t
Generated on
for lsst.afw by
1.17.0