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
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
meas_base
11.0+1
src
FlagHandler.cc
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2014 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#include "
lsst/meas/base/FlagHandler.h
"
25
26
namespace
lsst {
namespace
meas {
namespace
base {
27
28
FlagHandler
FlagHandler::addFields
(
29
afw::table::Schema
&
schema
,
30
std::string
const
& prefix,
31
FlagDefinition
const
* begin,
32
FlagDefinition
const
* end
33
) {
34
FlagHandler
r;
35
r.
_vector
.reserve(end - begin);
36
for
(
FlagDefinition
const
*
iter
= begin;
iter
!= end; ++
iter
) {
37
r.
_vector
.push_back(
38
std::make_pair(
39
*
iter
,
40
schema.
addField
<afw::table::Flag>(schema.
join
(prefix,
iter
->name),
iter
->doc)
41
)
42
);
43
}
44
return
r;
45
}
46
47
FlagHandler::FlagHandler
(
48
afw::table::SubSchema
const
& s,
49
FlagDefinition
const
* begin,
50
FlagDefinition
const
* end
51
) {
52
_vector
.reserve(end - begin);
53
for
(
FlagDefinition
const
*
iter
= begin;
iter
!= end; ++
iter
) {
54
afw::table::Key<afw::table::Flag>
key = s[
iter
->name];
55
_vector
.push_back(std::make_pair(*
iter
, key));
56
}
57
}
58
59
void
FlagHandler::handleFailure
(
afw::table::BaseRecord
& record,
MeasurementError
const
*
error
)
const
{
60
record.
set
(
_vector
[0].second,
true
);
61
if
(error) {
62
record.
set
(
_vector
[error->
getFlagBit
()].second,
true
);
63
}
64
}
65
66
}}}
// lsst::meas::base
iter
int iter
Definition:
GaussianCentroid.cc:73
lsst::afw::table::Schema
Defines the fields and offsets for a table.
Definition:
Schema.h:46
lsst::afw::table::SubSchema
A proxy type for name lookups in a Schema.
Definition:
Schema.h:330
schema
afw::table::Schema schema
Definition:
GaussianPsf.cc:41
lsst::meas::base::FlagDefinition
Simple POD struct used to define and document flags.
Definition:
FlagHandler.h:41
FlagHandler.h
lsst::afw::table::Schema::addField
Key< T > addField(Field< T > const &field, bool doReplace=false)
Add a new field to the Schema, and return the associated Key.
lsst::meas::base::MeasurementError
Exception to be thrown when a measurement algorithm experiences a known failure mode.
Definition:
exceptions.h:48
lsst.log.log.error
def error
Definition:
log.py:108
lsst::meas::base::FlagHandler
Definition:
FlagHandler.h:46
lsst::meas::base::FlagHandler::_vector
Vector _vector
Definition:
FlagHandler.h:82
lsst::meas::base::FlagHandler::FlagHandler
FlagHandler()
Definition:
FlagHandler.h:51
lsst::afw::table::BaseRecord
Base class for all records.
Definition:
BaseRecord.h:27
lsst::afw::table::Key< afw::table::Flag >
lsst::afw::table::Schema::join
std::string join(std::string const &a, std::string const &b) const
Join strings using the field delimiter appropriate for this Schema.
lsst::afw::table::BaseRecord::set
void set(Key< T > const &key, U const &value)
Set value of a field for the given key.
Definition:
BaseRecord.h:136
lsst::meas::base::FlagHandler::handleFailure
void handleFailure(afw::table::BaseRecord &record, MeasurementError const *error=NULL) const
Definition:
FlagHandler.cc:59
lsst::meas::base::MeasurementError::getFlagBit
std::size_t getFlagBit() const
Return the flag bit associated with the error.
Definition:
exceptions.h:64
lsst::meas::base::FlagHandler::addFields
static FlagHandler addFields(afw::table::Schema &schema, std::string const &prefix, FlagDefinition const *begin, FlagDefinition const *end)
Definition:
FlagHandler.cc:28
Generated on Thu Sep 24 2015 02:29:22 for LSSTApplications by
1.8.5