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::meas::base::BaseAlgorithm Class Referenceabstract

Ultimate abstract base class for all C++ measurement algorithms. More...

#include <Algorithm.h>

Inheritance diagram for lsst::meas::base::BaseAlgorithm:
lsst::meas::base::ForcedAlgorithm lsst::meas::base::SingleFrameAlgorithm lsst::meas::base::SimpleAlgorithm lsst::meas::base::SimpleAlgorithm lsst::ip::diffim::DipoleCentroidAlgorithm lsst::ip::diffim::DipoleFluxAlgorithm lsst::meas::base::ApertureFluxAlgorithm lsst::meas::base::BlendednessAlgorithm lsst::meas::base::GaussianFluxAlgorithm lsst::meas::base::LocalBackgroundAlgorithm lsst::meas::base::NaiveCentroidAlgorithm lsst::meas::base::PeakLikelihoodFluxAlgorithm lsst::meas::base::PixelFlagsAlgorithm lsst::meas::base::PsfFluxAlgorithm lsst::meas::base::ScaledApertureFluxAlgorithm lsst::meas::base::SdssCentroidAlgorithm lsst::meas::base::SdssShapeAlgorithm lsst::meas::extensions::photometryKron::KronFluxAlgorithm lsst::meas::extensions::simpleShape::SimpleShape lsst::meas::modelfit::DoubleShapeletPsfApproxAlgorithm lsst::ip::diffim::DipoleCentroidAlgorithm lsst::ip::diffim::DipoleFluxAlgorithm lsst::meas::base::ApertureFluxAlgorithm lsst::meas::base::BlendednessAlgorithm lsst::meas::base::GaussianFluxAlgorithm lsst::meas::base::LocalBackgroundAlgorithm lsst::meas::base::NaiveCentroidAlgorithm lsst::meas::base::PeakLikelihoodFluxAlgorithm lsst::meas::base::PixelFlagsAlgorithm lsst::meas::base::PsfFluxAlgorithm lsst::meas::base::ScaledApertureFluxAlgorithm lsst::meas::base::SdssCentroidAlgorithm lsst::meas::base::SdssShapeAlgorithm lsst::meas::extensions::photometryKron::KronFluxAlgorithm lsst::meas::extensions::simpleShape::SimpleShape lsst::meas::modelfit::DoubleShapeletPsfApproxAlgorithm

Public Member Functions

virtual void fail (afw::table::SourceRecord &measRecord, MeasurementError *error=nullptr) const =0
 Handle an exception thrown by the current algorithm by setting flags in the given record. More...
 
virtual ~BaseAlgorithm ()
 
std::string getLogName () const
 

Protected Attributes

std::string _logName
 

Detailed Description

Ultimate abstract base class for all C++ measurement algorithms.

New algorithms should not inherit directly from this class.

Definition at line 44 of file Algorithm.h.

Constructor & Destructor Documentation

◆ ~BaseAlgorithm()

virtual lsst::meas::base::BaseAlgorithm::~BaseAlgorithm ( )
inlinevirtual

Definition at line 64 of file Algorithm.h.

64 {}

Member Function Documentation

◆ fail()

virtual void lsst::meas::base::BaseAlgorithm::fail ( afw::table::SourceRecord measRecord,
MeasurementError error = nullptr 
) const
pure virtual

Handle an exception thrown by the current algorithm by setting flags in the given record.

fail() is called by the measurement framework when an exception is allowed to propagate out of one the algorithm's measure() methods. It should generally set both a general failure flag for the algorithm as well as a specific flag indicating the error condition, if possible. To aid in this, if the exception was an instance of MeasurementError, it will be passed in, carrying information about what flag to set.

An algorithm can also to chose to set flags within its own measure() methods, and then just return, rather than throw an exception. However, fail() should be implemented even when all known failure modes do not throw exceptions, to ensure that unexpected exceptions thrown in lower-level code are properly handled.

Implemented in lsst::meas::base::ScaledApertureFluxAlgorithm, lsst::meas::base::SdssShapeAlgorithm, lsst::meas::base::SdssCentroidAlgorithm, lsst::meas::base::PsfFluxAlgorithm, lsst::meas::base::PixelFlagsAlgorithm, lsst::meas::base::PeakLikelihoodFluxAlgorithm, lsst::meas::base::NaiveCentroidAlgorithm, lsst::meas::base::LocalBackgroundAlgorithm, lsst::meas::base::GaussianFluxAlgorithm, lsst::meas::base::BlendednessAlgorithm, lsst::meas::base::ApertureFluxAlgorithm, lsst::meas::extensions::photometryKron::KronFluxAlgorithm, lsst::ip::diffim::PsfDipoleFlux, lsst::ip::diffim::NaiveDipoleCentroid, lsst::ip::diffim::NaiveDipoleFlux, lsst::meas::modelfit::DoubleShapeletPsfApproxAlgorithm, and lsst::meas::extensions::simpleShape::SimpleShape.

◆ getLogName()

std::string lsst::meas::base::BaseAlgorithm::getLogName ( ) const
inline

Definition at line 66 of file Algorithm.h.

66 { return _logName; }

Member Data Documentation

◆ _logName

std::string lsst::meas::base::BaseAlgorithm::_logName
protected

Definition at line 69 of file Algorithm.h.


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