LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Protected Attributes | List of all members
lsst::afw::table::SlotDefinition Class Reference

Base class for helper classes that define slots on SourceTable/SourceRecord. More...

#include <slots.h>

Inheritance diagram for lsst::afw::table::SlotDefinition:
lsst::afw::table::CentroidSlotDefinition lsst::afw::table::FluxSlotDefinition lsst::afw::table::ShapeSlotDefinition

Public Member Functions

 SlotDefinition (std::string const &name)
 Construct a SlotDefinition from the name of the slot (e.g. "Centroid" or "PsfFlux") More...
 
std::string getName () const
 Return the name of the slot (e.g. "Centroid" or "PsfFlux") More...
 
std::string getAlias () const
 Return the alias field prefix used to lookup Keys for the slot. More...
 
 SlotDefinition (SlotDefinition const &)=default
 
 SlotDefinition (SlotDefinition &&)=default
 
SlotDefinitionoperator= (SlotDefinition const &)=default
 
SlotDefinitionoperator= (SlotDefinition &&)=default
 
 ~SlotDefinition ()=default
 

Protected Attributes

std::string _name
 

Detailed Description

Base class for helper classes that define slots on SourceTable/SourceRecord.

Each type of slot corresponds to a subclass of SlotDefinition, and each actual slot corresponds to a particular field name prefix. For instance, to look up the centroid slot, we look for fields named "slot_Centroid_x" and "slot_Centroid_y". Instead of actually naming a particular field that, however, we use Schema's alias mechanism (see AliasMap) to make these field name lookups resolve to the name of other fields. The actual definition of the slots is thus managed by the Schema's AliasMap, though a SourceTable object will cache Keys for the various slots to make sure accessing slot values is efficient (more precisely, when you set an alias related to a slot on an AliasMap, any table it corresponds to will receive a notification that it should update its Keys). These cached Keys are actually stored within the SlotDefinition (as data members of derived classes).

Note that the uncertainty and failure flag components of slots are not required; a slot may have only a measurement defined, or a measurement and either one of these (but not both). A slot may not have only an uncertainty and/or a a failure flag, however.

A SlotDefinition instance is not just an internal object used by SourceTable; it can also be used to inspect the slots via SourceTable::getXxxSlot(), which is now the preferred way to access the Keys that slots correspond to. SlotDefinition objects should only be constructed by SourceTable, however.

Definition at line 47 of file slots.h.

Constructor & Destructor Documentation

◆ SlotDefinition() [1/3]

lsst::afw::table::SlotDefinition::SlotDefinition ( std::string const &  name)
inlineexplicit

Construct a SlotDefinition from the name of the slot (e.g. "Centroid" or "PsfFlux")

Definition at line 50 of file slots.h.

50 : _name(name) {}
table::Key< std::string > name
Definition: Amplifier.cc:116

◆ SlotDefinition() [2/3]

lsst::afw::table::SlotDefinition::SlotDefinition ( SlotDefinition const &  )
default

◆ SlotDefinition() [3/3]

lsst::afw::table::SlotDefinition::SlotDefinition ( SlotDefinition &&  )
default

◆ ~SlotDefinition()

lsst::afw::table::SlotDefinition::~SlotDefinition ( )
default

Member Function Documentation

◆ getAlias()

std::string lsst::afw::table::SlotDefinition::getAlias ( ) const
inline

Return the alias field prefix used to lookup Keys for the slot.

This simply prepends "slot_" to the slot name.

Definition at line 60 of file slots.h.

60 { return "slot_" + _name; }

◆ getName()

std::string lsst::afw::table::SlotDefinition::getName ( ) const
inline

Return the name of the slot (e.g. "Centroid" or "PsfFlux")

Definition at line 53 of file slots.h.

53 { return _name; }

◆ operator=() [1/2]

SlotDefinition& lsst::afw::table::SlotDefinition::operator= ( SlotDefinition &&  )
default

◆ operator=() [2/2]

SlotDefinition& lsst::afw::table::SlotDefinition::operator= ( SlotDefinition const &  )
default

Member Data Documentation

◆ _name

std::string lsst::afw::table::SlotDefinition::_name
protected

Definition at line 69 of file slots.h.


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