23#if !defined(LSST_AFW_CAMERAGEOM_CAMERASYS_H)
24#define LSST_AFW_CAMERAGEOM_CAMERASYS_H
109 std::swap(_detectorName, other._detectorName);
128 return _sysName == rhs.getSysName() && _detectorName == rhs.getDetectorName();
135 if (_sysName == rhs.getSysName()) {
136 return _detectorName < rhs.getDetectorName();
138 return _sysName < rhs.getSysName();
153 std::
string _sysName;
154 std::
string _detectorName;
174extern CameraSys
const FOCAL_PLANE;
181extern CameraSys
const FIELD_ANGLE;
194extern CameraSysPrefix
const PIXELS;
211extern CameraSysPrefix
const TAN_PIXELS;
219extern CameraSysPrefix
const ACTUAL_PIXELS;
235struct hash<
lsst::afw::cameraGeom::CameraSysPrefix> {
239 return obj.hash_value();
Camera coordinate system; used as a key in in TransformMap.
bool operator<(CameraSys const &rhs) const noexcept
bool hasDetectorName() const noexcept
Does this have a non-blank detector name?
std::string getSysName() const
Get coordinate system name.
CameraSys(CameraSysPrefix const &sysPrefix, std::string const &detectorName="")
Construct a CameraSys from a CameraSysPrefix and a detectorName.
std::string getDetectorName() const
Get detector name, or "" if not a detector-specific coordinate system.
bool operator!=(CameraSys const &rhs) const noexcept
bool operator==(CameraSys const &rhs) const noexcept
~CameraSys() noexcept=default
CameraSys(std::string const &sysName, std::string const &detectorName="")
Construct a CameraSys from a sysName and a detectorName.
Camera coordinate system prefix.
~CameraSysPrefix() noexcept=default
bool operator==(CameraSysPrefix const &rhs) const noexcept
bool operator!=(CameraSysPrefix const &rhs) const noexcept
std::size_t hash_value() const noexcept
Hash function for this object.
std::string getSysName() const
Get coordinate system name.
CameraSysPrefix(std::string const &sysName)
std::ostream & operator<<(std::ostream &os, CameraSysPrefix const &detSysPrefix)
size_t operator()(lsst::afw::cameraGeom::CameraSys const &obj) const noexcept
size_t operator()(lsst::afw::cameraGeom::CameraSysPrefix const &obj) const noexcept