22 #ifndef LSST_AFW_CAMERAGEOM_CAMERA_H
23 #define LSST_AFW_CAMERAGEOM_CAMERA_H
34 namespace cameraGeom {
table::Key< std::string > pupilFactoryName
table::Key< int > transformMap
table::Key< int > detector
A helper class for creating and modifying cameras.
void setPupilFactoryName(std::string const &pupilFactoryName)
Set the fully-qualified name of the Python class that provides this Camera's PupilFactory.
void setTransformFromFocalPlaneTo(CameraSys const &toSys, std::shared_ptr< afw::geom::TransformPoint2ToPoint2 const > transform)
Set the transformation from FOCAL_PLANE to the given coordinate system.
std::string getName() const
Return the name of the camera.
std::string getPupilFactoryName() const
Return the fully-qualified name of the Python class that provides this Camera's PupilFactory.
virtual ~Builder() noexcept
std::shared_ptr< Detector::InCameraBuilder > add(std::string const &name, int id)
Add a new Detector with the given name and ID.
void remove(std::string const &name)
Remove the detector with the given name or ID.
std::shared_ptr< Camera const > finish() const
Construct a new Camera from the state of the Builder.
bool discardTransformFromFocalPlaneTo(CameraSys const &toSys)
Remove any transformation from FOCAL_PLANE to the given coordinate system.
void setName(std::string const &name)
Set the name of the camera.
An immutable representation of a camera.
Camera(Camera const &)=delete
DetectorCollection::List DetectorList
Camera::Builder rebuild() const
Create a Camera::Builder object initialized with this camera's state.
std::string getPupilFactoryName() const
Return the fully-qualified name of the Python class that provides this Camera's PupilFactory.
std::shared_ptr< TransformMap const > getTransformMap() const noexcept
Obtain the transform registry.
std::string getName() const
Return the name of the camera.
DetectorList findDetectors(lsst::geom::Point2D const &point, CameraSys const &cameraSys) const
Find the detectors that cover a point in any camera system.
virtual ~Camera() noexcept
std::vector< DetectorList > findDetectorsList(std::vector< lsst::geom::Point2D > const &pointList, CameraSys const &cameraSys) const
Find the detectors that cover a list of points in any camera system.
lsst::geom::Point2D transform(lsst::geom::Point2D const &point, CameraSys const &fromSys, CameraSys const &toSys) const
Transform a point from one camera coordinate system to another.
void write(OutputArchiveHandle &handle) const override
Write the object to one or more catalogs.
Camera & operator=(Camera &&)=delete
Camera & operator=(Camera const &)=delete
bool isPersistable() const noexcept override
Cameras are always persistable.
std::shared_ptr< afw::geom::TransformPoint2ToPoint2 > getTransform(CameraSys const &fromSys, CameraSys const &toSys) const
Get a transform from one CameraSys to another.
Camera coordinate system; used as a key in in TransformMap.
A helper class that allows the properties of a detector to be modified in the course of modifying a f...
An abstract base class for collections of Detectors and specific subclasses thereof.
void remove(std::string const &name)
std::vector< std::shared_ptr< Detector const > > List
An immutable collection of Detectors that can be accessed by name or ID.
A representation of a detector in a mosaic camera.
A vector of catalogs used by Persistable.
A CRTP facade class for subclasses of Persistable.
io::OutputArchiveHandle OutputArchiveHandle
A base class for image defects.