ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Columnar
ColumnarInterfaces
ColumnarInterfaces
ColumnInfo.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
8
#ifndef COLUMNAR_INTERFACES_COLUMN_INFO_H
9
#define COLUMNAR_INTERFACES_COLUMN_INFO_H
10
11
#include <cstdint>
12
#include <string>
13
#include <typeinfo>
14
#include <vector>
15
16
namespace
columnar
17
{
19
enum class
ColumnAccessMode
20
{
22
input
,
23
25
output
,
26
28
update
29
};
30
31
34
35
struct
ColumnInfo
final
36
{
43
std::string
name
{};
44
45
47
unsigned
index
= 0u;
48
49
55
const
std::type_info *
type
=
nullptr
;
56
57
59
ColumnAccessMode
accessMode
=
ColumnAccessMode::input
;
60
61
75
std::string
offsetName
{};
76
77
83
std::vector<unsigned>
fixedDimensions
{};
84
85
93
bool
isOffset
=
false
;
94
95
103
std::string
replacesColumn
{};
104
105
122
bool
isOptional
=
false
;
123
124
132
std::string
soleLinkTargetName
{};
133
134
146
std::uint32_t
soleLinkTargetClid
= 0;
147
148
154
bool
isVariantLink
=
false
;
155
156
177
std::vector<std::string>
variantLinkTargetNames
{};
178
179
192
std::string
keyColumnForVariantLink
{};
193
};
194
}
195
196
#endif
columnar
Definition
ClusterDef.h:16
columnar::ColumnAccessMode
ColumnAccessMode
an enum for the different access modes for a column
Definition
ColumnInfo.h:20
columnar::ColumnAccessMode::update
@ update
an updateable column
Definition
ColumnInfo.h:28
columnar::ColumnAccessMode::output
@ output
an output column
Definition
ColumnInfo.h:25
columnar::ColumnAccessMode::input
@ input
an input column
Definition
ColumnInfo.h:22
index
Definition
index.py:1
columnar::ColumnInfo
a struct that contains meta-information about each column that's needed to interface the column with ...
Definition
ColumnInfo.h:36
columnar::ColumnInfo::offsetName
std::string offsetName
the name of the offset column used for this column (or empty string for none)
Definition
ColumnInfo.h:75
columnar::ColumnInfo::soleLinkTargetName
std::string soleLinkTargetName
for simple link columns: the name of the target container
Definition
ColumnInfo.h:132
columnar::ColumnInfo::keyColumnForVariantLink
std::string keyColumnForVariantLink
if this is a key column for a variant link, the name of the associated link column
Definition
ColumnInfo.h:192
columnar::ColumnInfo::soleLinkTargetClid
std::uint32_t soleLinkTargetClid
for simple link columns: the CLID of the target container
Definition
ColumnInfo.h:146
columnar::ColumnInfo::fixedDimensions
std::vector< unsigned > fixedDimensions
the fixed dimensions this column has (if any)
Definition
ColumnInfo.h:83
columnar::ColumnInfo::isOptional
bool isOptional
whether this column is optional
Definition
ColumnInfo.h:122
columnar::ColumnInfo::variantLinkTargetNames
std::vector< std::string > variantLinkTargetNames
for variant link key columns: the names of the containers we can link to
Definition
ColumnInfo.h:177
columnar::ColumnInfo::name
std::string name
the name of the column
Definition
ColumnInfo.h:43
columnar::ColumnInfo::isOffset
bool isOffset
whether this is an offset column
Definition
ColumnInfo.h:93
columnar::ColumnInfo::accessMode
ColumnAccessMode accessMode
the access mode for the column
Definition
ColumnInfo.h:59
columnar::ColumnInfo::replacesColumn
std::string replacesColumn
whether this replaces another column
Definition
ColumnInfo.h:103
columnar::ColumnInfo::isVariantLink
bool isVariantLink
whether this is a variant link column
Definition
ColumnInfo.h:154
columnar::ColumnInfo::type
const std::type_info * type
the type of the individual entries in the column
Definition
ColumnInfo.h:55
Generated on
for ATLAS Offline Software by
1.17.0