ATLAS Offline Software
Loading...
Searching...
No Matches
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-2020 CERN for the benefit of the ATLAS collaboration.
4 */
11
12
13#ifndef ATHENAKERNEL_THINNINGINFO_H
14#define ATHENAKERNEL_THINNINGINFO_H
15
16
18
19#include <map>
20
21namespace SG {
22
23
25
26
40{
41public:
44
49
51 bool vetoed (size_t id) const
52 {
53 return m_vetoed.test (id);
54 }
55
65 typedef std::map<unsigned int,
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
Variable-sized bitset allowing (mostly) concurrent access.
Variable-sized bitset allowing (mostly) concurrent access.
Hold thinning decisions for one container.
Hold thinning/slimming information for a given object.
bool vetoed(size_t id) const
Test if a variable has been vetoed.
CxxUtils::ConcurrentBitset m_vetoed
Set of auxids not to be written for this object.
const ThinningDecisionBase * m_decision
Thinning for the object.
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).
compression_map_t m_compression
unsigned int compression(size_t id) const
Test if a variable is asked to be compressed.
Forward declaration.