ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Columnar
ColumnarCore
ColumnarCore
ColumnAccessorDataArray.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_COLUMN_ACCESSOR_DATA_ARRAY_H
9
#define COLUMNAR_CORE_COLUMN_ACCESSOR_DATA_ARRAY_H
10
11
#include <
ColumnarCore/ColumnarDef.h
>
12
#include <
ColumnarInterfaces/ColumnInfo.h
>
13
#include <memory>
14
15
namespace
columnar
16
{
17
template
<
typename
CM>
class
ColumnarTool
;
18
struct
ColumnDataArray
;
19
22
struct
ColumnAccessorDataArray
final
23
{
29
unsigned
*
dataIndexPtr
=
nullptr
;
30
36
std::unique_ptr<ColumnAccessorDataArray> *
selfPtr
=
nullptr
;
37
39
ColumnDataArray
*
dataRef
=
nullptr
;
40
42
const
std::type_info *
type
=
nullptr
;
43
45
ColumnAccessMode
accessMode
= {};
46
48
ColumnAccessorDataArray
(
unsigned
*val_dataIndexPtr, std::unique_ptr<ColumnAccessorDataArray> *val_selfPtr,
const
std::type_info *val_type,
ColumnAccessMode
val_accessMode) noexcept
49
:
dataIndexPtr
(val_dataIndexPtr),
selfPtr
(val_selfPtr),
type
(val_type),
accessMode
(val_accessMode) {}
50
52
~ColumnAccessorDataArray
() noexcept;
53
};
54
55
void
moveAccessor
(
unsigned
& dataIndex,
std
::
unique_ptr
<
ColumnAccessorDataArray
>& accessorData,
unsigned
& sourceIndex,
std
::
unique_ptr
<
ColumnAccessorDataArray
>& sourceData);
56
}
57
58
#endif
ColumnInfo.h
ColumnarDef.h
columnar::ColumnarTool
the base class for all columnar components
Definition
ColumnAccessorDataArray.h:17
unique_ptr
STL class.
columnar
Definition
ClusterDef.h:16
columnar::moveAccessor
void moveAccessor(unsigned &dataIndex, std::unique_ptr< ColumnAccessorDataArray > &accessorData, unsigned &sourceIndex, std::unique_ptr< ColumnAccessorDataArray > &sourceData)
Definition
ColumnAccessorDataArray.cxx:30
columnar::ColumnAccessMode
ColumnAccessMode
an enum for the different access modes for a column
Definition
ColumnInfo.h:20
std
STL namespace.
columnar::ColumnAccessorDataArray
all the data about a column accessor that the ColumnarTool needs to know about
Definition
ColumnAccessorDataArray.h:23
columnar::ColumnAccessorDataArray::dataIndexPtr
unsigned * dataIndexPtr
a pointer to the index in the data vector
Definition
ColumnAccessorDataArray.h:29
columnar::ColumnAccessorDataArray::type
const std::type_info * type
the type of the column elements
Definition
ColumnAccessorDataArray.h:42
columnar::ColumnAccessorDataArray::dataRef
ColumnDataArray * dataRef
the ColumnDataArray object that holds us
Definition
ColumnAccessorDataArray.h:39
columnar::ColumnAccessorDataArray::~ColumnAccessorDataArray
~ColumnAccessorDataArray() noexcept
standard destructor
Definition
ColumnAccessorDataArray.cxx:22
columnar::ColumnAccessorDataArray::accessMode
ColumnAccessMode accessMode
the access mode for the column
Definition
ColumnAccessorDataArray.h:45
columnar::ColumnAccessorDataArray::ColumnAccessorDataArray
ColumnAccessorDataArray(unsigned *val_dataIndexPtr, std::unique_ptr< ColumnAccessorDataArray > *val_selfPtr, const std::type_info *val_type, ColumnAccessMode val_accessMode) noexcept
initializing constructor
Definition
ColumnAccessorDataArray.h:48
columnar::ColumnAccessorDataArray::selfPtr
std::unique_ptr< ColumnAccessorDataArray > * selfPtr
a pointer to the smart pointer that holds this object
Definition
ColumnAccessorDataArray.h:36
columnar::ColumnDataArray
Definition
ColumnarToolDataArray.h:17
Generated on
for ATLAS Offline Software by
1.17.0