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
|
#include <Algorithm.h>
Public Member Functions | |
virtual void | fail (afw::table::SourceRecord &measRecord, MeasurementError *error=NULL) const =0 |
virtual | ~BaseAlgorithm () |
Ultimate abstract base class for all C++ measurement algorithms
New algorithms should not inherit directly from this class.
Definition at line 39 of file Algorithm.h.
|
inlinevirtual |
Definition at line 63 of file Algorithm.h.
|
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::ip::diffim::PsfDipoleFlux, lsst::ip::diffim::NaiveDipoleCentroid, lsst::ip::diffim::NaiveDipoleFlux, lsst::meas::base::ApertureFluxAlgorithm, lsst::meas::base::SdssShapeAlgorithm, lsst::meas::base::GaussianCentroidAlgorithm, lsst::meas::base::PixelFlagsAlgorithm, lsst::meas::base::PeakLikelihoodFluxAlgorithm, lsst::meas::base::PsfFluxAlgorithm, lsst::meas::base::SdssCentroidAlgorithm, lsst::meas::base::NaiveCentroidAlgorithm, and lsst::meas::base::GaussianFluxAlgorithm.