ATLAS Offline Software
Loading...
Searching...
No Matches
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 <string>
12#include <typeinfo>
13#include <vector>
14
15namespace columnar
16{
19 {
22
25
28 };
29
30
33
34 struct ColumnInfo final
35 {
42 std::string name {};
43
44
46 unsigned index = 0u;
47
48
54 const std::type_info *type = nullptr;
55
56
59
60
74 std::string offsetName {};
75
76
82 std::vector<unsigned> fixedDimensions {};
83
84
92 bool isOffset = false;
93
94
102 std::string replacesColumn {};
103
104
121 bool isOptional = false;
122
123
154 std::vector<std::string> linkTargetNames {};
155
156
169 std::string variantLinkKeyColumn {};
170
171
178 bool addMTDependency = false;
179 };
180}
181
182#endif
ColumnAccessMode
an enum for the different access modes for a column
Definition ColumnInfo.h:19
@ update
an updateable column
Definition ColumnInfo.h:27
@ output
an output column
Definition ColumnInfo.h:24
@ input
an input column
Definition ColumnInfo.h:21
Definition index.py:1
a struct that contains meta-information about each column that's needed to interface the column with ...
Definition ColumnInfo.h:35
bool addMTDependency
whether to add data dependencies in AthenaMT
Definition ColumnInfo.h:178
std::string offsetName
the name of the offset column used for this column (or empty string for none)
Definition ColumnInfo.h:74
std::vector< unsigned > fixedDimensions
the fixed dimensions this column has (if any)
Definition ColumnInfo.h:82
bool isOptional
whether this column is optional
Definition ColumnInfo.h:121
std::string variantLinkKeyColumn
if this is a variant link column, this is the name of the column with the container keys
Definition ColumnInfo.h:169
std::string name
the name of the column
Definition ColumnInfo.h:42
std::vector< std::string > linkTargetNames
for link columns: the name(s) of the container(s) we link to
Definition ColumnInfo.h:154
bool isOffset
whether this is an offset column
Definition ColumnInfo.h:92
ColumnAccessMode accessMode
the access mode for the column
Definition ColumnInfo.h:58
std::string replacesColumn
whether this replaces another column
Definition ColumnInfo.h:102
const std::type_info * type
the type of the individual entries in the column
Definition ColumnInfo.h:54