LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
A representation of a detector in a mosaic camera. More...
#include <Detector.h>
Classes | |
class | Builder |
A helper class for Detector that allows amplifiers and most fields to be modified. More... | |
class | Factory |
class | InCameraBuilder |
A helper class that allows the properties of a detector to be modified in the course of modifying a full camera. More... | |
class | PartialRebuilder |
A helper class that allows the properties of a single detector to be modified in isolation. More... | |
Public Types | |
using | CrosstalkMatrix = ndarray::Array< float const, 2 > |
Public Member Functions | |
std::shared_ptr< PartialRebuilder > | rebuild () const |
Return a Builder object initialized with the state of this Detector. More... | |
std::vector< lsst::geom::Point2D > | getCorners (CameraSys const &cameraSys) const |
Get the corners of the detector in the specified camera coordinate system. More... | |
std::vector< lsst::geom::Point2D > | getCorners (CameraSysPrefix const &cameraSysPrefix) const |
Get the corners of the detector in the specified camera coordinate system prefix. More... | |
lsst::geom::Point2D | getCenter (CameraSys const &cameraSys) const |
Get the center of the detector in the specified camera coordinate system. More... | |
lsst::geom::Point2D | getCenter (CameraSysPrefix const &cameraSysPrefix) const |
Get the center of the detector in the specified camera coordinate system prefix. More... | |
bool | hasTransform (CameraSys const &cameraSys) const |
Can this object convert between PIXELS and the specified camera coordinate system? More... | |
bool | hasTransform (CameraSysPrefix const &cameraSysPrefix) const |
Can this object convert between PIXELS and the specified camera coordinate system prefix? More... | |
template<typename FromSysT , typename ToSysT > | |
std::shared_ptr< afw::geom::TransformPoint2ToPoint2 > | getTransform (FromSysT const &fromSys, ToSysT const &toSys) const |
Get a Transform from one camera coordinate system, or camera coordinate system prefix, to another. More... | |
template<typename FromSysT , typename ToSysT > | |
lsst::geom::Point2D | transform (lsst::geom::Point2D const &point, FromSysT const &fromSys, ToSysT const &toSys) const |
Transform a point from one camera system to another. More... | |
template<typename FromSysT , typename ToSysT > | |
std::vector< lsst::geom::Point2D > | transform (std::vector< lsst::geom::Point2D > const &points, FromSysT const &fromSys, ToSysT const &toSys) const |
Transform a vector of points from one camera system to another. More... | |
std::shared_ptr< TransformMap const > | getTransformMap () const |
Get the transform registry. More... | |
std::vector< std::shared_ptr< Amplifier const > > const & | getAmplifiers () const |
Return the sequence of Amplifiers directly. More... | |
auto | begin () const |
An iterator range over amplifers. More... | |
auto | end () const |
std::shared_ptr< Amplifier const > | operator[] (size_t i) const |
Get the amplifier specified by index. More... | |
std::shared_ptr< Amplifier const > | operator[] (std::string const &name) const |
Get the amplifier specified by name. More... | |
std::size_t | size () const |
Get the number of amplifiers. More... | |
bool | isPersistable () const noexcept override |
Detector is always persistable. More... | |
template<typename FromSysT , typename ToSysT > | |
std::shared_ptr< geom::TransformPoint2ToPoint2 > | getTransform (FromSysT const &fromSys, ToSysT const &toSys) const |
std::string | getName () const |
Get the detector name. More... | |
int | getId () const |
Get the detector ID. More... | |
DetectorType | getType () const |
Return the purpose of this detector. More... | |
std::string | getSerial () const |
Get the detector serial "number". More... | |
std::string | getPhysicalType () const |
Get the detector's physical type. More... | |
lsst::geom::Box2I | getBBox () const |
Get the bounding box. More... | |
Orientation | getOrientation () const |
Get detector's orientation in the focal plane. More... | |
lsst::geom::Extent2D | getPixelSize () const |
Get size of pixel along (mm) More... | |
bool | hasCrosstalk () const |
Have we got crosstalk coefficients? More... | |
CrosstalkMatrix | getCrosstalk () const |
Get the crosstalk coefficients. More... | |
CameraSys | makeCameraSys (CameraSys const &cameraSys) const |
Get a coordinate system from a coordinate system (return input unchanged and untested) More... | |
CameraSys | makeCameraSys (CameraSysPrefix const &cameraSysPrefix) const |
Get a coordinate system from a detector system prefix (add detector name) More... | |
CameraSys | getNativeCoordSys () const |
The "native" coordinate system of this detector. More... | |
virtual std::shared_ptr< Storable > | cloneStorable () const |
Create a new object that is a copy of this one (optional operation). More... | |
virtual std::string | toString () const |
Create a string representation of this object (optional operation). More... | |
virtual std::size_t | hash_value () const |
Return a hash of this object (optional operation). More... | |
virtual bool | equals (Storable const &other) const noexcept |
Compare this object to another Storable. More... | |
void | writeFits (std::string const &fileName, std::string const &mode="w") const |
Write the object to a regular FITS file. More... | |
void | writeFits (fits::MemFileManager &manager, std::string const &mode="w") const |
Write the object to a FITS image in memory. More... | |
void | writeFits (fits::Fits &fitsfile) const |
Write the object to an already-open FITS object. More... | |
Static Public Member Functions | |
static std::shared_ptr< Detector > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. More... | |
static std::shared_ptr< Detector > | readFits (std::string const &fileName, int hdu=fits::DEFAULT_HDU) |
Read an object from a regular FITS file. More... | |
static std::shared_ptr< Detector > | readFits (fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU) |
Read an object from a FITS file in memory. More... | |
static std::shared_ptr< Detector > | dynamicCast (std::shared_ptr< Persistable > const &ptr) |
Dynamically cast a shared_ptr. More... | |
Protected Types | |
using | OutputArchiveHandle = io::OutputArchiveHandle |
Protected Member Functions | |
Fields const & | getFields () const override |
Return a reference to a Fields struct. More... | |
Static Protected Member Functions | |
template<class T > | |
static bool | singleClassEquals (T const &lhs, Storable const &rhs) |
Test if a Storable is of a particular class and equal to another object. More... | |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &os, Storable const &storable) |
Output operator for Storable. More... | |
A representation of a detector in a mosaic camera.
Detector holds both simple data fields (see DetectorBase) and a set of related coordinate systems and transforms, and acts as a container of Amplifier objects.
Detector is immutable, but copies can be modified via one of its Builder classes. A Detector must be created initially as part of a Camera (see Camera::Builder::add), but can then be modified either individually (see Detector::rebuild and Detector::PartialRebuilder) or as part of modifying the full Camera (see Detector::InCameraBuilder).
The coordinate systems and transforms known to a Detector are shared with its parent Camera and all other Detectors in that Camera.
Definition at line 181 of file Detector.h.
|
inherited |
Definition at line 59 of file Detector.h.
|
protectedinherited |
Definition at line 108 of file Persistable.h.
|
inline |
An iterator range over amplifers.
Iterators dereference to shared_ptr<Amplifier const>
.
Definition at line 278 of file Detector.h.
|
virtualinherited |
Create a new object that is a copy of this one (optional operation).
This operation is required for Storables that are stored in GenericMap by value, but not for those stored by shared pointer.
UnsupportedOperationException | Thrown if this object is not cloneable. |
clone
operation, the two should behave identically except for the formal return type.__deepcopy__
if it exists. Reimplemented in lsst::afw::typehandling::StorableHelper< Base >, lsst::afw::image::VisitInfo, lsst::afw::image::PhotoCalib, lsst::afw::image::FilterLabel, lsst::afw::image::CoaddInputs, lsst::afw::image::ApCorrMap, lsst::afw::geom::SkyWcs, lsst::afw::geom::polygon::Polygon, and lsst::afw::detection::Psf.
Definition at line 36 of file Storable.cc.
|
staticinherited |
Dynamically cast a shared_ptr.
Dynamically cast a shared pointer and raise on failure.
You must provide an explicit template instantiation in the .cc file for each class that inherits from PersistableFacade. Designed to work around RTTI issues on macOS with hidden symbols;
lsst::pex::exceptions::LogicError | if the cast fails |
param[in] ptr The pointer to be cast.
lsst::pex::exceptions::TypeError | If the dynamic cast fails. |
Definition at line 218 of file Persistable.cc.
|
inline |
Definition at line 279 of file Detector.h.
|
virtualnoexceptinherited |
Compare this object to another Storable.
Subclasses that implement equality comparison must override this method to give results consistent with operator==
for all inputs that are accepted by both.
false
. If cross-class comparisons are valid, implementers should take care that they are symmetric and will give the same result no matter what the compile-time types of the left- and right-hand sides are.__eq__
if it exists. Reimplemented in lsst::afw::image::VisitInfo, lsst::afw::image::PhotoCalib, lsst::afw::geom::SkyWcs, lsst::afw::geom::polygon::Polygon, and lsst::afw::typehandling::StorableHelper< Base >.
Definition at line 48 of file Storable.cc.
|
inline |
Return the sequence of Amplifiers directly.
Definition at line 270 of file Detector.h.
|
inlineinherited |
Get the bounding box.
Definition at line 85 of file Detector.h.
lsst::geom::Point2D lsst::afw::cameraGeom::Detector::getCenter | ( | CameraSys const & | cameraSys | ) | const |
Get the center of the detector in the specified camera coordinate system.
Definition at line 72 of file Detector.cc.
lsst::geom::Point2D lsst::afw::cameraGeom::Detector::getCenter | ( | CameraSysPrefix const & | cameraSysPrefix | ) | const |
Get the center of the detector in the specified camera coordinate system prefix.
Definition at line 78 of file Detector.cc.
std::vector< lsst::geom::Point2D > lsst::afw::cameraGeom::Detector::getCorners | ( | CameraSys const & | cameraSys | ) | const |
Get the corners of the detector in the specified camera coordinate system.
Definition at line 62 of file Detector.cc.
std::vector< lsst::geom::Point2D > lsst::afw::cameraGeom::Detector::getCorners | ( | CameraSysPrefix const & | cameraSysPrefix | ) | const |
Get the corners of the detector in the specified camera coordinate system prefix.
Definition at line 68 of file Detector.cc.
|
inlineinherited |
Get the crosstalk coefficients.
Definition at line 100 of file Detector.h.
|
inlineoverrideprotectedvirtual |
Return a reference to a Fields struct.
Must be implemented by all subclasses.
Implements lsst::afw::cameraGeom::DetectorBase.
Definition at line 306 of file Detector.h.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
The "native" coordinate system of this detector.
Definition at line 123 of file Detector.h.
|
inlineinherited |
Get detector's orientation in the focal plane.
Definition at line 88 of file Detector.h.
|
inlineinherited |
Get the detector's physical type.
This may mean different things for different cameras; possibilities include the manufacturer ("ITL" vs "E2V") or fundamental technology ("CCD" vs "HgCdTe").
Definition at line 82 of file Detector.h.
|
inlineinherited |
Get size of pixel along (mm)
Definition at line 91 of file Detector.h.
|
inlineinherited |
std::shared_ptr<afw::geom::TransformPoint2ToPoint2> lsst::afw::cameraGeom::Detector::getTransform | ( | FromSysT const & | fromSys, |
ToSysT const & | toSys | ||
) | const |
Get a Transform from one camera coordinate system, or camera coordinate system prefix, to another.
FromSysT,ToSysT | Type of fromSys , toSys : one of CameraSys or CameraSysPrefix |
fromSys,toSys | camera coordinate systems or prefixes between which to transform |
fromSys
to toSys
in the forward direction. The Transform will be invertible.lsst::pex::exceptions::InvalidParameterError | Thrown if either fromSys or toSys is not supported. |
std::shared_ptr<geom::TransformPoint2ToPoint2> lsst::afw::cameraGeom::Detector::getTransform | ( | FromSysT const & | fromSys, |
ToSysT const & | toSys | ||
) | const |
Definition at line 89 of file Detector.cc.
|
inline |
Get the transform registry.
Definition at line 267 of file Detector.h.
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Return a hash of this object (optional operation).
UnsupportedOperationException | Thrown if this object is not hashable. |
__hash__
if it exists. Reimplemented in lsst::afw::typehandling::StorableHelper< Base >, lsst::afw::image::VisitInfo, lsst::afw::image::FilterLabel, and lsst::afw::geom::polygon::Polygon.
Definition at line 44 of file Storable.cc.
bool lsst::afw::cameraGeom::Detector::hasTransform | ( | CameraSys const & | cameraSys | ) | const |
Can this object convert between PIXELS and the specified camera coordinate system?
Definition at line 82 of file Detector.cc.
bool lsst::afw::cameraGeom::Detector::hasTransform | ( | CameraSysPrefix const & | cameraSysPrefix | ) | const |
Can this object convert between PIXELS and the specified camera coordinate system prefix?
Definition at line 84 of file Detector.cc.
|
inlineoverridevirtualnoexcept |
Detector is always persistable.
Reimplemented from lsst::afw::table::io::Persistable.
Definition at line 302 of file Detector.h.
|
inlineinherited |
Get a coordinate system from a coordinate system (return input unchanged and untested)
[in] | cameraSys | Camera coordinate system |
cameraSys
unchangedDefinition at line 110 of file Detector.h.
|
inlineinherited |
Get a coordinate system from a detector system prefix (add detector name)
[in] | cameraSysPrefix | Camera coordinate system prefix |
cameraSysPrefix
with the detector name added Definition at line 118 of file Detector.h.
|
inline |
Get the amplifier specified by index.
std::out_of_range | if index is out of range. |
Definition at line 287 of file Detector.h.
std::shared_ptr< Amplifier const > lsst::afw::cameraGeom::Detector::operator[] | ( | std::string const & | name | ) | const |
Get the amplifier specified by name.
lsst::pex::exceptions::InvalidParameterError | if no such amplifier. |
Definition at line 106 of file Detector.cc.
|
inlinestaticinherited |
Read an object from an already open FITS object.
[in] | fitsfile | FITS object to read from, already positioned at the desired HDU. |
Definition at line 183 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a FITS file in memory.
[in] | manager | Manager for the memory to read from. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 205 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a regular FITS file.
[in] | fileName | Name of the file to read. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 194 of file Persistable.h.
std::shared_ptr< Detector::PartialRebuilder > lsst::afw::cameraGeom::Detector::rebuild | ( | ) | const |
Return a Builder object initialized with the state of this Detector.
This is simply a shortcut for Detector::PartialRebuilder(*this)
.
Definition at line 58 of file Detector.cc.
|
inlinestaticprotectedinherited |
Test if a Storable is of a particular class and equal to another object.
This method template simplifies implementations of equals that delegate to operator==
without supporting cross-class comparisons.
T | The class expected of the two objects to be compared. |
lhs,rhs | The objects to compare. Note that rhs need not be a T , while lhs must be. |
true
if rhs
is a T
and lhs == rhs
; false
otherwise.operator==
. Most implementations of operator==
do not throw.operator==
with both arguments of compile-time type T const&
. Its use is not recommended if there would be any ambiguity as to which operator==
gets picked by overload resolution.This method template is typically called from equals as:
bool MyType::equals(Storable const& other) const noexcept { return singleClassEquals(*this, other); }
Definition at line 151 of file Storable.h.
|
inline |
Get the number of amplifiers.
Renamed to __len__
in Python.
Definition at line 299 of file Detector.h.
|
virtualinherited |
Create a string representation of this object (optional operation).
UnsupportedOperationException | Thrown if this object does not have a string representation. |
__repr__
. Reimplemented in lsst::afw::typehandling::StorableHelper< Base >, lsst::afw::image::VisitInfo, lsst::afw::image::PhotoCalib, lsst::afw::image::FilterLabel, lsst::afw::geom::SkyWcs, and lsst::afw::geom::polygon::Polygon.
Definition at line 40 of file Storable.cc.
lsst::geom::Point2D lsst::afw::cameraGeom::Detector::transform | ( | lsst::geom::Point2D const & | point, |
FromSysT const & | fromSys, | ||
ToSysT const & | toSys | ||
) | const |
Transform a point from one camera system to another.
FromSysT | Class of fromSys: one of CameraSys or CameraSysPrefix |
ToSysT | Class of toSys: one of CameraSys or CameraSysPrefix |
[in] | point | Camera point to transform |
[in] | fromSys | Camera coordinate system of point |
[in] | toSys | Camera coordinate system of returned point |
pex::exceptions::InvalidParameterError | if fromSys or toSys is unknown |
Definition at line 95 of file Detector.cc.
std::vector< lsst::geom::Point2D > lsst::afw::cameraGeom::Detector::transform | ( | std::vector< lsst::geom::Point2D > const & | points, |
FromSysT const & | fromSys, | ||
ToSysT const & | toSys | ||
) | const |
Transform a vector of points from one camera system to another.
FromSysT | Class of fromSys: one of CameraSys or CameraSysPrefix |
ToSysT | Class of toSys: one of CameraSys or CameraSysPrefix |
[in] | points | Camera points to transform |
[in] | fromSys | Camera coordinate system of points |
[in] | toSys | Camera coordinate system of returned points |
pex::exceptions::InvalidParameterError | if fromSys or toSys is unknown |
Definition at line 101 of file Detector.cc.
|
inherited |
Write the object to an already-open FITS object.
[in] | fitsfile | Open FITS object to write to. |
Definition at line 18 of file Persistable.cc.
|
inherited |
Write the object to a FITS image in memory.
[in] | manager | Name of the file to write to. |
[in] | mode | If "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file. |
Definition at line 29 of file Persistable.cc.
|
inherited |
Write the object to a regular FITS file.
[in] | fileName | Name of the file to write to. |
[in] | mode | If "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file. |
Definition at line 24 of file Persistable.cc.
|
related |
Output operator for Storable.
os | the desired output stream |
storable | the object to print |
os
UnsupportedOperationException | Thrown if storable does not have an implementation of Storable::toString. |
Definition at line 174 of file Storable.h.