Loading [MathJax]/extensions/tex2jax.js
LSSTApplications
20.0.0
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
i
k
m
p
r
s
t
v
w
Enumerations
Enumerator
e
f
h
i
l
m
n
o
p
r
s
t
v
x
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
i
k
l
m
p
s
t
v
w
Enumerator
a
b
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
u
v
w
x
y
Properties
Related Functions
a
b
c
d
e
f
i
k
m
o
p
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
d
l
p
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
Macros
_
a
b
c
d
f
i
k
l
m
n
p
r
s
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
stack
1a1d771
Linux64
afw
20.0.0
include
lsst
afw
table
detail
Access.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
#ifndef AFW_TABLE_DETAIL_Access_h_INCLUDED
3
#define AFW_TABLE_DETAIL_Access_h_INCLUDED
4
5
#include <cstring>
6
7
#include "ndarray/Manager.h"
8
#include "
lsst/afw/table/FieldBase.h
"
9
#include "
lsst/afw/table/Schema.h
"
10
#include "
lsst/afw/table/detail/SchemaImpl.h
"
11
12
namespace
lsst
{
13
namespace
afw
{
14
namespace
table {
15
16
class
BaseRecord;
17
class
BaseTable;
18
19
namespace
detail {
20
31
class
Access
final {
32
public
:
34
template
<
typename
T>
35
static
Key<typename Key<T>::Element
>
extractElement
(
KeyBase<T>
const
&kb,
int
n) {
36
if
(!
static_cast<
Key<T>
const
&
>
(kb).
isValid
()) {
37
throw
LSST_EXCEPT
(
38
pex::exceptions::LogicError
,
39
(
boost::format
(
40
"Cannot extract subfield key from invalid key of type '%s' "
41
"(most often this is caused by failing to setup centroid or shape slots)"
) %
42
Key<T>::getTypeString
())
43
.str());
44
}
45
return
Key<typename Key<T>::Element
>(
static_cast<
Key<T>
const
&
>
(kb).getOffset() +
46
n *
sizeof
(
typename
Key<T>::Element
));
47
}
48
50
template
<
typename
T>
51
static
Key<Array<T>
>
extractRange
(
KeyBase
<
Array<T>
>
const
&kb,
int
begin,
int
end
) {
52
if
(!
static_cast<
Key<Array<T>
>
const
&>(kb).
isValid
()) {
53
throw
LSST_EXCEPT
(
pex::exceptions::LogicError
,
54
(
boost::format
(
"Cannot extract subfield key from invalid key of type '%s' "
) %
55
Key<T>::getTypeString
())
56
.str());
57
}
58
return
Key<Array<T>
>(
static_cast<
Key<Array<T>
>
const
&>(kb).getOffset() +
59
begin *
sizeof
(
typename
Key<T>::Element
),
60
end
- begin);
61
}
62
64
template
<
typename
T>
65
static
Key<T>
makeKey
(
int
offset) {
66
return
Key<T>
(offset);
67
}
68
70
template
<
typename
T>
71
static
Key<T>
makeKey
(
Field<T>
const
&
field
,
int
offset) {
72
return
Key<T>
(offset,
field
);
73
}
74
76
static
Key<Flag>
makeKey
(
int
offset,
int
bit) {
return
Key<Flag>
(offset, bit); }
77
79
static
Key<std::string>
makeKeyString
(
int
offset,
int
size) {
return
Key<std::string>
(offset, size); }
80
82
template
<
typename
T>
83
static
Key<Array<T>
>
makeKeyArray
(
int
offset,
int
size) {
84
return
Key<Array<T>
>(offset, size);
85
}
86
88
static
void
padSchema
(
Schema
&
schema
,
int
bytes
) {
89
schema
._edit();
90
schema
._impl->_recordSize +=
bytes
;
91
}
92
};
93
}
// namespace detail
94
}
// namespace table
95
}
// namespace afw
96
}
// namespace lsst
97
98
#endif // !AFW_TABLE_DETAIL_Access_h_INCLUDED
schema
table::Schema schema
Definition:
Amplifier.cc:115
lsst::afw::table::detail::Access::makeKeyArray
static Key< Array< T > > makeKeyArray(int offset, int size)
Definition:
Access.h:83
lsst::afw::table::detail::Access::makeKey
static Key< T > makeKey(int offset)
Definition:
Access.h:65
lsst::afw::table::detail::Access::makeKeyString
static Key< std::string > makeKeyString(int offset, int size)
Definition:
Access.h:79
pex.config.history.format
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition:
history.py:174
lsst::afw::table::KeyBase
A base class for Key that allows subfield keys to be extracted for some field types.
Definition:
KeyBase.h:20
lsst::afw
Definition:
imageAlgorithm.dox:1
lsst::afw::table::Schema
Defines the fields and offsets for a table.
Definition:
Schema.h:50
end
int end
Definition:
BoundedField.cc:105
lsst::afw::table::detail::Access::extractRange
static Key< Array< T > > extractRange(KeyBase< Array< T > > const &kb, int begin, int end)
Definition:
Access.h:51
lsst::afw::table::detail::Access::padSchema
static void padSchema(Schema &schema, int bytes)
Definition:
Access.h:88
lsst::afw::table::detail::Access::makeKey
static Key< Flag > makeKey(int offset, int bit)
Definition:
Access.h:76
field
table::Key< int > field
Definition:
ApCorrMap.cc:77
lsst::pex::exceptions::LogicError
Reports errors in the logical structure of the program.
Definition:
Runtime.h:46
lsst::afw::table::detail::Access::makeKey
static Key< T > makeKey(Field< T > const &field, int offset)
Definition:
Access.h:71
lsst::afw::table::Key
A class used as a handle to a particular field in a table.
Definition:
fwd.h:45
lsst::afw::table::Array
Tag types used to declare specialized field types.
Definition:
misc.h:32
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
LSST_EXCEPT
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition:
Exception.h:48
lsst::afw::table::detail::Access::extractElement
static Key< typename Key< T >::Element > extractElement(KeyBase< T > const &kb, int n)
Definition:
Access.h:35
bytes
table::Key< table::Array< std::uint8_t > > bytes
Definition:
Transform.cc:199
lsst::afw::table::Field
A description of a field in a table.
Definition:
Field.h:24
lsst::afw::table::detail::Access
Definition:
Access.h:31
SchemaImpl.h
isValid
bool isValid
Definition:
fits.cc:399
Schema.h
FieldBase.h
lsst::afw::table::Key< Flag >
Key specialization for Flag.
Definition:
Flag.h:94
Generated on Wed Jun 24 2020 18:10:01 for LSSTApplications by
1.8.18