ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthContainersInterfaces
AthContainersInterfaces
AuxTypes.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
/*
3
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4
*/
13
14
15
#ifndef ATHCONTAINERSINTERFACES_AUXTYPES_H
16
#define ATHCONTAINERSINTERFACES_AUXTYPES_H
17
18
19
#include <cstddef>
20
#include "
CxxUtils/ConcurrentBitset.h
"
21
#include "
CxxUtils/bitmask.h
"
22
23
24
namespace
SG
{
25
27
typedef
size_t
auxid_t
;
28
30
static
const
auxid_t
null_auxid
=
static_cast<
auxid_t
>
(-1);
31
34
class
AuxTypePlaceholder
{};
35
40
static
const
auxid_t
auxid_set_size_hint
= 2048;
41
42
45
class
auxid_set_t
46
:
public
CxxUtils::ConcurrentBitset
47
{
48
public
:
49
using
CxxUtils::ConcurrentBitset::ConcurrentBitset;
50
auxid_set_t
(
size_t
nbits =
auxid_set_size_hint
)
51
:
CxxUtils
::ConcurrentBitset (nbits)
52
{
53
}
54
};
55
56
58
enum
AuxVarFlags
{
60
None
= 0x00,
61
70
Atomic
= 0x01,
71
77
Linked = 0x02,
78
79
// These flags control the behavior of findAuxID() but are not
80
// stored with the variable.
81
SkipNameCheck = 0x80,
82
84
ATH_BITMASK
85
};
86
87
88
}
// namespace SG
89
90
91
92
#endif
// not ATHCONTAINERSINTERFACES_AUXTYPES_H
ConcurrentBitset.h
Variable-sized bitset allowing (mostly) concurrent access.
bitmask.h
Helpers for treating a class enum as a bitmask.
ATH_BITMASK
#define ATH_BITMASK
Mark that a class enum should be treated as a bitmask.
Definition
bitmask.h:70
SG::AuxTypePlaceholder
Used as type_info when we read an aux data item but it doesn't exist in the registry.
Definition
AuxTypes.h:34
SG::auxid_set_t::auxid_set_t
auxid_set_t(size_t nbits=auxid_set_size_hint)
Definition
AuxTypes.h:50
CxxUtils
Definition
aligned_vector.h:29
CxxUtils::ConcurrentBitset
ConcurrentBitset(bit_t nbits=0)
Constructor.
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
SG::AuxVarFlags
AuxVarFlags
Additional flags to qualify an auxiliary variable.
Definition
AuxTypes.h:58
SG::Atomic
@ Atomic
Mark that this variable should only be accessed atomically.
Definition
AuxTypes.h:70
SG::None
@ None
No special flags set.
Definition
AuxTypes.h:60
SG::null_auxid
static const auxid_t null_auxid
To signal no aux data item.
Definition
AuxTypes.h:30
SG::auxid_set_size_hint
static const auxid_t auxid_set_size_hint
A hint for how large we should make the auxid bitsets.
Definition
AuxTypes.h:40
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition
AuxTypes.h:27
Generated on
for ATLAS Offline Software by
1.17.0