ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthenaKernel
AthenaKernel
ThinningInfo.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-2026 CERN for the benefit of the ATLAS collaboration.
4
*/
11
12
13
#ifndef ATHENAKERNEL_THINNINGINFO_H
14
#define ATHENAKERNEL_THINNINGINFO_H
15
16
17
#include "
CxxUtils/ConcurrentBitset.h
"
18
19
#include <map>
20
21
namespace
SG
{
22
23
24
class
ThinningDecisionBase
;
25
26
39
class
ThinningInfo
40
{
41
public
:
43
const
ThinningDecisionBase
*
m_decision
=
nullptr
;
44
48
CxxUtils::ConcurrentBitset
m_vetoed
;
49
51
bool
vetoed
(
size_t
id
)
const
52
{
53
return
m_vetoed
.test (
id
);
54
}
55
65
typedef
std::map<
unsigned
int,
66
CxxUtils::ConcurrentBitset
>
compression_map_t
;
67
compression_map_t
m_compression
;
68
72
unsigned
int
compression
(
size_t
id
)
const
73
{
74
for
(
const
auto
&entry :
m_compression
) {
75
if
(entry.second.test(
id
))
return
entry.first;
76
}
77
return
0;
78
}
79
};
80
81
82
}
// namespace SG
83
84
85
#endif
// not ATHENAKERNEL_THINNINGINFO_H
ConcurrentBitset.h
Variable-sized bitset allowing (mostly) concurrent access.
SG::ThinningDecisionBase
Hold thinning decisions for one container.
Definition
ThinningDecisionBase.h:39
SG::ThinningInfo
Hold thinning/slimming information for a given object.
Definition
ThinningInfo.h:40
SG::ThinningInfo::vetoed
bool vetoed(size_t id) const
Test if a variable has been vetoed.
Definition
ThinningInfo.h:51
SG::ThinningInfo::m_vetoed
CxxUtils::ConcurrentBitset m_vetoed
Set of auxids not to be written for this object.
Definition
ThinningInfo.h:48
SG::ThinningInfo::m_decision
const ThinningDecisionBase * m_decision
Thinning for the object.
Definition
ThinningInfo.h:43
SG::ThinningInfo::compression_map_t
std::map< unsigned int, CxxUtils::ConcurrentBitset > compression_map_t
This map holds a set of auxids to be lossy compressed for each compression level (nmantissa).
Definition
ThinningInfo.h:66
SG::ThinningInfo::m_compression
compression_map_t m_compression
Definition
ThinningInfo.h:67
SG::ThinningInfo::compression
unsigned int compression(size_t id) const
Test if a variable is asked to be compressed.
Definition
ThinningInfo.h:72
CxxUtils::ConcurrentBitset
ConcurrentBitset(bit_t nbits=0)
Constructor.
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
Generated on
for ATLAS Offline Software by
1.17.0