File DetectorCollection.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace afw
namespace cameraGeom
class DetectorCollection : public lsst::afw::cameraGeom::DetectorCollectionBase<Detector const>, public lsst::afw::table::io::PersistableFacade<DetectorCollection>, public lsst::afw::table::io::Persistable
#include <DetectorCollection.h>

An immutable collection of Detectors that can be accessed by name or ID

Subclassed by lsst::afw::cameraGeom::Camera

Public Functions

DetectorCollection(List const &list)
virtual ~DetectorCollection()
lsst::geom::Box2D const &getFpBBox() const

Return a focal plane bounding box that encompasses all detectors.

DetectorCollection(DetectorCollection const&)
DetectorCollection(DetectorCollection&&)
DetectorCollection &operator=(DetectorCollection const&)
DetectorCollection &operator=(DetectorCollection&&)
bool isPersistable() const

DetectorCollections are always persistable.

Protected Functions

DetectorCollection(table::io::InputArchive const &archive, table::io::CatalogVector const &catalogs)
std::string getPersistenceName() const

Return the unique name used to persist this object and look up its factory.

Must be less than ArchiveIndexSchema::MAX_NAME_LENGTH characters.

std::string getPythonModule() const

Return the fully-qualified Python module that should be imported to guarantee that its factory is registered.

Must be less than ArchiveIndexSchema::MAX_MODULE_LENGTH characters.

Will be ignored if empty.

void write(OutputArchiveHandle &handle) const

Write the object to one or more catalogs.

The handle object passed to this function provides an interface for adding new catalogs and adding nested objects to the same archive (while checking for duplicates). See OutputArchiveHandle for more information.

Private Members

lsst::geom::Box2D _fpBBox
template<typename T>
class DetectorCollectionBase
#include <DetectorCollection.h>

An abstract base class for collections of Detectors and specific subclasses thereof.

This class provides the common interface and implementation for

DetectorCollection (which holds true Detector instances) and Camera::Builder (which holds Detector::InCameraBuilder instances). It is not intended to define an interface independent of those classes.
Template Parameters
  • T: Element type; either Detector or a subclass thereof.

Public Types

template<>
using NameMap = std::unordered_map<std::string, std::shared_ptr<T>>
template<>
using IdMap = std::map<int, std::shared_ptr<T>>
template<>
using List = std::vector<std::shared_ptr<T>>

Public Functions

virtual ~DetectorCollectionBase() = 0
NameMap const &getNameMap() const

Get an unordered map keyed by name.

IdMap const &getIdMap() const

Get an unordered map keyed by ID.

std::size_t size() const

Get the number of detectors. Renamed to __len__ in Python.

bool empty() const

Determine if the collection contains any detectors.

std::shared_ptr<T> operator[](std::string const &name) const

Implement the [name] operator

Return

pointer to detector entry

Parameters
  • [in] name: detector name

std::shared_ptr<T> operator[](int id) const

Implement the [id] operator

Return

pointer to detector entry

Parameters
  • [in] id: detector name

std::shared_ptr<T> get(std::string const &name, std::shared_ptr<T> def = nullptr) const

Retrieve a detector by name, or fall back to a default.

Return

pointer to detector entry if the entry exists, else return the default value

Parameters
  • [in] name: detector name

  • [in] def: default detector to return. This defaults to nullptr.

std::shared_ptr<T> get(int id, std::shared_ptr<T> def = nullptr) const

Retrieve a detector by ID, or fall back to a default.

Return

pointer to detector entry if the entry exists, else return the default value

Parameters
  • [in] id: detector id

  • [in] def: default detector to return. This defaults to nullptr.

Protected Functions

DetectorCollectionBase(List const &detectorList)
DetectorCollectionBase()
DetectorCollectionBase(DetectorCollectionBase const&)
DetectorCollectionBase(DetectorCollectionBase&&)
DetectorCollectionBase &operator=(DetectorCollectionBase const&)
DetectorCollectionBase &operator=(DetectorCollectionBase&&)
void add(std::shared_ptr<T> detector)

Add a detector to the collection.

Strong for pex::exceptions::RuntimeError, weak (collection is made empty) otherwise.

Parameters
  • [in] detector: New detector to add to the collection.

Exceptions
  • pex::exceptions::RuntimeError: Thrown if the ID and/or name conflict with those of detectors already in the collection.

void remove(std::string const &name)
void remove(int id)

Private Members

NameMap _nameDict
IdMap _idDict