ATLAS Offline Software
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  */
13 #ifndef ATHENAKERNEL_THINNINGINFO_H
14 #define ATHENAKERNEL_THINNINGINFO_H
15 
16 
18 
19 #include <map>
20 
21 namespace SG {
22 
23 
24 class ThinningDecisionBase;
25 
26 
40 {
41 public:
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
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
ConcurrentBitset.h
Variable-sized bitset allowing (mostly) concurrent access.
CxxUtils::ConcurrentBitset
Variable-sized bitset allowing (mostly) concurrent access.
Definition: ConcurrentBitset.h:146
SG::ThinningDecisionBase
Hold thinning decisions for one container.
Definition: ThinningDecisionBase.h:39
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
Hold thinning/slimming information for a given object.
Definition: ThinningInfo.h:40
SG::ThinningInfo::m_vetoed
CxxUtils::ConcurrentBitset m_vetoed
Set of auxids not to be written for this object.
Definition: ThinningInfo.h:48
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
SG::ThinningInfo::vetoed
bool vetoed(size_t id) const
Test if a variable has been vetoed.
Definition: ThinningInfo.h:51
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
SG::ThinningInfo::m_decision
const ThinningDecisionBase * m_decision
Thinning for the object.
Definition: ThinningInfo.h:43
CxxUtils::ConcurrentBitset::test
bool test(bit_t bit) const
Test to see if a bit is set.