29 namespace cameraGeom {
32 std::string
const &
name,
35 std::string
const &serial,
47 _ampInfoCatalog(ampInfoCatalog),
49 _orientation(orientation),
50 _pixelSize(pixelSize),
77 std::ostringstream os;
78 os <<
"Unknown amplifier \"" << name <<
"\"";
79 throw LSST_EXCEPT(pexExcept::InvalidParameterError, os.str());
81 return *(ampIter->second);
93 return _transformMap[cameraSys];
97 return getTransform(makeCameraSys(cameraSysPrefix));
108 throw LSST_EXCEPT(pexExcept::InvalidParameterError,
109 "Invalid ampInfoCatalog: not all amplifier names are unique");
115 if (trIter->first.hasDetectorName() && trIter->first.getDetectorName() !=
_name) {
116 std::ostringstream os;
117 os <<
"Invalid transformMap: " << trIter->first <<
" detector name != \"" <<
_name <<
"\"";
118 throw LSST_EXCEPT(pexExcept::InvalidParameterError, os.str());
std::vector< geom::Point2D > getCorners(CameraSys const &cameraSys) const
table::Key< std::string > name
Geometry and electronic information about raw amplifier images.
geom::Box2I _bbox
bounding box
std::string const & _name
A custom container class for records, based on std::vector.
CameraSysPrefix const PIXELS
lsst::afw::table::AmpInfoRecord const & operator[](size_t i) const
CameraPoint transform(CameraPoint const &fromCameraPoint, CameraSys const &toSys) const
CameraPoint getCenter(CameraSys const &cameraSys) const
size_type size() const
Return the number of elements in the catalog.
An integer coordinate rectangle.
CameraPoint makeCameraPoint(geom::Point2D point, CameraSys cameraSys) const
CameraTransformMap _transformMap
registry of coordinate transforms
geom::Box2I const & _bbox
CameraSys const makeCameraSys(CameraSys const &cameraSys) const
Iterator class for CatalogT.
Detector(std::string const &name, int id, DetectorType type, std::string const &serial, geom::Box2I const &bbox, lsst::afw::table::AmpInfoCatalog const &InfoCatalog, Orientation const &orientation, geom::Extent2D const &pixelSize, CameraTransformMap::Transforms const &transforms)
std::vector< Point2D > getCorners() const
table::AmpInfoCatalog _ampInfoCatalog
list of amplifier data
bool hasTransform(CameraSys const &cameraSys) const
#define LSST_EXCEPT(type,...)
A floating-point coordinate rectangle geometry.
_AmpInfoMap _ampNameIterMap
map of amplifier name: catalog iterator
std::string _name
name of detector's location in the camera