Class lsst::afw::cameraGeom::Detector::Builder

class Builder : public lsst::afw::cameraGeom::DetectorBase

A helper class for Detector that allows amplifiers and most fields to be modified.

Because Detector is immutable, creation and modification always go through Builder, or more precisely, one of its two subclasses:

Detector::Builder itself provides functionality common to these:

  • setters for the simple data fields of Detector;

  • a container of Amplifier::Builders. It is not intended define an interface independent of its subclasses.

The name and ID of a detector (but not its “serial” string) are set at initial construction and are an integral part of the relationship between it and its Camera, and can never be changed, even by Builders.

The fact that Amplifier::Builder inherits from Amplifier does not mean that a container of Amplifier::Builder can inherit from a container of Amplifier, and hence Detector::Builder (which has a container of Amplifer::Builder) cannot inherit directly from Detector (which has a container of Amplifier). But in both Python and templated C++ code, the container interfaces of Detector and Detector::Builder are identical (i.e. they’re “duck type” equivalent), aside from the fact that Detector::Builder also permits addition and removal of amplifiers.

Subclassed by lsst::afw::cameraGeom::Detector::InCameraBuilder, lsst::afw::cameraGeom::Detector::PartialRebuilder