LSSTApplications  17.0+115,17.0+12,17.0+65,18.0.0+14,18.0.0+29,18.0.0+6,18.0.0+70,18.0.0-4-g68ffd23+1,18.1.0-1-g0001055+9,18.1.0-1-g03d53ef+2,18.1.0-1-g1349e88+44,18.1.0-1-g2505f39+35,18.1.0-1-g5315e5e+2,18.1.0-1-g5e4b7ea+11,18.1.0-1-g7e8fceb+2,18.1.0-1-g85f8cd4+38,18.1.0-1-gd55f500+25,18.1.0-13-gfe4edf0b,18.1.0-14-g259bd21+9,18.1.0-14-gd04256d+35,18.1.0-2-g4903023+12,18.1.0-2-g5f9922c+13,18.1.0-2-gd3b74e5+3,18.1.0-2-gfbf3545+22,18.1.0-2-gfefb8b5+34,18.1.0-22-g936f6a9b4,18.1.0-23-g364d03b8,18.1.0-23-g52ab674,18.1.0-3-g52aa583+17,18.1.0-3-g8f4a2b1+32,18.1.0-3-gb69f684+30,18.1.0-4-g1ee41a7+2,18.1.0-5-g6dbcb01+31,18.1.0-5-gc286bb7+4,18.1.0-6-g857e778+4,18.1.0-7-gae09a6d+18,18.1.0-8-g42b2ab3+10,18.1.0-8-gc69d46e+17,18.1.0-9-gee19f03+2,w.2019.44
LSSTDataManagementBasePackage
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
lsst::afw::table::AmpInfoTable Class Reference

Table of amplifier information (AmpInfoRecord records) More...

#include <AmpInfo.h>

Inheritance diagram for lsst::afw::table::AmpInfoTable:
lsst::afw::table::BaseTable std::enable_shared_from_this< BaseTable >

Public Types

typedef AmpInfoRecord Record
 
typedef ColumnViewT< AmpInfoRecordColumnView
 
typedef CatalogT< RecordCatalog
 
typedef CatalogT< Record const > ConstCatalog
 

Public Member Functions

AmpInfoTableoperator= (AmpInfoTable const &)=delete
 
AmpInfoTableoperator= (AmpInfoTable &&)=delete
 
 ~AmpInfoTable () override
 
std::shared_ptr< AmpInfoTableclone () const
 Return a polymorphic deep copy of the table. More...
 
std::shared_ptr< AmpInfoRecordmakeRecord ()
 Default-construct an associated record. More...
 
std::shared_ptr< AmpInfoRecordcopyRecord (BaseRecord const &other)
 Deep-copy a record, requiring that it have the same schema as this table. More...
 
std::shared_ptr< AmpInfoRecordcopyRecord (BaseRecord const &other, SchemaMapper const &mapper)
 Deep-copy a record, requiring that it have the same schema as this table. More...
 
std::shared_ptr< daf::base::PropertyListgetMetadata () const
 Return the flexible metadata associated with the table. May be null. More...
 
void setMetadata (std::shared_ptr< daf::base::PropertyList > const &metadata)
 Set the flexible metadata associated with the table. May be null. More...
 
std::shared_ptr< daf::base::PropertyListpopMetadata ()
 Return the metadata and set the internal metadata to a null pointer. More...
 
Schema getSchema () const
 Return the table's schema. More...
 
void preallocate (std::size_t nRecords)
 Allocate contiguous space for new records in advance. More...
 
std::size_t getBufferSize () const
 Return the number of additional records space has been already been allocated for. More...
 
shared_from_this (T... args)
 

Static Public Member Functions

static std::shared_ptr< AmpInfoTablemake (Schema const &schema)
 Construct a new table. More...
 
static Schema makeMinimalSchema ()
 Return a minimal schema for AmpInfo tables and records. More...
 
static bool checkSchema (Schema const &other)
 Return true if the given schema is a valid AmpInfoTable schema. More...
 
static Key< std::stringgetNameKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getBBoxMinKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getBBoxExtentKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< double > getGainKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< double > getReadNoiseKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< double > getSaturationKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< double > getSuspectLevelKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< int > getReadoutCornerKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< Array< double > > getLinearityCoeffsKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< std::stringgetLinearityTypeKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< Flag > getHasRawInfoKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawBBoxMinKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawBBoxExtentKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawDataBBoxMinKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawDataBBoxExtentKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< Flag > getRawFlipXKey ()
 Get keys for standard fields shared by all references. More...
 
static Key< Flag > getRawFlipYKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawXYOffsetKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawHorizontalOverscanBBoxMinKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawHorizontalOverscanBBoxExtentKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawVerticalOverscanBBoxMinKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawVerticalOverscanBBoxExtentKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawPrescanBBoxMinKey ()
 Get keys for standard fields shared by all references. More...
 
static PointKey< int > getRawPrescanBBoxExtentKey ()
 Get keys for standard fields shared by all references. More...
 

Static Public Attributes

static int const MAX_NAME_LENGTH = 64
 
static int const MAX_LINEARITY_COEFFS = 4
 
static int const MAX_LINEARITY_TYPE_LENGTH = 64
 
static int nRecordsPerBlock = 100
 Number of records in each memory block. More...
 

Protected Member Functions

 AmpInfoTable (Schema const &schema)
 
 AmpInfoTable (AmpInfoTable const &other)
 
 AmpInfoTable (AmpInfoTable &&other)
 
std::shared_ptr< BaseTable_clone () const override
 Clone implementation with noncovariant return types. More...
 
std::shared_ptr< BaseRecord_makeRecord () override
 Default-construct an associated record (protected implementation). More...
 
template<typename RecordT , typename ... Args>
std::shared_ptr< RecordT > constructRecord (Args &&...args)
 Helper function that must be used by all _makeRecord overrides to actually construct records. More...
 
virtual void handleAliasChange (std::string const &alias)
 

Friends

class io::FitsWriter
 

Detailed Description

Table of amplifier information (AmpInfoRecord records)

Here is a pictorial example showing the meaning of flipX and flipY:

    CCD with 4 amps        Desired assembled output      Use these parameters

    --x         x--            y
   |  amp1    amp2 |           |                               flipX       flipY
   y               y           |                       amp1    False       True
                               | CCD image             amp2    True        True
   y               y           |                       amp3    False       False
   |  amp3    amp4 |           |                       amp4    True        False
    --x         x--             ----------- x
Note
  • All bounding boxes are parent boxes with respect to the raw image.
  • The overscan and underscan bounding boxes are regions containing USABLE data, NOT the entire underscan and overscan region. These bounding boxes should exclude areas with weird electronic artifacts. Each bounding box can be empty (0 extent) if the corresponding region is not used for data processing.
  • xyOffset is not used for instrument signature removal (ISR); it is intended for use by display utilities. It supports construction of a raw CCD image in the case that raw data is provided as individual amplifier images (which is uncommon):
    • Use 0,0 for cameras that supply raw data as a raw CCD image (most cameras)
    • Use nonzero for cameras that supply raw data as separate amplifier images with xy0=0,0 (LSST)
  • This design assumes assembled X is always +/- raw X, which we require for CCDs (so that bleed trails are always along the Y axis). If you must swap X/Y then add a doTranspose flag.

Definition at line 186 of file AmpInfo.h.

Member Typedef Documentation

◆ Catalog

Definition at line 190 of file AmpInfo.h.

◆ ColumnView

Definition at line 189 of file AmpInfo.h.

◆ ConstCatalog

Definition at line 191 of file AmpInfo.h.

◆ Record

Definition at line 188 of file AmpInfo.h.

Constructor & Destructor Documentation

◆ ~AmpInfoTable()

lsst::afw::table::AmpInfoTable::~AmpInfoTable ( )
overridedefault

◆ AmpInfoTable() [1/3]

lsst::afw::table::AmpInfoTable::AmpInfoTable ( Schema const &  schema)
explicitprotected

Definition at line 82 of file AmpInfo.cc.

82 : BaseTable(schema) {}
table::Schema schema
Definition: Camera.cc:161
BaseTable(Schema const &schema)
Construct from a schema.
Definition: BaseTable.cc:149

◆ AmpInfoTable() [2/3]

lsst::afw::table::AmpInfoTable::AmpInfoTable ( AmpInfoTable const &  other)
explicitprotected

Definition at line 84 of file AmpInfo.cc.

84 : BaseTable(other) {}
ItemVariant const * other
Definition: Schema.cc:56
BaseTable(Schema const &schema)
Construct from a schema.
Definition: BaseTable.cc:149

◆ AmpInfoTable() [3/3]

lsst::afw::table::AmpInfoTable::AmpInfoTable ( AmpInfoTable &&  other)
explicitprotected

Definition at line 86 of file AmpInfo.cc.

86 : AmpInfoTable(other) {}
ItemVariant const * other
Definition: Schema.cc:56
AmpInfoTable(Schema const &schema)
Definition: AmpInfo.cc:82

Member Function Documentation

◆ _clone()

std::shared_ptr< BaseTable > lsst::afw::table::AmpInfoTable::_clone ( ) const
overrideprotectedvirtual

Clone implementation with noncovariant return types.

Reimplemented from lsst::afw::table::BaseTable.

Definition at line 162 of file AmpInfo.cc.

162  {
163  return std::shared_ptr<AmpInfoTable>(new AmpInfoTable(*this));
164 }
AmpInfoTable(Schema const &schema)
Definition: AmpInfo.cc:82

◆ _makeRecord()

std::shared_ptr< BaseRecord > lsst::afw::table::AmpInfoTable::_makeRecord ( )
overrideprotectedvirtual

Default-construct an associated record (protected implementation).

Reimplemented from lsst::afw::table::BaseTable.

Definition at line 166 of file AmpInfo.cc.

166  {
167  return constructRecord<AmpInfoRecord>();
168 }

◆ checkSchema()

static bool lsst::afw::table::AmpInfoTable::checkSchema ( Schema const &  other)
inlinestatic

Return true if the given schema is a valid AmpInfoTable schema.

This will always be true if the given schema was originally constructed using makeMinimalSchema(), and will rarely be true otherwise.

Definition at line 226 of file AmpInfo.h.

226 { return other.contains(getMinimalSchema().schema); }
ItemVariant const * other
Definition: Schema.cc:56
table::Schema schema
Definition: Camera.cc:161

◆ clone()

std::shared_ptr<AmpInfoTable> lsst::afw::table::AmpInfoTable::clone ( ) const
inline

Return a polymorphic deep copy of the table.

Derived classes should reimplement by static-casting the output of _clone to a pointer-to-derived to simulate covariant return types.

Cloning a table does not clone its associated records; the new table produced by clone() does not have any associated records.

Definition at line 269 of file AmpInfo.h.

AmpInfoTable(Schema const &schema)
Definition: AmpInfo.cc:82
std::shared_ptr< BaseTable > _clone() const override
Clone implementation with noncovariant return types.
Definition: AmpInfo.cc:162
T static_pointer_cast(T... args)

◆ constructRecord()

template<typename RecordT , typename ... Args>
std::shared_ptr< RecordT > lsst::afw::table::BaseTable::constructRecord ( Args &&...  args)
protectedinherited

Helper function that must be used by all _makeRecord overrides to actually construct records.

Use of this function is enforced by the fact that Record::ConstructionToken can only be created by BaseTable, and is only ever constructed inside this method.

This function expects Record subclasses to have a constructor signature of the form

Record(ConstructionToken const &, detail::RecordData &&, Args && ...);

Definition at line 227 of file BaseRecord.h.

227  {
228  return std::make_shared<RecordT>(BaseRecord::ConstructionToken(0), _makeNewRecordData(),
229  std::forward<Args>(args)...);
230 }

◆ copyRecord() [1/2]

std::shared_ptr<AmpInfoRecord> lsst::afw::table::AmpInfoTable::copyRecord ( BaseRecord const &  other)
inline

Deep-copy a record, requiring that it have the same schema as this table.

Regardless of the type or associated table of the input record, the type of the output record will be the type associated with this table and the record instance will be associated with this table.

Allowing derived-class records to be constructed from base-class records could be considered a form of type-slicing, but because we already demand that all records be constructable from nothing but a table, this isn't anything new.

Derived classes should reimplement by static-casting the output of BaseTable::copyRecord to the appropriate BaseRecord subclass.

This is implemented using makeRecord and calling record.assign on the results; override those to change the behavior.

Definition at line 277 of file AmpInfo.h.

277  {
278  return std::static_pointer_cast<AmpInfoRecord>(BaseTable::copyRecord(other));
279  }
ItemVariant const * other
Definition: Schema.cc:56
std::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
Definition: BaseTable.cc:125
T static_pointer_cast(T... args)

◆ copyRecord() [2/2]

std::shared_ptr<AmpInfoRecord> lsst::afw::table::AmpInfoTable::copyRecord ( BaseRecord const &  other,
SchemaMapper const &  mapper 
)
inline

Deep-copy a record, requiring that it have the same schema as this table.

Regardless of the type or associated table of the input record, the type of the output record will be the type associated with this table and the record instance will be associated with this table.

Allowing derived-class records to be constructed from base-class records could be considered a form of type-slicing, but because we already demand that all records be constructable from nothing but a table, this isn't anything new.

Derived classes should reimplement by static-casting the output of BaseTable::copyRecord to the appropriate BaseRecord subclass.

This is implemented using makeRecord and calling record.assign on the results; override those to change the behavior.

Definition at line 282 of file AmpInfo.h.

282  {
284  }
ItemVariant const * other
Definition: Schema.cc:56
SchemaMapper * mapper
Definition: SchemaMapper.cc:78
std::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
Definition: BaseTable.cc:125
T static_pointer_cast(T... args)

◆ getBBoxExtentKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getBBoxExtentKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 236 of file AmpInfo.h.

236 { return getMinimalSchema().bboxExtent; }

◆ getBBoxMinKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getBBoxMinKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 235 of file AmpInfo.h.

235 { return getMinimalSchema().bboxMin; }

◆ getBufferSize()

std::size_t lsst::afw::table::BaseTable::getBufferSize ( ) const
inherited

Return the number of additional records space has been already been allocated for.

Unlike std::vector::capacity, this does not factor in existing records in any way.

Definition at line 113 of file BaseTable.cc.

113  {
114  if (_manager) {
115  return Block::getBufferSize(_schema.getRecordSize(), _manager);
116  } else {
117  return 0;
118  }
119 }
int getRecordSize() const
Return the raw size of a record in bytes.
Definition: Schema.h:148

◆ getGainKey()

static Key<double> lsst::afw::table::AmpInfoTable::getGainKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 237 of file AmpInfo.h.

237 { return getMinimalSchema().gain; }

◆ getHasRawInfoKey()

static Key<Flag> lsst::afw::table::AmpInfoTable::getHasRawInfoKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 244 of file AmpInfo.h.

244 { return getMinimalSchema().hasRawInfo; }

◆ getLinearityCoeffsKey()

static Key<Array<double> > lsst::afw::table::AmpInfoTable::getLinearityCoeffsKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 242 of file AmpInfo.h.

242 { return getMinimalSchema().linearityCoeffs; }

◆ getLinearityTypeKey()

static Key<std::string> lsst::afw::table::AmpInfoTable::getLinearityTypeKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 243 of file AmpInfo.h.

243 { return getMinimalSchema().linearityType; }

◆ getMetadata()

std::shared_ptr<daf::base::PropertyList> lsst::afw::table::BaseTable::getMetadata ( ) const
inlineinherited

Return the flexible metadata associated with the table. May be null.

Definition at line 79 of file BaseTable.h.

79 { return _metadata; }

◆ getNameKey()

static Key<std::string> lsst::afw::table::AmpInfoTable::getNameKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 234 of file AmpInfo.h.

234 { return getMinimalSchema().name; }

◆ getRawBBoxExtentKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawBBoxExtentKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 246 of file AmpInfo.h.

246 { return getMinimalSchema().rawBBoxExtent; }

◆ getRawBBoxMinKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawBBoxMinKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 245 of file AmpInfo.h.

245 { return getMinimalSchema().rawBBoxMin; }

◆ getRawDataBBoxExtentKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawDataBBoxExtentKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 248 of file AmpInfo.h.

248 { return getMinimalSchema().rawDataBBoxExtent; }

◆ getRawDataBBoxMinKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawDataBBoxMinKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 247 of file AmpInfo.h.

247 { return getMinimalSchema().rawDataBBoxMin; }

◆ getRawFlipXKey()

static Key<Flag> lsst::afw::table::AmpInfoTable::getRawFlipXKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 249 of file AmpInfo.h.

249 { return getMinimalSchema().rawFlipX; }

◆ getRawFlipYKey()

static Key<Flag> lsst::afw::table::AmpInfoTable::getRawFlipYKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 250 of file AmpInfo.h.

250 { return getMinimalSchema().rawFlipY; }

◆ getRawHorizontalOverscanBBoxExtentKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawHorizontalOverscanBBoxExtentKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 255 of file AmpInfo.h.

255  {
256  return getMinimalSchema().rawHorizontalOverscanBBoxExtent;
257  }

◆ getRawHorizontalOverscanBBoxMinKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawHorizontalOverscanBBoxMinKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 252 of file AmpInfo.h.

252  {
253  return getMinimalSchema().rawHorizontalOverscanBBoxMin;
254  }

◆ getRawPrescanBBoxExtentKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawPrescanBBoxExtentKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 265 of file AmpInfo.h.

265 { return getMinimalSchema().rawPrescanBBoxExtent; }

◆ getRawPrescanBBoxMinKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawPrescanBBoxMinKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 264 of file AmpInfo.h.

264 { return getMinimalSchema().rawPrescanBBoxMin; }

◆ getRawVerticalOverscanBBoxExtentKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawVerticalOverscanBBoxExtentKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 261 of file AmpInfo.h.

261  {
262  return getMinimalSchema().rawVerticalOverscanBBoxExtent;
263  }

◆ getRawVerticalOverscanBBoxMinKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawVerticalOverscanBBoxMinKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 258 of file AmpInfo.h.

258  {
259  return getMinimalSchema().rawVerticalOverscanBBoxMin;
260  }

◆ getRawXYOffsetKey()

static PointKey<int> lsst::afw::table::AmpInfoTable::getRawXYOffsetKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 251 of file AmpInfo.h.

251 { return getMinimalSchema().rawXYOffset; }

◆ getReadNoiseKey()

static Key<double> lsst::afw::table::AmpInfoTable::getReadNoiseKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 238 of file AmpInfo.h.

238 { return getMinimalSchema().readNoise; }

◆ getReadoutCornerKey()

static Key<int> lsst::afw::table::AmpInfoTable::getReadoutCornerKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 241 of file AmpInfo.h.

241 { return getMinimalSchema().readoutCorner; }

◆ getSaturationKey()

static Key<double> lsst::afw::table::AmpInfoTable::getSaturationKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 239 of file AmpInfo.h.

239 { return getMinimalSchema().saturation; }

◆ getSchema()

Schema lsst::afw::table::BaseTable::getSchema ( ) const
inlineinherited

Return the table's schema.

Definition at line 137 of file BaseTable.h.

137 { return _schema; }

◆ getSuspectLevelKey()

static Key<double> lsst::afw::table::AmpInfoTable::getSuspectLevelKey ( )
inlinestatic

Get keys for standard fields shared by all references.

These keys are used to implement getters and setters on AmpInfoRecord.

Definition at line 240 of file AmpInfo.h.

240 { return getMinimalSchema().suspectLevel; }

◆ handleAliasChange()

virtual void lsst::afw::table::BaseTable::handleAliasChange ( std::string const &  alias)
inlineprotectedvirtualinherited

Reimplemented in lsst::afw::table::SourceTable.

Definition at line 201 of file BaseTable.h.

201 {}

◆ make()

std::shared_ptr< AmpInfoTable > lsst::afw::table::AmpInfoTable::make ( Schema const &  schema)
static

Construct a new table.

Parameters
[in]schemaSchema that defines the fields, offsets, and record size for the table.

Definition at line 73 of file AmpInfo.cc.

73  {
74  if (!checkSchema(schema)) {
75  throw LSST_EXCEPT(
77  "Schema for AmpInfo must contain at least the keys defined by makeMinimalSchema().");
78  }
80 }
static bool checkSchema(Schema const &other)
Return true if the given schema is a valid AmpInfoTable schema.
Definition: AmpInfo.h:226
AmpInfoTable(Schema const &schema)
Definition: AmpInfo.cc:82
table::Schema schema
Definition: Camera.cc:161
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
Reports invalid arguments.
Definition: Runtime.h:66

◆ makeMinimalSchema()

static Schema lsst::afw::table::AmpInfoTable::makeMinimalSchema ( )
inlinestatic

Return a minimal schema for AmpInfo tables and records.

The returned schema can and generally should be modified further, but many operations on AmpInfoRecords will assume that at least the fields provided by this routine are present.

Definition at line 214 of file AmpInfo.h.

214  {
215  Schema r = getMinimalSchema().schema;
216  r.disconnectAliases();
217  return r;
218  }

◆ makeRecord()

std::shared_ptr<AmpInfoRecord> lsst::afw::table::AmpInfoTable::makeRecord ( )
inline

Default-construct an associated record.

Derived classes should reimplement by static-casting the output of _makeRecord to the appropriate BaseRecord subclass to simulate covariant return types.

Definition at line 272 of file AmpInfo.h.

272  {
273  return std::static_pointer_cast<AmpInfoRecord>(_makeRecord());
274  }
T static_pointer_cast(T... args)
std::shared_ptr< BaseRecord > _makeRecord() override
Default-construct an associated record (protected implementation).
Definition: AmpInfo.cc:166

◆ operator=() [1/2]

AmpInfoTable& lsst::afw::table::AmpInfoTable::operator= ( AmpInfoTable const &  )
delete

◆ operator=() [2/2]

AmpInfoTable& lsst::afw::table::AmpInfoTable::operator= ( AmpInfoTable &&  )
delete

◆ popMetadata()

std::shared_ptr<daf::base::PropertyList> lsst::afw::table::BaseTable::popMetadata ( )
inlineinherited

Return the metadata and set the internal metadata to a null pointer.

Definition at line 85 of file BaseTable.h.

85  {
87  _metadata.swap(tmp);
88  return tmp;
89  }

◆ preallocate()

void lsst::afw::table::BaseTable::preallocate ( std::size_t  nRecords)
inherited

Allocate contiguous space for new records in advance.

If a contiguous memory block for at least n additional records has already been allocated, this is a no-op. If not, a new block will be allocated, and any remaining space on the old block will go to waste; this ensures the new records will be allocated contiguously. Note that "wasted" memory is not leaked; it will be deallocated along with any records created from that block when those records go out of scope.

Note that unlike std::vector::reserve, this does not factor in existing records in any way; nRecords refers to a number of new records to reserve space for.

Definition at line 111 of file BaseTable.cc.

111 { Block::preallocate(_schema.getRecordSize(), n, _manager); }
int getRecordSize() const
Return the raw size of a record in bytes.
Definition: Schema.h:148

◆ setMetadata()

void lsst::afw::table::BaseTable::setMetadata ( std::shared_ptr< daf::base::PropertyList > const &  metadata)
inlineinherited

Set the flexible metadata associated with the table. May be null.

Definition at line 82 of file BaseTable.h.

82 { _metadata = metadata; }

Friends And Related Function Documentation

◆ io::FitsWriter

friend class io::FitsWriter
friend

Definition at line 330 of file AmpInfo.h.

Member Data Documentation

◆ MAX_LINEARITY_COEFFS

int const lsst::afw::table::AmpInfoTable::MAX_LINEARITY_COEFFS = 4
static

Definition at line 193 of file AmpInfo.h.

◆ MAX_LINEARITY_TYPE_LENGTH

int const lsst::afw::table::AmpInfoTable::MAX_LINEARITY_TYPE_LENGTH = 64
static

Definition at line 194 of file AmpInfo.h.

◆ MAX_NAME_LENGTH

int const lsst::afw::table::AmpInfoTable::MAX_NAME_LENGTH = 64
static

Definition at line 192 of file AmpInfo.h.

◆ nRecordsPerBlock

int lsst::afw::table::BaseTable::nRecordsPerBlock = 100
staticinherited

Number of records in each memory block.

Definition at line 76 of file BaseTable.h.


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