lsst.meas.base
20.0.0-2-gdaeb0e8+e2e179d1a0
|
Go to the documentation of this file.
23 #ifndef LSST_MEAS_BASE_FlagHandler_h_INCLUDED
24 #define LSST_MEAS_BASE_FlagHandler_h_INCLUDED
89 if (_vector[i].
name ==
name)
return _vector[i];
102 if (_vector[i].
name ==
name)
return true;
118 _vector.push_back(flagDef);
119 return _vector.back();
223 for (
unsigned int i = 0; i < _vector.
size(); i++) {
224 if (_vector[i].
first == flagName && _vector[i].
second.isValid()) {
234 if (i < _vector.
size() && _vector[i].second.isValid()) {
235 return _vector[i].first;
243 if (i < _vector.
size() && _vector[i].second.isValid()) {
253 if (_vector[i].
first == flagName && _vector[i].
second.isValid()) {
263 if (i < _vector.
size() && _vector[i].second.isValid()) {
274 if (_vector[i].
first == flagName && _vector[i].
second.isValid()) {
308 #endif // !LSST_MEAS_BASE_FlagHandler_h_INCLUDED
bool operator!=(FlagDefinition const &other) const
FlagDefinition addFailureFlag(std::string const &doc="General Failure Flag")
Add a Flag Defintion to act as a "General" failure flag This flag will be set if a Measurement error ...
std::string getFlagName(std::size_t i) const
Return the value of the flag name corresponding to the given flag index.
void handleFailure(afw::table::BaseRecord &record, MeasurementError const *error=nullptr) const
Handle an expected or unexpected Exception thrown by a measurement algorithm.
Field< T >::Value get(Key< T > const &key) const
FlagHandler()
Each error should have a corresponding static FlagDefinition object.
bool getValue(afw::table::BaseRecord const &record, std::size_t i) const
Return the value of the flag field corresponding to the given flag index.
FlagDefinition operator[](std::size_t index) const
get a reference to the FlagDefinition with specified array index
Exception to be thrown when a measurement algorithm experiences a known failure mode.
bool hasDefinition(std::string const &name) const
See if there is a FlagDefinition with specified name.
Exception to be thrown when a measurement algorithm experiences a fatal error.
static FlagDefinitionList const & getEmptyList()
daf::base::PropertyList * list
FlagDefinition add(std::string const &name, std::string const &doc)
Add a new FlagDefinition to this list.
vector-type utility class to build a collection of FlagDefinitions
void setValue(afw::table::BaseRecord &record, std::size_t i, bool value) const
Set the flag field corresponding to the given flag index.
static std::string const & getFailureFlagName()
Define the universal name of the general failure flag.
static constexpr std::size_t number_undefined
FlagDefinitionList(std::initializer_list< FlagDefinition > const &list)
initialize a FlagDefinition list from initializer_list.
Utility class for handling flag fields that indicate the failure modes of an algorithm.
ItemVariant const * other
bool operator==(FlagDefinition const &other) const
std::size_t size() const
return the current size (number of defined elements) of the collection
Simple class used to define and document flags The name and doc constitute the identity of the FlagDe...
bool getValue(afw::table::BaseRecord const &record, std::string const &flagName) const
Return the value of the flag field with the given flag name.
FlagDefinition getDefinition(std::string const &name) const
get a reference to the FlagDefinition with specified name.
FlagDefinitionList()
initialize a FlagDefinition list with no entries.
std::size_t getFailureFlagNumber() const
Get the index of the General Failure flag, if one is defined.
void set(Key< T > const &key, U const &value)
FlagDefinition getDefinition(std::size_t index) const
get a reference to the FlagDefinition with specified index.
void setValue(afw::table::BaseRecord &record, std::string const &flagName, bool value) const
Set the flag field corresponding to the given flag name.
static FlagHandler addFields(afw::table::Schema &schema, std::string const &prefix, FlagDefinitionList const &flagDefs, FlagDefinitionList const &exclDefs=FlagDefinitionList::getEmptyList())
Add Flag fields to a schema, creating a FlagHandler object to manage them.
unsigned int getFlagNumber(std::string const &flagName) const
Return the index of a flag with the given flag name.
FlagDefinition(std::string const &name, std::string const &doc, std::size_t number=number_undefined)
std::size_t failureFlagNumber