LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lsst::meas::base::PsfFluxTransform Class Reference

#include <PsfFlux.h>

Inheritance diagram for lsst::meas::base::PsfFluxTransform:
lsst::meas::base::FluxTransform lsst::meas::base::BaseTransform

Public Types

typedef PsfFluxControl Control
 

Public Member Functions

 PsfFluxTransform (Control const &ctrl, std::string const &name, afw::table::SchemaMapper &mapper)
 
virtual void operator() (afw::table::SourceCatalog const &inputCatalog, afw::table::BaseCatalog &outputCatalog, afw::geom::SkyWcs const &wcs, afw::image::PhotoCalib const &photoCalib) const
 

Protected Member Functions

void checkCatalogSize (afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
 Ensure that catalogs have the same size. More...
 

Protected Attributes

std::string _name
 

Detailed Description

Definition at line 97 of file PsfFlux.h.

Member Typedef Documentation

◆ Control

Definition at line 99 of file PsfFlux.h.

Constructor & Destructor Documentation

◆ PsfFluxTransform()

lsst::meas::base::PsfFluxTransform::PsfFluxTransform ( Control const &  ctrl,
std::string const &  name,
afw::table::SchemaMapper mapper 
)

Definition at line 123 of file PsfFlux.cc.

126  for (std::size_t i = 0; i < PsfFluxAlgorithm::getFlagDefinitions().size(); i++) {
127  FlagDefinition const& flag = PsfFluxAlgorithm::getFlagDefinitions()[i];
128  if (flag == PsfFluxAlgorithm::FAILURE) continue;
129  if (mapper.getInputSchema().getNames().count(mapper.getInputSchema().join(name, flag.name)) == 0)
130  continue;
131  afw::table::Key<afw::table::Flag> key =
132  mapper.getInputSchema().find<afw::table::Flag>(name + "_" + flag.name).key;
133  mapper.addMapping(key);
134  }
135 }
std::size_t size() const
return the current size (number of defined elements) of the collection
Definition: FlagHandler.h:125
static FlagDefinitionList const & getFlagDefinitions()
Definition: PsfFlux.cc:49
static FlagDefinition const FAILURE
Definition: PsfFlux.h:73
FluxTransform(std::string const &name, afw::table::SchemaMapper &mapper)
Key< U > key
Definition: Schema.cc:281
SchemaMapper * mapper
Definition: SchemaMapper.cc:78

Member Function Documentation

◆ checkCatalogSize()

void lsst::meas::base::BaseTransform::checkCatalogSize ( afw::table::BaseCatalog const &  cat1,
afw::table::BaseCatalog const &  cat2 
) const
inlineprotectedinherited

Ensure that catalogs have the same size.

Parameters
[in]cat1Catalog for comparison
[in]cat2Catalog for comparison
Exceptions
LengthErrorCatalog sizes do not match

Definition at line 102 of file Transform.h.

102  {
103  if (cat1.size() != cat2.size()) {
104  throw LSST_EXCEPT(pex::exceptions::LengthError, "Catalog size mismatch");
105  }
106  }
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48

◆ operator()()

void lsst::meas::base::FluxTransform::operator() ( afw::table::SourceCatalog const &  inputCatalog,
afw::table::BaseCatalog outputCatalog,
afw::geom::SkyWcs const &  wcs,
afw::image::PhotoCalib const &  photoCalib 
) const
virtualinherited

Implements lsst::meas::base::BaseTransform.

Definition at line 88 of file FluxUtilities.cc.

90  {
91  checkCatalogSize(inputCatalog, outputCatalog);
92  FluxResultKey instFluxKey(inputCatalog.getSchema()[_name]);
93  afw::table::SourceCatalog::const_iterator inSrc = inputCatalog.begin();
94  afw::table::BaseCatalog::iterator outSrc = outputCatalog.begin();
95  {
96  for (; inSrc != inputCatalog.end() && outSrc != outputCatalog.end(); ++inSrc, ++outSrc) {
97  FluxResult instFluxResult = instFluxKey.get(*inSrc);
98  _magKey.set(*outSrc,
99  photoCalib.instFluxToMagnitude(instFluxResult.instFlux, instFluxResult.instFluxErr));
100  }
101  }
102 }
virtual void set(afw::table::BaseRecord &record, MagResult const &magResult) const
Set a MagResult in the given record.
void checkCatalogSize(afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
Ensure that catalogs have the same size.
Definition: Transform.h:102
CatalogIterator< typename Internal::iterator > iterator
Definition: Catalog.h:110

Member Data Documentation

◆ _name

std::string lsst::meas::base::BaseTransform::_name
protectedinherited

Definition at line 107 of file Transform.h.


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