Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ColumnarToolDataArray.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_CORE_COLUMNAR_TOOL_DATA_ARRAY_H
9 #define COLUMNAR_CORE_COLUMNAR_TOOL_DATA_ARRAY_H
10 
13 
14 namespace columnar
15 {
17  {
19  ColumnDataArray () noexcept = default;
20 
23 
24  ColumnDataArray operator= (ColumnDataArray&& other) noexcept = delete;
25 
27  ~ColumnDataArray () noexcept;
28 
30  bool empty () const noexcept;
31 
33  const ColumnInfo& info () const noexcept;
34 
36  void addAccessor (const std::string& name, const ColumnInfo& val_info, ColumnAccessorDataArray* val_accessorData);
37 
39  void removeAccessor (ColumnAccessorDataArray& val_accessorData);
40 
42  void mergeData (const std::string& name, ColumnDataArray&& other);
43 
45  void updateColumnRef (const std::string& from, const std::string& to);
46 
48  void setIndex (unsigned val_index) noexcept;
49 
50  private:
51 
54 
57  };
58 
59 
60 
62  {
64  ColumnarTool<ColumnarModeArray>* mainTool = nullptr;
65 
67  std::vector<ColumnarTool<ColumnarModeArray>*> sharedTools;
68 
70  std::unordered_map<ContainerId,std::string> containerNames;
71 
73  std::unordered_map<std::string,ColumnDataArray> columns;
74  };
75 }
76 
77 #endif
columnar::ColumnDataArray::removeAccessor
void removeAccessor(ColumnAccessorDataArray &val_accessorData)
remove an accessor data object
Definition: ColumnarToolArray.cxx:287
columnar::ColumnDataArray
Definition: ColumnarToolDataArray.h:17
columnar::ColumnDataArray::info
const ColumnInfo & info() const noexcept
get the column info
Definition: ColumnarToolArray.cxx:245
columnar::ColumnDataArray::empty
bool empty() const noexcept
whether this column has no associated accessors
Definition: ColumnarToolArray.cxx:237
columnar::ColumnDataArray::ColumnDataArray
ColumnDataArray() noexcept=default
standard constructor
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
columnar::ColumnDataArray::mergeData
void mergeData(const std::string &name, ColumnDataArray &&other)
merge the data from another column
Definition: ColumnarToolArray.cxx:299
columnar::ColumnarToolDataArray
Definition: ColumnarToolDataArray.h:62
columnar::ColumnDataArray::setIndex
void setIndex(unsigned val_index) noexcept
set the index for this column
Definition: ColumnarToolArray.cxx:328
columnar::ColumnDataArray::addAccessor
void addAccessor(const std::string &name, const ColumnInfo &val_info, ColumnAccessorDataArray *val_accessorData)
add an info to the column
Definition: ColumnarToolArray.cxx:253
columnar::ColumnInfo
a struct that contains meta-information about each column that's needed to interface the column with ...
Definition: ColumnInfo.h:35
vector
Definition: MultiHisto.h:13
ColumnarTool.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
columnar::final
CM final
Definition: ColumnAccessor.h:106
CxxUtils::to
CONT to(RANGE &&r)
Definition: ranges.h:39
calibdata.delete
list delete
Definition: calibdata.py:46
python.CaloAddPedShiftConfig.default
default
Definition: CaloAddPedShiftConfig.py:43
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
columnar
Definition: ClusterDef.h:16
columnar::ColumnDataArray::m_info
ColumnInfo m_info
the column info
Definition: ColumnarToolDataArray.h:53
columnar::ColumnarToolDataArray::sharedTools
std::vector< ColumnarTool< ColumnarModeArray > * > sharedTools
the list of all tools that reference this object
Definition: ColumnarToolDataArray.h:67
columnar::ColumnarTool
the base class for all columnar components
Definition: ColumnAccessorDataArray.h:17
columnar::ColumnarToolDataArray::containerNames
std::unordered_map< ContainerId, std::string > containerNames
the names associated with all container ids
Definition: ColumnarToolDataArray.h:70
columnar::ColumnDataArray::m_accessors
std::vector< ColumnAccessorDataArray * > m_accessors
the data on all accessors for this column
Definition: ColumnarToolDataArray.h:56
columnar::ColumnAccessorDataArray
all the data about a column accessor that the ColumnarTool needs to know about
Definition: ColumnAccessorDataArray.h:23
columnar::ColumnarToolDataArray::columns
std::unordered_map< std::string, ColumnDataArray > columns
the name-column map
Definition: ColumnarToolDataArray.h:73
ColumnInfo.h
columnar::ColumnDataArray::updateColumnRef
void updateColumnRef(const std::string &from, const std::string &to)
rename columns
Definition: ColumnarToolArray.cxx:311