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
include
lsst
meas
base
FlagHandler.h
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
#ifndef LSST_MEAS_BASE_FlagHandler_h_INCLUDED
25
#define LSST_MEAS_BASE_FlagHandler_h_INCLUDED
26
27
#include <vector>
28
29
#include "
lsst/afw/table/Schema.h
"
30
#include "
lsst/afw/table/BaseRecord.h
"
31
#include "
lsst/meas/base/exceptions.h
"
32
33
namespace
lsst {
namespace
meas {
namespace
base {
34
41
struct
FlagDefinition
{
42
char
const
*
name
;
43
char
const
*
doc
;
44
};
45
46
class
FlagHandler
{
47
public
:
48
49
enum
{
FAILURE
=0 };
50
51
FlagHandler
() {}
52
53
static
FlagHandler
addFields
(
54
afw::table::Schema
&
schema
,
55
std::string
const
& prefix,
56
FlagDefinition
const
* begin,
57
FlagDefinition
const
* end
58
);
59
60
FlagHandler
(
61
afw::table::SubSchema
const
& s,
62
FlagDefinition
const
* begin,
63
FlagDefinition
const
* end
64
);
65
66
FlagDefinition
getDefinition
(
int
i)
const
{
return
_vector
[i].first; }
67
68
bool
getValue
(
afw::table::BaseRecord
const
& record,
int
i)
const
{
69
return
record.
get
(
_vector
[i].second);
70
}
71
72
void
setValue
(
afw::table::BaseRecord
& record,
int
i,
bool
value)
const
{
73
record.
set
(
_vector
[i].second, value);
74
}
75
76
void
handleFailure
(
afw::table::BaseRecord
& record,
MeasurementError
const
*
error
=NULL)
const
;
77
78
private
:
79
80
typedef
std::vector< std::pair<FlagDefinition, afw::table::Key<afw::table::Flag> > >
Vector
;
81
82
Vector
_vector
;
83
};
84
85
}}}
// lsst::meas::base
86
87
#endif // !LSST_MEAS_BASE_FlagHandler_h_INCLUDED
lsst::afw::table::Schema
Defines the fields and offsets for a table.
Definition:
Schema.h:46
lsst::meas::base::FlagHandler::getValue
bool getValue(afw::table::BaseRecord const &record, int i) const
Definition:
FlagHandler.h:68
lsst::afw::table::SubSchema
A proxy type for name lookups in a Schema.
Definition:
Schema.h:330
BaseRecord.h
exceptions.h
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
lsst::meas::base::FlagHandler::FAILURE
Definition:
FlagHandler.h:49
lsst::meas::base::MeasurementError
Exception to be thrown when a measurement algorithm experiences a known failure mode.
Definition:
exceptions.h:48
Schema.h
lsst::meas::base::FlagDefinition::doc
char const * doc
Definition:
FlagHandler.h:43
lsst.log.log.error
def error
Definition:
log.py:108
lsst::meas::base::FlagHandler
Definition:
FlagHandler.h:46
lsst::meas::base::FlagHandler::getDefinition
FlagDefinition getDefinition(int i) const
Definition:
FlagHandler.h:66
lsst::meas::base::FlagHandler::_vector
Vector _vector
Definition:
FlagHandler.h:82
lsst::meas::base::FlagHandler::FlagHandler
FlagHandler()
Definition:
FlagHandler.h:51
lsst::meas::base::FlagHandler::setValue
void setValue(afw::table::BaseRecord &record, int i, bool value) const
Definition:
FlagHandler.h:72
lsst::meas::base::FlagDefinition::name
char const * name
Definition:
FlagHandler.h:42
lsst::afw::table::BaseRecord
Base class for all records.
Definition:
BaseRecord.h:27
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::afw::table::BaseRecord::get
Field< T >::Value get(Key< T > const &key) const
Return the value of a field for the given key.
Definition:
BaseRecord.h:123
lsst::meas::base::FlagHandler::handleFailure
void handleFailure(afw::table::BaseRecord &record, MeasurementError const *error=NULL) const
Definition:
FlagHandler.cc:59
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
lsst::meas::base::FlagHandler::Vector
std::vector< std::pair< FlagDefinition, afw::table::Key< afw::table::Flag > > > Vector
Definition:
FlagHandler.h:80
Generated on Thu Sep 24 2015 02:29:21 for LSSTApplications by
1.8.5