|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef ATHENAKERNEL_THINNINGCACHE_H
14 #define ATHENAKERNEL_THINNINGCACHE_H
21 #include <unordered_map>
33 class ThinningDecisionBase;
90 const std::vector<sgkey_t>& sgkeys,
152 typedef std::unordered_map<std::string, ThinningInfo>
map_t;
160 std::vector<std::unique_ptr<ThinningDecisionBase> >
m_owned;
175 const std::vector<sgkey_t>& sgkeys,
183 #endif // not ATHENAKERNEL_THINNINGCACHE_H
void setCompression(const std::string &key, const ThinningInfo::compression_map_t &compression)
Set lossy float compression information for the object.
const ITrigNavigationThinningSvc * m_trigNavigationThinningSvc
Optional TrigNavigation thinning helper for this stream.
SGKeyMap< ThinningInfo > sgmap_t
Mapping by hashed SG key.
Variable-sized bitset allowing (mostly) concurrent access.
Variable-sized bitset allowing (mostly) concurrent access.
Hold thinning decisions for one container.
void lockOwned()
Lock all the ThinningDecisionBase objects that we own.
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).
const ITrigNavigationThinningSvc * trigNavigationThinningSvc() const
Return the TrigNavigation helper for this stream, or nullptr.
Hold thinning decisions for one container.
void addThinning(const std::string &key, const std::vector< sgkey_t > &sgkeys, const ThinningDecisionBase *thinning, bool unique=false)
Add thinning information for one object.
Hold thinning/slimming information for a given object.
const ThinningInfo * thinningInfo(const std::string &key) const
Return thinning information for key.
void clear()
Clear the cache.
Hold thinning/slimming information for a given object.
Define interface for doing TrigNavigation thinning.
void setVetoed(const std::string &key, const CxxUtils::ConcurrentBitset &vetoed)
Set vetoed variable information one object.
std::vector< std::unique_ptr< ThinningDecisionBase > > m_owned
List of decision objects we've copied in order to handle merges.
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
void setTrigNavigationThinningSvc(const ITrigNavigationThinningSvc *thinning)
Set the TrigNavigation helper for this stream.
bool empty() const
Test to see if there's any thinning defined.
const ThinningDecisionBase * thinning(const std::string &key) const
Return thinning for key.
Define the type used for hashed StoreGate key+CLID pairs.
std::unordered_map< sgkey_t, T > SGKeyMap
A map using sgkey_t as a key.
std::unordered_map< std::string, ThinningInfo > map_t
Mapping by string SG key.
Cache thinning decisions for converters.
void merge(ThinningInfo &info, const std::vector< sgkey_t > &sgkeys, const ThinningDecisionBase &thinning)
Merge a new thinning request into an existing one via AND.