Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IColumnarTool.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_I_COLUMNAR_TOOL_H
9 #define COLUMNAR_INTERFACES_I_COLUMNAR_TOOL_H
10 
11 #include <string>
12 #include <vector>
13 
14 namespace columnar
15 {
20  using ColumnarOffsetType = std::size_t;
21 
25  inline constexpr ColumnarOffsetType invalidObjectIndex = static_cast<ColumnarOffsetType>(-1);
26 
27 
38  inline const std::string numberOfEventsName = "EventInfo";
39 
40 
41  struct ColumnInfo;
42 
43 
212 
214  {
215  public:
216  virtual ~IColumnarTool() = default;
217 
218 
229  virtual void callVoid (void** data) const = 0;
230 
231 
237  [[nodiscard]] virtual std::vector<ColumnInfo> getColumnInfo () const = 0;
238 
239 
253  virtual void renameColumn (const std::string& from, const std::string& to) = 0;
254 
255 
279  virtual void setColumnIndex (const std::string& name, std::size_t index) = 0;
280  };
281 }
282 
283 #endif
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
columnar::IColumnarTool::callVoid
virtual void callVoid(void **data) const =0
run the tool on the data vector
columnar::IColumnarTool::setColumnIndex
virtual void setColumnIndex(const std::string &name, std::size_t index)=0
set the index for the column
columnar::IColumnarTool
an interface for tools that operate on columnar data
Definition: IColumnarTool.h:214
columnar::numberOfEventsName
const std::string numberOfEventsName
the name used for the column containing the number of events
Definition: IColumnarTool.h:38
index
Definition: index.py:1
columnar::IColumnarTool::~IColumnarTool
virtual ~IColumnarTool()=default
columnar::ColumnInfo
a struct that contains meta-information about each column that's needed to interface the column with ...
Definition: ColumnInfo.h:35
columnar::IColumnarTool::getColumnInfo
virtual std::vector< ColumnInfo > getColumnInfo() const =0
the meta-information for the columns
columnar::IColumnarTool::renameColumn
virtual void renameColumn(const std::string &from, const std::string &to)=0
rename one of the columns the tool uses
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
columnar::invalidObjectIndex
constexpr ColumnarOffsetType invalidObjectIndex
the value for an invalid element index
Definition: IColumnarTool.h:25
CxxUtils::to
CONT to(RANGE &&r)
Definition: ranges.h:39
columnar
Definition: ClusterDef.h:16
columnar::ColumnarOffsetType
std::size_t ColumnarOffsetType
the type used for the size and offsets in the columnar data
Definition: IColumnarTool.h:20