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
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
lsst::afw::cameraGeom::DetectorBase Class Referenceabstract

An abstract base class that provides common accessors for Detector and Detector::Builder. More...

#include <Detector.h>

Inheritance diagram for lsst::afw::cameraGeom::DetectorBase:
lsst::afw::cameraGeom::Detector lsst::afw::cameraGeom::Detector::Builder lsst::afw::cameraGeom::Detector::InCameraBuilder lsst::afw::cameraGeom::Detector::PartialRebuilder

Classes

struct  Fields
 

Public Types

using CrosstalkMatrix = ndarray::Array< float const, 2 >
 

Public Member Functions

virtual ~DetectorBase () noexcept=default
 
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...
 

Protected Member Functions

 DetectorBase ()=default
 DetectorBase has no state, and is hence default-constructable, copyable, and movable. More...
 
 DetectorBase (DetectorBase const &)=default
 
 DetectorBase (DetectorBase &&)=default
 
DetectorBaseoperator= (DetectorBase const &)=default
 
DetectorBaseoperator= (DetectorBase &&)=default
 
virtual Fields const & getFields () const =0
 Return a reference to a Fields struct. More...
 

Detailed Description

An abstract base class that provides common accessors for Detector and Detector::Builder.

Definition at line 56 of file Detector.h.

Member Typedef Documentation

◆ CrosstalkMatrix

using lsst::afw::cameraGeom::DetectorBase::CrosstalkMatrix = ndarray::Array<float const, 2>

Definition at line 59 of file Detector.h.

Constructor & Destructor Documentation

◆ ~DetectorBase()

virtual lsst::afw::cameraGeom::DetectorBase::~DetectorBase ( )
virtualdefaultnoexcept

◆ DetectorBase() [1/3]

lsst::afw::cameraGeom::DetectorBase::DetectorBase ( )
protecteddefault

DetectorBase has no state, and is hence default-constructable, copyable, and movable.

◆ DetectorBase() [2/3]

lsst::afw::cameraGeom::DetectorBase::DetectorBase ( DetectorBase const &  )
protecteddefault

◆ DetectorBase() [3/3]

lsst::afw::cameraGeom::DetectorBase::DetectorBase ( DetectorBase &&  )
protecteddefault

Member Function Documentation

◆ getBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::DetectorBase::getBBox ( ) const
inline

Get the bounding box.

Definition at line 85 of file Detector.h.

85 { return getFields().bbox; }
virtual Fields const & getFields() const =0
Return a reference to a Fields struct.

◆ getCrosstalk()

CrosstalkMatrix lsst::afw::cameraGeom::DetectorBase::getCrosstalk ( ) const
inline

Get the crosstalk coefficients.

Definition at line 100 of file Detector.h.

100 { return getFields().crosstalk; }

◆ getFields()

virtual Fields const& lsst::afw::cameraGeom::DetectorBase::getFields ( ) const
protectedpure virtual

Return a reference to a Fields struct.

Must be implemented by all subclasses.

Implemented in lsst::afw::cameraGeom::Detector::Builder, and lsst::afw::cameraGeom::Detector.

◆ getId()

int lsst::afw::cameraGeom::DetectorBase::getId ( ) const
inline

Get the detector ID.

Definition at line 67 of file Detector.h.

◆ getName()

std::string lsst::afw::cameraGeom::DetectorBase::getName ( ) const
inline

Get the detector name.

Definition at line 64 of file Detector.h.

◆ getNativeCoordSys()

CameraSys lsst::afw::cameraGeom::DetectorBase::getNativeCoordSys ( ) const
inline

The "native" coordinate system of this detector.

Definition at line 123 of file Detector.h.

123 { return CameraSys(PIXELS, getName()); }
std::string getName() const
Get the detector name.
Definition: Detector.h:64
CameraSysPrefix const PIXELS
Pixel coordinates: Nominal position on the entry surface of a given detector (x, y unbinned pixels).
Definition: CameraSys.cc:34

◆ getOrientation()

Orientation lsst::afw::cameraGeom::DetectorBase::getOrientation ( ) const
inline

Get detector's orientation in the focal plane.

Definition at line 88 of file Detector.h.

◆ getPhysicalType()

std::string lsst::afw::cameraGeom::DetectorBase::getPhysicalType ( ) const
inline

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.

◆ getPixelSize()

lsst::geom::Extent2D lsst::afw::cameraGeom::DetectorBase::getPixelSize ( ) const
inline

Get size of pixel along (mm)

Definition at line 91 of file Detector.h.

91 { return getFields().pixelSize; }

◆ getSerial()

std::string lsst::afw::cameraGeom::DetectorBase::getSerial ( ) const
inline

Get the detector serial "number".

Definition at line 73 of file Detector.h.

◆ getType()

DetectorType lsst::afw::cameraGeom::DetectorBase::getType ( ) const
inline

Return the purpose of this detector.

Definition at line 70 of file Detector.h.

70 { return getFields().type; }

◆ hasCrosstalk()

bool lsst::afw::cameraGeom::DetectorBase::hasCrosstalk ( ) const
inline

Have we got crosstalk coefficients?

Definition at line 94 of file Detector.h.

94  {
95  return !(getFields().crosstalk.isEmpty() ||
96  getFields().crosstalk.getShape() == ndarray::makeVector(0, 0));
97  }

◆ makeCameraSys() [1/2]

CameraSys lsst::afw::cameraGeom::DetectorBase::makeCameraSys ( CameraSys const &  cameraSys) const
inline

Get a coordinate system from a coordinate system (return input unchanged and untested)

Parameters
[in]cameraSysCamera coordinate system
Returns
cameraSys unchanged
Note
the CameraSysPrefix version needs the detector name, which is why this is not static.

Definition at line 110 of file Detector.h.

110 { return cameraSys; }

◆ makeCameraSys() [2/2]

CameraSys lsst::afw::cameraGeom::DetectorBase::makeCameraSys ( CameraSysPrefix const &  cameraSysPrefix) const
inline

Get a coordinate system from a detector system prefix (add detector name)

Parameters
[in]cameraSysPrefixCamera coordinate system prefix
Returns
cameraSysPrefix with the detector name added

Definition at line 118 of file Detector.h.

118  {
119  return CameraSys(cameraSysPrefix, getFields().name);
120  }
table::Key< std::string > name
Definition: Amplifier.cc:116

◆ operator=() [1/2]

DetectorBase& lsst::afw::cameraGeom::DetectorBase::operator= ( DetectorBase &&  )
protecteddefault

◆ operator=() [2/2]

DetectorBase& lsst::afw::cameraGeom::DetectorBase::operator= ( DetectorBase const &  )
protecteddefault

The documentation for this class was generated from the following file: