LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Static Private 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 lsst::daf::base::Citizen

Classes

struct  MinimalSchema
 

Public Types

typedef AmpInfoRecord Record
 
typedef ColumnViewT
< AmpInfoRecord
ColumnView
 
typedef CatalogT< RecordCatalog
 
typedef CatalogT< Record const > ConstCatalog
 
- Public Types inherited from lsst::afw::table::BaseTable
typedef BaseRecord Record
 The associated record class. More...
 
typedef BaseColumnView ColumnView
 The associated ColumnView class. More...
 
typedef CatalogT< RecordCatalog
 Template of CatalogT used to hold records of the associated type. More...
 
typedef CatalogT< Record const > ConstCatalog
 Template of CatalogT used to hold const records of the associated type. More...
 
- Public Types inherited from lsst::daf::base::Citizen
enum  { magicSentinel = 0xdeadbeef }
 
typedef unsigned long memId
 Type of the block's ID. More...
 
typedef memId(* memNewCallback )(const memId cid)
 A function used to register a callback. More...
 
typedef memId(* memCallback )(const Citizen *ptr)
 

Public Member Functions

boost::shared_ptr< AmpInfoTableclone () const
 Return a polymorphic deep copy of the table. More...
 
boost::shared_ptr< AmpInfoRecordmakeRecord ()
 Default-construct an associated record. More...
 
boost::shared_ptr< AmpInfoRecordcopyRecord (BaseRecord const &other)
 Deep-copy a record, requiring that it have the same schema as this table. More...
 
boost::shared_ptr< AmpInfoRecordcopyRecord (BaseRecord const &other, SchemaMapper const &mapper)
 Deep-copy a record, requiring that it have the same schema as this table. More...
 
- Public Member Functions inherited from lsst::afw::table::BaseTable
boost::shared_ptr
< daf::base::PropertyList
getMetadata () const
 Return the flexible metadata associated with the table. May be null. More...
 
void setMetadata (boost::shared_ptr< daf::base::PropertyList > const &metadata)
 Set the flexible metadata associated with the table. May be null. More...
 
boost::shared_ptr
< daf::base::PropertyList
popMetadata ()
 Return the metadata and set the internal metadata to a null pointer. More...
 
boost::shared_ptr< BaseTableclone () const
 Return a polymorphic deep copy of the table. More...
 
boost::shared_ptr< BaseRecordmakeRecord ()
 Default-construct an associated record. More...
 
boost::shared_ptr< BaseRecordcopyRecord (BaseRecord const &input)
 Deep-copy a record, requiring that it have the same schema as this table. More...
 
boost::shared_ptr< BaseRecordcopyRecord (BaseRecord const &input, SchemaMapper const &mapper)
 Deep-copy a record, using a mapper to relate two schemas. 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...
 
virtual ~BaseTable ()
 
- Public Member Functions inherited from lsst::daf::base::Citizen
 Citizen (const std::type_info &)
 
 Citizen (Citizen const &)
 
 ~Citizen ()
 
Citizenoperator= (Citizen const &)
 
std::string repr () const
 Return a string representation of a Citizen. More...
 
void markPersistent (void)
 Mark a Citizen as persistent and not destroyed until process end. More...
 
memId getId () const
 Return the Citizen's ID. More...
 

Static Public Member Functions

static boost::shared_ptr
< AmpInfoTable
make (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::string > getNameKey ()
 
static PointKey< int > getBBoxMinKey ()
 
static PointKey< int > getBBoxExtentKey ()
 
static Key< double > getGainKey ()
 
static Key< double > getReadNoiseKey ()
 
static Key< int > getSaturationKey ()
 
static Key< int > getReadoutCornerKey ()
 
static Key< Array< double > > getLinearityCoeffsKey ()
 
static Key< std::string > getLinearityTypeKey ()
 
static Key< Flag > getHasRawInfoKey ()
 
static PointKey< int > getRawBBoxMinKey ()
 
static PointKey< int > getRawBBoxExtentKey ()
 
static PointKey< int > getRawDataBBoxMinKey ()
 
static PointKey< int > getRawDataBBoxExtentKey ()
 
static Key< Flag > getRawFlipXKey ()
 
static Key< Flag > getRawFlipYKey ()
 
static PointKey< int > getRawXYOffsetKey ()
 
static PointKey< int > getRawHorizontalOverscanBBoxMinKey ()
 
static PointKey< int > getRawHorizontalOverscanBBoxExtentKey ()
 
static PointKey< int > getRawVerticalOverscanBBoxMinKey ()
 
static PointKey< int > getRawVerticalOverscanBBoxExtentKey ()
 
static PointKey< int > getRawPrescanBBoxMinKey ()
 
static PointKey< int > getRawPrescanBBoxExtentKey ()
 
- Static Public Member Functions inherited from lsst::afw::table::BaseTable
static boost::shared_ptr
< BaseTable
make (Schema const &schema)
 Construct a new table. More...
 
- Static Public Member Functions inherited from lsst::daf::base::Citizen
static bool hasBeenCorrupted ()
 Check all allocated blocks for corruption. More...
 
static memId getNextMemId ()
 Return the memId of the next object to be allocated. More...
 
static int init ()
 Called once when the memory system is being initialised. More...
 
static int census (int, memId startingMemId=0)
 How many active Citizens are there? More...
 
static void census (std::ostream &stream, memId startingMemId=0)
 Print a list of all active Citizens to stream, sorted by ID. More...
 
static const std::vector
< const Citizen * > * 
census ()
 Return a (newly allocated) std::vector of active Citizens sorted by ID. More...
 
static memId setNewCallbackId (memId id)
 Call the NewCallback when block is allocated. More...
 
static memId setDeleteCallbackId (memId id)
 Call the current DeleteCallback when block is deleted. More...
 
static memNewCallback setNewCallback (memNewCallback func)
 Set the NewCallback function. More...
 
static memCallback setDeleteCallback (memCallback func)
 Set the DeleteCallback function. More...
 
static memCallback setCorruptionCallback (memCallback func)
 Set the CorruptionCallback function. 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 Public Attributes inherited from lsst::afw::table::BaseTable
static int nRecordsPerBlock
 Number of records in each memory block. More...
 

Protected Member Functions

 AmpInfoTable (Schema const &schema)
 
 AmpInfoTable (AmpInfoTable const &other)
 
- Protected Member Functions inherited from lsst::afw::table::BaseTable
template<typename Derived >
boost::shared_ptr< Derived > getSelf ()
 Convenience function for static-casting shared_from_this for use by derived classes. More...
 
template<typename Derived >
boost::shared_ptr< Derived const > getSelf () const
 Convenience function for static-casting shared_from_this for use by derived classes. More...
 
virtual void handleAliasChange (std::string const &alias)
 
virtual boost::shared_ptr
< BaseTable
_clone () const =0
 Clone implementation with noncovariant return types. More...
 
virtual boost::shared_ptr
< BaseRecord
_makeRecord ()=0
 Default-construct an associated record (protected implementation). More...
 
 BaseTable (Schema const &schema)
 Construct from a schema. More...
 
 BaseTable (BaseTable const &other)
 Copy construct. More...
 

Private Member Functions

virtual boost::shared_ptr
< io::FitsWriter
makeFitsWriter (fits::Fits *fitsfile, int flags) const
 

Static Private Member Functions

static MinimalSchemagetMinimalSchema ()
 

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 155 of file AmpInfo.h.

Member Typedef Documentation

Definition at line 160 of file AmpInfo.h.

Definition at line 159 of file AmpInfo.h.

Definition at line 161 of file AmpInfo.h.

Definition at line 158 of file AmpInfo.h.

Constructor & Destructor Documentation

lsst::afw::table::AmpInfoTable::AmpInfoTable ( Schema const &  schema)
protected
lsst::afw::table::AmpInfoTable::AmpInfoTable ( AmpInfoTable const &  other)
protected

Member Function Documentation

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 192 of file AmpInfo.h.

192  {
193  return other.contains(getMinimalSchema().schema);
194  }
afw::table::Schema schema
Definition: GaussianPsf.cc:41
static MinimalSchema & getMinimalSchema()
boost::shared_ptr< AmpInfoTable > lsst::afw::table::AmpInfoTable::clone ( void  ) 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 228 of file AmpInfo.h.

228 { return boost::static_pointer_cast<AmpInfoTable>(_clone()); }
AmpInfoTable(Schema const &schema)
virtual boost::shared_ptr< BaseTable > _clone() const =0
Clone implementation with noncovariant return types.
boost::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 234 of file AmpInfo.h.

234  {
235  return boost::static_pointer_cast<AmpInfoRecord>(BaseTable::copyRecord(other));
236  }
boost::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
boost::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 239 of file AmpInfo.h.

239  {
240  return boost::static_pointer_cast<AmpInfoRecord>(BaseTable::copyRecord(other, mapper));
241  }
boost::shared_ptr< BaseRecord > copyRecord(BaseRecord const &input)
Deep-copy a record, requiring that it have the same schema as this table.
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 204 of file AmpInfo.h.

204 { return getMinimalSchema().bboxExtent; }
static MinimalSchema & getMinimalSchema()
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 203 of file AmpInfo.h.

203 { return getMinimalSchema().bboxMin; }
static MinimalSchema & getMinimalSchema()
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 205 of file AmpInfo.h.

205 { return getMinimalSchema().gain; }
static MinimalSchema & getMinimalSchema()
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 211 of file AmpInfo.h.

211 { return getMinimalSchema().hasRawInfo; }
static MinimalSchema & getMinimalSchema()
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 209 of file AmpInfo.h.

209 { return getMinimalSchema().linearityCoeffs; }
Key< Array< double > > linearityCoeffs
Definition: AmpInfo.h:261
static MinimalSchema & getMinimalSchema()
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 210 of file AmpInfo.h.

210 { return getMinimalSchema().linearityType; }
static MinimalSchema & getMinimalSchema()
static MinimalSchema& lsst::afw::table::AmpInfoTable::getMinimalSchema ( )
staticprivate
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 202 of file AmpInfo.h.

202 { return getMinimalSchema().name; }
static MinimalSchema & getMinimalSchema()
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 213 of file AmpInfo.h.

213 { return getMinimalSchema().rawBBoxExtent; }
static MinimalSchema & getMinimalSchema()
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 212 of file AmpInfo.h.

212 { return getMinimalSchema().rawBBoxMin; }
static MinimalSchema & getMinimalSchema()
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 215 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 214 of file AmpInfo.h.

214 { return getMinimalSchema().rawDataBBoxMin; }
static MinimalSchema & getMinimalSchema()
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 216 of file AmpInfo.h.

216 { return getMinimalSchema().rawFlipX; }
static MinimalSchema & getMinimalSchema()
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 217 of file AmpInfo.h.

217 { return getMinimalSchema().rawFlipY; }
static MinimalSchema & getMinimalSchema()
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 220 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 219 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 224 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 223 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 222 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 221 of file AmpInfo.h.

static MinimalSchema & getMinimalSchema()
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 218 of file AmpInfo.h.

218 { return getMinimalSchema().rawXYOffset; }
static MinimalSchema & getMinimalSchema()
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 206 of file AmpInfo.h.

206 { return getMinimalSchema().readNoise; }
static MinimalSchema & getMinimalSchema()
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 208 of file AmpInfo.h.

208 { return getMinimalSchema().readoutCorner; }
static MinimalSchema & getMinimalSchema()
static Key<int> 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 207 of file AmpInfo.h.

207 { return getMinimalSchema().saturation; }
static MinimalSchema & getMinimalSchema()
static boost::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.
virtual boost::shared_ptr< io::FitsWriter > lsst::afw::table::AmpInfoTable::makeFitsWriter ( fits::Fits fitsfile,
int  flags 
) const
privatevirtual

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

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 180 of file AmpInfo.h.

180  {
181  Schema r = getMinimalSchema().schema;
182  r.disconnectAliases();
183  return r;
184  }
void disconnectAliases()
Sever the connection between this schema and any others with which it shares aliases.
static MinimalSchema & getMinimalSchema()
boost::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 231 of file AmpInfo.h.

231 { return boost::static_pointer_cast<AmpInfoRecord>(_makeRecord()); }
virtual boost::shared_ptr< BaseRecord > _makeRecord()=0
Default-construct an associated record (protected implementation).

Friends And Related Function Documentation

friend class io::FitsWriter
friend

Definition at line 283 of file AmpInfo.h.

Member Data Documentation

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

Definition at line 163 of file AmpInfo.h.

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

Definition at line 164 of file AmpInfo.h.

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

Definition at line 162 of file AmpInfo.h.


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