LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0-2-g04d2804
include
lsst
afw
cameraGeom
CameraSys.h
Go to the documentation of this file.
1
/*
2
* LSST Data Management System
3
* Copyright 2014 LSST Corporation.
4
*
5
* This product includes software developed by the
6
* LSST Project (http://www.lsst.org/).
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the LSST License Statement and
19
* the GNU General Public License along with this program. If not,
20
* see <http://www.lsstcorp.org/LegalNotices/>.
21
*/
22
23
#if !defined(LSST_AFW_CAMERAGEOM_CAMERASYS_H)
24
#define LSST_AFW_CAMERAGEOM_CAMERASYS_H
25
26
#include <functional>
27
#include <string>
28
#include <ostream>
29
#include <sstream>
30
#include "
lsst/afw/geom/TransformMap.h
"
31
#include "
lsst/afw/geom/TransformMapImpl.h
"
32
33
namespace
lsst {
34
namespace
afw {
35
namespace
cameraGeom {
36
46
class
CameraSysPrefix
{
47
public
:
48
explicit
CameraSysPrefix
(
49
std::string
const
&sysName
50
) :
_sysName
(sysName) {}
51
55
std::string
getSysName
()
const
{
return
_sysName
; };
56
57
bool
operator==
(
CameraSysPrefix
const
&rhs)
const
{
58
return
_sysName
== rhs.
getSysName
();
59
}
60
61
bool
operator!=
(
CameraSysPrefix
const
&rhs)
const
{
62
return
!(*
this
== rhs);
63
}
64
private
:
65
std::string
_sysName
;
66
};
67
77
class
CameraSys
{
78
public
:
82
explicit
CameraSys
(
83
std::string
const
&sysName,
84
std::string
const
&detectorName=
""
85
) :
_sysName
(sysName),
_detectorName
(detectorName) {};
86
90
explicit
CameraSys
(
91
CameraSysPrefix
const
&sysPrefix,
92
std::string
const
&detectorName=
""
93
) :
_sysName
(sysPrefix.
getSysName
()),
_detectorName
(detectorName) {};
94
96
CameraSys
() :
_sysName
(
"?"
),
_detectorName
() {};
97
101
std::string
getSysName
()
const
{
return
_sysName
; };
102
106
std::string
getDetectorName
()
const
{
return
_detectorName
; };
107
111
bool
hasDetectorName
()
const
{
return
!
_detectorName
.empty(); }
112
113
bool
operator==
(
CameraSys
const
&rhs)
const
{
114
return
_sysName
== rhs.
getSysName
() &&
_detectorName
== rhs.
getDetectorName
();
115
}
116
117
bool
operator!=
(
CameraSys
const
&rhs)
const
{
118
return
!(*
this
== rhs);
119
}
120
121
// less-than operator required for use in std::map
122
bool
operator<
(
CameraSys
const
&rhs)
const
{
123
if
(
_sysName
== rhs.
getSysName
()) {
124
return
_detectorName
< rhs.
getDetectorName
();
125
}
else
{
126
return
_sysName
< rhs.
getSysName
();
127
}
128
}
129
130
private
:
131
std::string
_sysName
;
132
std::string
_detectorName
;
133
};
134
135
// CameraSys is intended as a key for geom::TransformMap, so define this useful type
136
typedef
geom::TransformMap<CameraSys>
CameraTransformMap
;
137
138
// *** Standard camera coordinate systems ***
139
145
extern
CameraSys
const
FOCAL_PLANE
;
146
151
extern
CameraSys
const
PUPIL
;
152
160
extern
CameraSysPrefix
const
PIXELS
;
161
177
extern
CameraSysPrefix
const
TAN_PIXELS
;
178
185
extern
CameraSysPrefix
const
ACTUAL_PIXELS
;
186
187
std::ostream &
operator<<
(std::ostream &os,
CameraSysPrefix
const
&detSysPrefix);
188
189
std::ostream &
operator<<
(std::ostream &os,
CameraSys
const
&cameraSys);
190
191
}}}
192
193
#endif
lsst::afw::geom::TransformMap< CameraSys >
lsst::afw::cameraGeom::CameraSys
Definition:
CameraSys.h:77
lsst::afw::cameraGeom::CameraSys::_detectorName
std::string _detectorName
detector name; "" if not a detector-specific coordinate system
Definition:
CameraSys.h:132
lsst::afw::cameraGeom::PIXELS
CameraSysPrefix const PIXELS
Definition:
CameraSys.cc:33
lsst::afw::cameraGeom::CameraSys::operator==
bool operator==(CameraSys const &rhs) const
Definition:
CameraSys.h:113
lsst::afw::cameraGeom::CameraSys::operator<
bool operator<(CameraSys const &rhs) const
Definition:
CameraSys.h:122
lsst::afw::cameraGeom::CameraSys::getDetectorName
std::string getDetectorName() const
Definition:
CameraSys.h:106
lsst::afw::cameraGeom::operator<<
std::ostream & operator<<(std::ostream &os, CameraPoint const &cameraPoint)
Definition:
CameraPoint.cc:29
lsst::afw::cameraGeom::CameraSys::_sysName
std::string _sysName
coordinate system name
Definition:
CameraSys.h:131
lsst::afw::cameraGeom::CameraSys::operator!=
bool operator!=(CameraSys const &rhs) const
Definition:
CameraSys.h:117
lsst::afw::cameraGeom::PUPIL
CameraSys const PUPIL
Definition:
CameraSys.cc:31
lsst::afw::cameraGeom::ACTUAL_PIXELS
CameraSysPrefix const ACTUAL_PIXELS
Definition:
CameraSys.cc:37
lsst::afw::cameraGeom::CameraSys::CameraSys
CameraSys(std::string const &sysName, std::string const &detectorName="")
Definition:
CameraSys.h:82
TransformMapImpl.h
lsst::afw::cameraGeom::CameraSys::CameraSys
CameraSys()
default constructor so SWIG can wrap a vector of pairs containing these
Definition:
CameraSys.h:96
lsst::afw::cameraGeom::CameraTransformMap
geom::TransformMap< CameraSys > CameraTransformMap
Definition:
CameraSys.h:136
lsst::afw::cameraGeom::CameraSysPrefix::_sysName
std::string _sysName
coordinate system name
Definition:
CameraSys.h:65
lsst::afw::cameraGeom::CameraSysPrefix
Definition:
CameraSys.h:46
lsst::afw::cameraGeom::CameraSys::CameraSys
CameraSys(CameraSysPrefix const &sysPrefix, std::string const &detectorName="")
Definition:
CameraSys.h:90
lsst::afw::cameraGeom::CameraSysPrefix::CameraSysPrefix
CameraSysPrefix(std::string const &sysName)
Definition:
CameraSys.h:48
lsst::afw::cameraGeom::TAN_PIXELS
CameraSysPrefix const TAN_PIXELS
Definition:
CameraSys.cc:35
lsst::afw::cameraGeom::CameraSys::hasDetectorName
bool hasDetectorName() const
Definition:
CameraSys.h:111
lsst::afw::cameraGeom::CameraSysPrefix::operator!=
bool operator!=(CameraSysPrefix const &rhs) const
Definition:
CameraSys.h:61
TransformMap.h
lsst::afw::cameraGeom::FOCAL_PLANE
CameraSys const FOCAL_PLANE
Definition:
CameraSys.cc:29
lsst::afw::cameraGeom::CameraSysPrefix::operator==
bool operator==(CameraSysPrefix const &rhs) const
Definition:
CameraSys.h:57
lsst::afw::cameraGeom::CameraSys::getSysName
std::string getSysName() const
Definition:
CameraSys.h:101
lsst::afw::cameraGeom::CameraSysPrefix::getSysName
std::string getSysName() const
Definition:
CameraSys.h:55
Generated on Thu Sep 24 2015 02:29:14 for LSSTApplications by
1.8.5