LSSTApplications
16.0-10-g0ee56ad+5,16.0-11-ga33d1f2+5,16.0-12-g3ef5c14+3,16.0-12-g71e5ef5+18,16.0-12-gbdf3636+3,16.0-13-g118c103+3,16.0-13-g8f68b0a+3,16.0-15-gbf5c1cb+4,16.0-16-gfd17674+3,16.0-17-g7c01f5c+3,16.0-18-g0a50484+1,16.0-20-ga20f992+8,16.0-21-g0e05fd4+6,16.0-21-g15e2d33+4,16.0-22-g62d8060+4,16.0-22-g847a80f+4,16.0-25-gf00d9b8+1,16.0-28-g3990c221+4,16.0-3-gf928089+3,16.0-32-g88a4f23+5,16.0-34-gd7987ad+3,16.0-37-gc7333cb+2,16.0-4-g10fc685+2,16.0-4-g18f3627+26,16.0-4-g5f3a788+26,16.0-5-gaf5c3d7+4,16.0-5-gcc1f4bb+1,16.0-6-g3b92700+4,16.0-6-g4412fcd+3,16.0-6-g7235603+4,16.0-69-g2562ce1b+2,16.0-8-g14ebd58+4,16.0-8-g2df868b+1,16.0-8-g4cec79c+6,16.0-8-gadf6c7a+1,16.0-8-gfc7ad86,16.0-82-g59ec2a54a+1,16.0-9-g5400cdc+2,16.0-9-ge6233d7+5,master-g2880f2d8cf+3,v17.0.rc1
LSSTDataManagementBasePackage
|
Information about a CCD or other imaging detector. More...
#include <Detector.h>
Public Types | |
typedef ndarray::Array< float const, 2 > | CrosstalkMatrix |
Public Member Functions | |
Detector (std::string const &name, int id, DetectorType type, std::string const &serial, lsst::geom::Box2I const &bbox, lsst::afw::table::AmpInfoCatalog const &InfoCatalog, Orientation const &orientation, lsst::geom::Extent2D const &pixelSize, TransformMap::Transforms const &transforms, CrosstalkMatrix const &crosstalk=CrosstalkMatrix()) | |
Make a Detector. More... | |
Detector (std::string const &name, int id, DetectorType type, std::string const &serial, lsst::geom::Box2I const &bbox, lsst::afw::table::AmpInfoCatalog const &InfoCatalog, Orientation const &orientation, lsst::geom::Extent2D const &pixelSize, std::shared_ptr< TransformMap const > transformMap, CrosstalkMatrix const &crosstalk=CrosstalkMatrix()) | |
Make a Detector. More... | |
~Detector ()=default | |
Detector (Detector const &)=delete | |
Detector (Detector &&)=delete | |
Detector & | operator= (Detector const &)=delete |
Detector & | operator= (Detector &&)=delete |
std::string | getName () const |
Get the detector name. More... | |
int | getId () const |
Get the detector ID. More... | |
DetectorType | getType () const |
std::string | getSerial () const |
Get the detector serial "number". More... | |
lsst::geom::Box2I | getBBox () const |
Get the bounding box. 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... | |
table::AmpInfoCatalog const | getAmpInfoCatalog () const |
Get the amplifier information catalog. More... | |
Orientation const | getOrientation () const |
Get detector's orientation in the focal plane. More... | |
lsst::geom::Extent2D | getPixelSize () const |
Get size of pixel along (mm) More... | |
std::shared_ptr< TransformMap const > | getTransformMap () const |
Get the transform registry. More... | |
bool | hasCrosstalk () const |
Have we got crosstalk coefficients? More... | |
CrosstalkMatrix const | getCrosstalk () const |
Get the crosstalk coefficients. More... | |
table::AmpInfoCatalog::const_iterator | begin () const |
Get iterator to beginning of amplifier list. More... | |
table::AmpInfoCatalog::const_iterator | end () const |
Get iterator to end of amplifier list. More... | |
table::AmpInfoRecord const & | operator[] (size_t i) const |
Get the amplifier specified by index. More... | |
table::AmpInfoRecord const & | operator[] (std::string const &name) const |
Get the amplifier specified by name. More... | |
std::shared_ptr< table::AmpInfoRecord const > | _get (int i) const |
Get the amplifier specified by index, returning a shared pointer to an AmpInfo record. More... | |
std::shared_ptr< table::AmpInfoRecord const > | _get (std::string const &name) const |
Get the amplifier specified by name, returning a shared pointer to an AmpInfo record. More... | |
size_t | size () const |
Get the number of amplifiers. 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... | |
CameraSys const | makeCameraSys (CameraSys const &cameraSys) const |
Get a coordinate system from a coordinate system (return input unchanged and untested) More... | |
CameraSys const | makeCameraSys (CameraSysPrefix const &cameraSysPrefix) const |
Get a coordinate system from a detector system prefix (add detector name) 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... | |
CameraSys | getNativeCoordSys () const |
The "native" coordinate system of this detector. More... | |
bool | isPersistable () const noexcept override |
Detectors are always peristable. More... | |
template<typename FromSysT , typename ToSysT > | |
std::shared_ptr< geom::TransformPoint2ToPoint2 > | getTransform (FromSysT const &fromSys, ToSysT const &toSys) const |
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 | |
typedef io::OutputArchiveHandle | OutputArchiveHandle |
Information about a CCD or other imaging detector.
Supports transformation of points between FOCAL_PLANE and pixel-based coordinate systems. Also an iterator over amplifiers (in C++ use begin(), end(), in Python use "for amplifier in detector").
Definition at line 61 of file Detector.h.
typedef ndarray::Array<float const, 2> lsst::afw::cameraGeom::Detector::CrosstalkMatrix |
Definition at line 63 of file Detector.h.
|
protectedinherited |
Definition at line 108 of file Persistable.h.
lsst::afw::cameraGeom::Detector::Detector | ( | std::string const & | name, |
int | id, | ||
DetectorType | type, | ||
std::string const & | serial, | ||
lsst::geom::Box2I const & | bbox, | ||
lsst::afw::table::AmpInfoCatalog const & | ampInfoCatalog, | ||
Orientation const & | orientation, | ||
lsst::geom::Extent2D const & | pixelSize, | ||
TransformMap::Transforms const & | transforms, | ||
CrosstalkMatrix const & | crosstalk = CrosstalkMatrix() |
||
) |
Make a Detector.
name | name of detector's location in the camera |
id | detector integer ID; used as keys in some tables |
type | type of detector |
serial | serial "number" that identifies the physical detector |
bbox | bounding box |
ampInfoCatalog | catalog of amplifier information |
orientation | detector position and orientation in focal plane |
pixelSize | pixel size (mm) |
transforms | map of CameraSys: afw::geom::Transform, where each Transform's forward transform transforms from PIXELS to the specified camera system |
crosstalk | matrix of crosstalk coefficients |
lsst::pex::exceptions::InvalidParameterError | if any amplifier names are not unique |
Definition at line 36 of file Detector.cc.
lsst::afw::cameraGeom::Detector::Detector | ( | std::string const & | name, |
int | id, | ||
DetectorType | type, | ||
std::string const & | serial, | ||
lsst::geom::Box2I const & | bbox, | ||
lsst::afw::table::AmpInfoCatalog const & | ampInfoCatalog, | ||
Orientation const & | orientation, | ||
lsst::geom::Extent2D const & | pixelSize, | ||
std::shared_ptr< TransformMap const > | transformMap, | ||
CrosstalkMatrix const & | crosstalk = CrosstalkMatrix() |
||
) |
Make a Detector.
name | name of detector's location in the camera |
id | detector integer ID; used as keys in some tables |
type | type of detector |
serial | serial "number" that identifies the physical detector |
bbox | bounding box |
ampInfoCatalog | catalog of amplifier information |
orientation | detector position and orientation in focal plane |
pixelSize | pixel size (mm) |
transformMap | coordinate systems and transforms between them |
crosstalk | matrix of crosstalk coefficients |
lsst::pex::exceptions::InvalidParameterError | if: any amplifier names are not unique |
Definition at line 45 of file Detector.cc.
|
default |
|
delete |
|
delete |
std::shared_ptr< table::AmpInfoRecord const > lsst::afw::cameraGeom::Detector::_get | ( | int | i | ) | const |
Get the amplifier specified by index, returning a shared pointer to an AmpInfo record.
[in] | i | Ampifier index; if < 0 then treat as an offset from the end (the Python convention) |
std::out_of_range | if index is out of range |
Definition at line 110 of file Detector.cc.
std::shared_ptr< table::AmpInfoRecord const > lsst::afw::cameraGeom::Detector::_get | ( | std::string const & | name | ) | const |
Get the amplifier specified by name, returning a shared pointer to an AmpInfo record.
[in] | name | Amplifier name |
std::out_of_range | if index is out of range |
Definition at line 117 of file Detector.cc.
|
inline |
|
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 18 of file Persistable.cc.
|
inline |
|
inline |
Get the amplifier information catalog.
Definition at line 151 of file Detector.h.
|
inline |
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 98 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 104 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 88 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 94 of file Detector.cc.
|
inline |
Get the crosstalk coefficients.
Definition at line 168 of file Detector.h.
|
inline |
|
inline |
|
inline |
The "native" coordinate system of this detector.
Definition at line 296 of file Detector.h.
|
inline |
Get detector's orientation in the focal plane.
Definition at line 154 of file Detector.h.
|
inline |
|
inline |
Get the detector serial "number".
Definition at line 133 of file Detector.h.
std::shared_ptr<geom::TransformPoint2ToPoint2> lsst::afw::cameraGeom::Detector::getTransform | ( | FromSysT const & | fromSys, |
ToSysT const & | toSys | ||
) | const |
Definition at line 134 of file Detector.cc.
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. |
|
inline |
Get the transform registry.
Definition at line 160 of file Detector.h.
|
inline |
Definition at line 130 of file Detector.h.
|
inline |
Have we got crosstalk coefficients?
Definition at line 163 of file Detector.h.
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 127 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 129 of file Detector.cc.
|
inlineoverridevirtualnoexcept |
Detectors are always peristable.
Reimplemented from lsst::afw::table::io::Persistable.
Definition at line 299 of file Detector.h.
|
inline |
Get a coordinate system from a coordinate system (return input unchanged and untested)
[in] | cameraSys | Camera coordinate system |
cameraSys
unchangedDefinition at line 251 of file Detector.h.
|
inline |
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 259 of file Detector.h.
|
inline |
Get the amplifier specified by index.
std::out_of_range | if index is out of range |
Definition at line 181 of file Detector.h.
const table::AmpInfoRecord & 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 108 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 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.
|
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.
|
inline |
Get the number of amplifiers.
Renamed to __len__
in Python.
Definition at line 219 of file Detector.h.
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 140 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 146 of file Detector.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.
|
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 an already-open FITS object.
[in] | fitsfile | Open FITS object to write to. |
Definition at line 18 of file Persistable.cc.