LSSTApplications  20.0.0
LSSTDataManagementBasePackage
Amplifier.h
Go to the documentation of this file.
1 // -*- lsst-c++ -*-
2 /*
3  * Developed for the LSST Data Management System.
4  * This product includes software developed by the LSST Project
5  * (https://www.lsst.org).
6  * See the COPYRIGHT file at the top-level directory of this distribution
7  * for details of code ownership.
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <https://www.gnu.org/licenses/>.
21  */
22 #ifndef LSST_AFW_CAMERAGEOM_AMPLIFIER_H_INCLUDED
23 #define LSST_AFW_CAMERAGEOM_AMPLIFIER_H_INCLUDED
24 
25 #include <string>
26 
27 #include "lsst/afw/table/fwd.h"
28 #include "lsst/geom/Box.h"
29 #include "lsst/geom/Extent.h"
30 
31 namespace lsst {
32 namespace afw {
33 namespace cameraGeom {
34 
38 enum class ReadoutCorner {
39  LL,
40  LR,
41  UR,
42  UL,
43 };
44 
48 enum class AssemblyState {
49  RAW,
50  SCIENCE,
51 };
52 
86 class Amplifier {
87 public:
88 
89  class Builder;
90 
93 
94  virtual ~Amplifier() noexcept = default;
95 
102  void toRecord(table::BaseRecord & record) const;
103 
109  Builder rebuild() const;
110 
112  std::string getName() const { return getFields().name; }
113 
115  lsst::geom::Box2I getBBox() const { return getFields().bbox; }
116 
118  double getGain() const { return getFields().gain; }
119 
121  double getReadNoise() const { return getFields().readNoise; }
122 
127  double getSaturation() const { return getFields().saturation; }
128 
136  double getSuspectLevel() const { return getFields().suspectLevel; }
137 
140 
142  ndarray::Array<double const, 1, 1> getLinearityCoeffs() const { return getFields().linearityCoeffs; }
143 
146 
151 
156  double getLinearityMaximum() const { return getFields().linearityMaximum; }
157 
160 
166 
172 
177  bool getRawFlipX() const { return getFields().rawFlipX; }
178 
183  bool getRawFlipY() const { return getFields().rawFlipY; }
184 
190 
196 
202 
208 
215 
222 
229 
232 
233 protected:
234 
235  struct Fields {
238  double gain = 0.0;
239  double readNoise = 0.0;
240  double saturation = 0.0;
241  double suspectLevel = 0.0;
243  ndarray::Array<double const, 1, 1> linearityCoeffs;
250  bool rawFlipX = false;
251  bool rawFlipY = false;
256  };
257 
258  // Amplifier construction and assignment is protected to avoid type-slicing
259  // but permit derived classes to implement safe versions of these.
260 
261  Amplifier() = default;
262 
263  Amplifier(Amplifier const &) = default;
264  Amplifier(Amplifier &&) = default;
265  Amplifier & operator=(Amplifier const &) = default;
266  Amplifier & operator=(Amplifier &&) = default;
267 
268  virtual Fields const & getFields() const = 0;
269 
270 };
271 
276 class Amplifier::Builder final : public Amplifier {
277 public:
278 
285  static Builder fromRecord(table::BaseRecord const & record);
286 
288  Builder() = default;
289 
291  Builder(Builder const &) = default;
292 
294  Builder(Builder &&) = default;
295 
297  Builder(Amplifier const & other);
298 
300  Builder & operator=(Builder const &) = default;
301 
303  Builder & operator=(Builder &&) = default;
304 
306  Builder & operator=(Amplifier const & other);
307 
308  ~Builder() noexcept override = default;
309 
316  std::shared_ptr<Amplifier const> finish() const;
317 
319  void setName(std::string const &name) { _fields.name = name; }
320 
322  void setBBox(lsst::geom::Box2I const &bbox) { _fields.bbox = bbox; }
323 
325  void setGain(double gain) { _fields.gain = gain; }
326 
328  void setReadNoise(double readNoise) { _fields.readNoise = readNoise; }
329 
331  void setSaturation(double saturation) { _fields.saturation = saturation; }
332 
335 
338 
340  void setLinearityCoeffs(ndarray::Array<double const, 1, 1> const & coeffs) {
341  _fields.linearityCoeffs = coeffs;
342  }
343 
345  void setLinearityType(std::string const & type) { _fields.linearityType = type; }
346 
348  void setLinearityThreshold(double threshold) { _fields.linearityThreshold = threshold; }
349 
351  void setLinearityMaximum(double maximum) { _fields.linearityMaximum = maximum; }
352 
354  void setLinearityUnits(std::string const & units) { _fields.linearityUnits = units; }
355 
357  void setRawBBox(lsst::geom::Box2I const &bbox) { _fields.rawBBox = bbox; }
358 
361 
363  void setRawFlipX(bool rawFlipX) { _fields.rawFlipX = rawFlipX; }
364 
366  void setRawFlipY(bool rawFlipY) { _fields.rawFlipY = rawFlipY; }
367 
369  void setRawXYOffset(lsst::geom::Extent2I const &xy) { _fields.rawXYOffset = xy; }
370 
374  }
375 
378  _fields.rawVerticalOverscanBBox = bbox;
379  }
380 
383  _fields.rawPrescanBBox = bbox;
384  }
385 
389  }
390 
393  _fields.rawVerticalOverscanBBox = bbox;
394  }
395 
398  _fields.rawPrescanBBox = bbox;
399  }
400 
403  _fields.rawPrescanBBox = bbox;
404  }
405 
406 protected:
407  Fields const & getFields() const override { return _fields; }
408 private:
409  Fields _fields;
410 };
411 
412 
413 
414 } // namespace cameraGeom
415 } // namespace afw
416 } // namespace lsst
417 
418 #endif // !LSST_AFW_CAMERAGEOM_AMPLIFIER_H_INCLUDED
lsst::afw::cameraGeom::Amplifier::Builder::setRawPrescanBBox
void setRawPrescanBBox(lsst::geom::Box2I const &bbox)
The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:382
lsst::afw::cameraGeom::Amplifier::Fields::linearityType
std::string linearityType
Definition: Amplifier.h:244
lsst::afw::cameraGeom::Amplifier::getFields
virtual Fields const & getFields() const =0
lsst::afw::cameraGeom::Amplifier::getRawSerialOverscanBBox
lsst::geom::Box2I getRawSerialOverscanBBox() const
The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the assemble...
Definition: Amplifier.h:214
lsst::afw::cameraGeom::Amplifier::getRawXYOffset
lsst::geom::Extent2I getRawXYOffset() const
Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final ...
Definition: Amplifier.h:189
lsst::afw::cameraGeom::Amplifier::getSuspectLevel
double getSuspectLevel() const
Level in ADU above which pixels are considered suspicious, meaning they may be affected by unknown sy...
Definition: Amplifier.h:136
lsst::afw::cameraGeom::Amplifier::getReadoutCorner
ReadoutCorner getReadoutCorner() const
Readout corner in the trimmed, assembled image.
Definition: Amplifier.h:139
lsst::afw::cameraGeom::Amplifier::Fields::bbox
lsst::geom::Box2I bbox
Definition: Amplifier.h:237
lsst::afw::cameraGeom::Amplifier::Builder::setReadNoise
void setReadNoise(double readNoise)
Amplifier read noise, in e-.
Definition: Amplifier.h:328
lsst::afw::cameraGeom::Amplifier::getRawDataBBox
lsst::geom::Box2I getRawDataBBox() const
Bounding box of amplifier image pixels on untrimmed, assembled raw image.
Definition: Amplifier.h:171
lsst::afw::cameraGeom::Amplifier::Builder::setRawVerticalOverscanBBox
void setRawVerticalOverscanBBox(lsst::geom::Box2I const &bbox)
The bounding box of vertical overscan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:377
Box.h
lsst::afw::cameraGeom::Amplifier::Fields::rawFlipY
bool rawFlipY
Definition: Amplifier.h:251
std::string
STL class.
lsst::afw::cameraGeom::Amplifier::Fields::suspectLevel
double suspectLevel
Definition: Amplifier.h:241
lsst::afw::cameraGeom::Amplifier::toRecord
void toRecord(table::BaseRecord &record) const
Copy the Amplifier's fields into the given record.
Definition: Amplifier.cc:322
lsst::afw::cameraGeom::Amplifier::Builder::setReadoutCorner
void setReadoutCorner(ReadoutCorner readoutCorner)
Readout corner in the trimmed, assembled image.
Definition: Amplifier.h:337
lsst::afw::cameraGeom::Amplifier::Builder::setRawHorizontalPrescanBBox
void setRawHorizontalPrescanBBox(lsst::geom::Box2I const &bbox)
The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:402
lsst::afw::cameraGeom::Amplifier::Builder::setRawBBox
void setRawBBox(lsst::geom::Box2I const &bbox)
Bounding box of all amplifier pixels on untrimmed, assembled raw image.
Definition: Amplifier.h:357
lsst::afw::cameraGeom::Amplifier::Builder::operator=
Builder & operator=(Builder const &)=default
Standard copy assignment.
lsst::afw::cameraGeom::Amplifier::Fields::gain
double gain
Definition: Amplifier.h:238
lsst::afw::cameraGeom::AssemblyState::SCIENCE
@ SCIENCE
lsst::afw::cameraGeom::Amplifier::Builder::setSuspectLevel
void setSuspectLevel(double suspectLevel)
Level in ADU above which pixels are considered suspicious, meaning they may be affected by unknown sy...
Definition: Amplifier.h:334
lsst::afw::cameraGeom::Amplifier::getLinearityMaximum
double getLinearityMaximum() const
Level in ADU above which the linearity relation is poorly defined.
Definition: Amplifier.h:156
readNoise
table::Key< double > readNoise
Definition: Amplifier.cc:121
lsst::afw::cameraGeom::Amplifier::Builder::setRawFlipX
void setRawFlipX(bool rawFlipX)
Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR i...
Definition: Amplifier.h:363
lsst::afw::cameraGeom::ReadoutCorner::LR
@ LR
lsst::afw::cameraGeom::Amplifier::getBBox
lsst::geom::Box2I getBBox() const
Bounding box of amplifier pixels in the trimmed, assembled image.
Definition: Amplifier.h:115
lsst::afw::cameraGeom::AssemblyState
AssemblyState
Assembly state of the amplifier, used to identify bounding boxes and component existence.
Definition: Amplifier.h:48
lsst::afw::cameraGeom::Amplifier::Fields::rawVerticalOverscanBBox
lsst::geom::Box2I rawVerticalOverscanBBox
Definition: Amplifier.h:254
lsst::afw::cameraGeom::Amplifier::Builder::setRawSerialPrescanBBox
void setRawSerialPrescanBBox(lsst::geom::Box2I const &bbox)
The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:397
lsst::afw::cameraGeom::Amplifier::Fields::linearityCoeffs
ndarray::Array< double const, 1, 1 > linearityCoeffs
Definition: Amplifier.h:243
lsst::afw::cameraGeom::Amplifier::Builder::setRawSerialOverscanBBox
void setRawSerialOverscanBBox(lsst::geom::Box2I const &bbox)
The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the assemble...
Definition: Amplifier.h:387
lsst::afw::cameraGeom::Amplifier::Fields::readNoise
double readNoise
Definition: Amplifier.h:239
lsst::afw
Definition: imageAlgorithm.dox:1
fwd.h
lsst::afw::table::Schema
Defines the fields and offsets for a table.
Definition: Schema.h:50
lsst::afw::cameraGeom::Amplifier::Builder::getFields
Fields const & getFields() const override
Definition: Amplifier.h:407
lsst::afw::cameraGeom::Amplifier::getLinearityUnits
std::string getLinearityUnits() const
Units for the input to the linearity relation (DN).
Definition: Amplifier.h:159
lsst::afw::cameraGeom::Amplifier::Amplifier
Amplifier()=default
lsst::afw::geom.transform.transformContinued.name
string name
Definition: transformContinued.py:32
lsst::afw::cameraGeom::Amplifier::Amplifier
Amplifier(Amplifier const &)=default
lsst::afw::cameraGeom::Amplifier::Fields::rawPrescanBBox
lsst::geom::Box2I rawPrescanBBox
Definition: Amplifier.h:255
rawFlipY
table::Key< table::Flag > rawFlipY
Definition: Amplifier.cc:129
lsst::afw::cameraGeom::Amplifier::Builder::Builder
Builder(Builder &&)=default
Standard move constructor.
lsst::afw::cameraGeom::Amplifier::getLinearityThreshold
double getLinearityThreshold() const
Level in ADU above which linearity should be applied.
Definition: Amplifier.h:150
lsst::afw::cameraGeom::Amplifier::Builder
A mutable Amplifier subclass class that can be used to incrementally construct or modify Amplifiers.
Definition: Amplifier.h:276
lsst::afw::cameraGeom::Amplifier::Fields::rawFlipX
bool rawFlipX
Definition: Amplifier.h:250
lsst::afw::cameraGeom::Amplifier::operator=
Amplifier & operator=(Amplifier const &)=default
readoutCorner
table::Key< int > readoutCorner
Definition: Amplifier.cc:122
lsst::afw::cameraGeom::Amplifier::getSaturation
double getSaturation() const
Level in ADU above which pixels are considered saturated; use nan if no such level applies.
Definition: Amplifier.h:127
lsst::afw::cameraGeom::Amplifier::Builder::setRawFlipY
void setRawFlipY(bool rawFlipY)
Flip column order in transformation from untrimmed, assembled raw image to trimmed,...
Definition: Amplifier.h:366
lsst::afw::cameraGeom::ReadoutCorner
ReadoutCorner
Readout corner, in the frame of reference of the assembled image.
Definition: Amplifier.h:38
Extent.h
lsst::afw::cameraGeom::Amplifier::Fields
Definition: Amplifier.h:235
lsst::afw::cameraGeom::Amplifier::Amplifier
Amplifier(Amplifier &&)=default
lsst::afw::cameraGeom::Amplifier::getRawPrescanBBox
lsst::geom::Box2I getRawPrescanBBox() const
The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:207
lsst::afw::cameraGeom::Amplifier::Fields::linearityThreshold
double linearityThreshold
Definition: Amplifier.h:245
lsst::afw::cameraGeom::Amplifier::getRawHorizontalOverscanBBox
lsst::geom::Box2I getRawHorizontalOverscanBBox() const
The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:195
lsst::afw::cameraGeom::Amplifier::getRawSerialPrescanBBox
lsst::geom::Box2I getRawSerialPrescanBBox() const
The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:228
lsst::afw::cameraGeom::ReadoutCorner::UR
@ UR
saturation
table::Key< double > saturation
Definition: Amplifier.cc:119
lsst::afw::cameraGeom::Amplifier::getReadNoise
double getReadNoise() const
Amplifier read noise, in e-.
Definition: Amplifier.h:121
lsst::afw::cameraGeom::Amplifier::getRawFlipX
bool getRawFlipX() const
Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR i...
Definition: Amplifier.h:177
other
ItemVariant const * other
Definition: Schema.cc:56
lsst::afw::table::BaseRecord
Base class for all records.
Definition: BaseRecord.h:31
lsst::afw::cameraGeom::Amplifier::getLinearityType
std::string getLinearityType() const
Name of linearity parameterization.
Definition: Amplifier.h:145
lsst::afw::cameraGeom::Amplifier::Builder::setLinearityCoeffs
void setLinearityCoeffs(ndarray::Array< double const, 1, 1 > const &coeffs)
Vector of linearity coefficients.
Definition: Amplifier.h:340
lsst::afw::cameraGeom::Amplifier::Fields::rawBBox
lsst::geom::Box2I rawBBox
Definition: Amplifier.h:248
lsst::afw::cameraGeom::Amplifier::Builder::setLinearityThreshold
void setLinearityThreshold(double threshold)
Level in ADU above which linearity should be applied.
Definition: Amplifier.h:348
lsst::afw::cameraGeom::Amplifier::getRawVerticalOverscanBBox
lsst::geom::Box2I getRawVerticalOverscanBBox() const
The bounding box of vertical overscan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:201
lsst::afw::cameraGeom::Amplifier::Fields::saturation
double saturation
Definition: Amplifier.h:240
lsst::afw::cameraGeom::Amplifier::getGain
double getGain() const
Amplifier gain in e-/ADU.
Definition: Amplifier.h:118
lsst::afw::cameraGeom::Amplifier::Builder::setBBox
void setBBox(lsst::geom::Box2I const &bbox)
Bounding box of amplifier pixels in the trimmed, assembled image.
Definition: Amplifier.h:322
lsst::afw::cameraGeom::Amplifier::~Amplifier
virtual ~Amplifier() noexcept=default
lsst::afw::cameraGeom::Amplifier::Fields::name
std::string name
Definition: Amplifier.h:236
lsst
A base class for image defects.
Definition: imageAlgorithm.dox:1
lsst::afw::cameraGeom::ReadoutCorner::UL
@ UL
lsst::afw::cameraGeom::Amplifier::rebuild
Builder rebuild() const
Return a Builder object initialized with the fields of this.
Definition: Amplifier.cc:271
lsst::afw::cameraGeom::Amplifier::Builder::Builder
Builder()=default
Construct a Builder with default values for all fields.
lsst::afw::cameraGeom::AssemblyState::RAW
@ RAW
lsst::afw::cameraGeom::Amplifier::Fields::linearityUnits
std::string linearityUnits
Definition: Amplifier.h:247
lsst::afw::cameraGeom::Amplifier
Geometry and electronic information about raw amplifier images.
Definition: Amplifier.h:86
lsst::afw::cameraGeom::Amplifier::getRawBBox
lsst::geom::Box2I getRawBBox() const
Bounding box of all amplifier pixels on untrimmed, assembled raw image.
Definition: Amplifier.h:165
lsst::afw::cameraGeom::Amplifier::Fields::rawHorizontalOverscanBBox
lsst::geom::Box2I rawHorizontalOverscanBBox
Definition: Amplifier.h:253
lsst::afw::cameraGeom::ReadoutCorner::LL
@ LL
lsst::afw::cameraGeom::Amplifier::Builder::setRawXYOffset
void setRawXYOffset(lsst::geom::Extent2I const &xy)
Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final ...
Definition: Amplifier.h:369
lsst::afw::cameraGeom::Amplifier::Builder::setSaturation
void setSaturation(double saturation)
Level in ADU above which pixels are considered saturated; use nan if no such level applies.
Definition: Amplifier.h:331
gain
table::Key< double > gain
Definition: Amplifier.cc:118
lsst::afw::cameraGeom::Amplifier::Fields::linearityMaximum
double linearityMaximum
Definition: Amplifier.h:246
lsst::afw::cameraGeom::Amplifier::getRecordSchema
static table::Schema getRecordSchema()
Return the schema used in the afw.table representation of amplifiers.
Definition: Amplifier.cc:267
std
STL namespace.
type
table::Key< int > type
Definition: Detector.cc:163
lsst::afw::cameraGeom::Amplifier::Builder::finish
std::shared_ptr< Amplifier const > finish() const
Construct an immutable Amplifier with the same values as the Builder.
Definition: Amplifier.cc:282
lsst::afw::cameraGeom::Amplifier::Fields::rawDataBBox
lsst::geom::Box2I rawDataBBox
Definition: Amplifier.h:249
lsst::geom::Box2I
An integer coordinate rectangle.
Definition: Box.h:55
lsst::afw::cameraGeom::Amplifier::Fields::rawXYOffset
lsst::geom::Extent2I rawXYOffset
Definition: Amplifier.h:252
lsst::afw::cameraGeom::Amplifier::operator=
Amplifier & operator=(Amplifier &&)=default
lsst::afw::cameraGeom::Amplifier::Builder::setRawParallelOverscanBBox
void setRawParallelOverscanBBox(lsst::geom::Box2I const &bbox)
The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the assemble...
Definition: Amplifier.h:392
lsst::afw::cameraGeom::Amplifier::getName
std::string getName() const
Name of the amplifier.
Definition: Amplifier.h:112
lsst::afw::cameraGeom::Amplifier::getRawHorizontalPrescanBBox
lsst::geom::Box2I getRawHorizontalPrescanBBox() const
The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:231
suspectLevel
table::Key< double > suspectLevel
Definition: Amplifier.cc:120
lsst::afw::cameraGeom::Amplifier::getRawFlipY
bool getRawFlipY() const
Flip column order in transformation from untrimmed, assembled raw image to trimmed,...
Definition: Amplifier.h:183
lsst::afw::cameraGeom::Amplifier::getLinearityCoeffs
ndarray::Array< double const, 1, 1 > getLinearityCoeffs() const
Vector of linearity coefficients.
Definition: Amplifier.h:142
rawFlipX
table::Key< table::Flag > rawFlipX
Definition: Amplifier.cc:128
lsst::afw::cameraGeom::Amplifier::Builder::setName
void setName(std::string const &name)
Name of the amplifier.
Definition: Amplifier.h:319
lsst::afw::cameraGeom::Amplifier::Builder::setRawHorizontalOverscanBBox
void setRawHorizontalOverscanBBox(lsst::geom::Box2I const &bbox)
The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image.
Definition: Amplifier.h:372
lsst::afw::cameraGeom::Amplifier::Builder::setLinearityMaximum
void setLinearityMaximum(double maximum)
Level in ADU above which the linearity relation is poorly defined.
Definition: Amplifier.h:351
lsst::afw::cameraGeom::Amplifier::Builder::setLinearityType
void setLinearityType(std::string const &type)
Name of linearity parameterization.
Definition: Amplifier.h:345
lsst::geom::Extent< int, 2 >
lsst::afw::cameraGeom::Amplifier::Builder::Builder
Builder(Builder const &)=default
Standard copy constructor.
lsst::afw::cameraGeom::Amplifier::Fields::readoutCorner
ReadoutCorner readoutCorner
Definition: Amplifier.h:242
lsst::afw::cameraGeom::Amplifier::Builder::setRawDataBBox
void setRawDataBBox(lsst::geom::Box2I const &bbox)
Bounding box of amplifier image pixels on untrimmed, assembled raw image.
Definition: Amplifier.h:360
lsst::afw::cameraGeom::Amplifier::Builder::setLinearityUnits
void setLinearityUnits(std::string const &units)
Units for the input to the linearity relation (DN).
Definition: Amplifier.h:354
lsst::afw::cameraGeom::Amplifier::Builder::~Builder
~Builder() noexcept override=default
lsst::afw::cameraGeom::Amplifier::Builder::operator=
Builder & operator=(Builder &&)=default
Standard move assignment.
bbox
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117
lsst::afw::cameraGeom::Amplifier::getRawParallelOverscanBBox
lsst::geom::Box2I getRawParallelOverscanBBox() const
The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the assemble...
Definition: Amplifier.h:221
lsst::afw::cameraGeom::Amplifier::Builder::fromRecord
static Builder fromRecord(table::BaseRecord const &record)
Construct a new Builder object from the fields in the given record.
Definition: Amplifier.cc:286
lsst::afw::cameraGeom::Amplifier::Builder::setGain
void setGain(double gain)
Amplifier gain in e-/ADU.
Definition: Amplifier.h:325