|
ATLAS Offline Software
|
Go to the documentation of this file.
40 return it->second.m_decision;
58 return it->second.m_decision;
78 const std::vector<sgkey_t>& sgkeys,
86 if (
info.m_decision) {
91 throw std::runtime_error (
"Duplicated thinning definition");
100 if (
info.m_decision) {
101 throw std::runtime_error (
"Duplicated thinning definition");
136 for (
const std::unique_ptr<ThinningDecisionBase>& dec :
m_owned) {
137 dec->buildIndexMap();
204 const std::vector<sgkey_t>& sgkeys,
217 (
const std::unique_ptr<SG::ThinningDecisionBase>&
p)
218 { return p.get() == old; });
220 if (ownedIt !=
m_owned.end()) {
222 oldThinning = ownedIt->get();
226 m_owned.push_back (std::make_unique<SG::ThinningDecisionBase> (
info.m_decision->size()));
227 oldThinning =
m_owned.back().get();
228 oldThinning->
thin (*
info.m_decision);
229 info.m_decision = oldThinning;
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.
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.
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.
void thin(size_t ndx)
Mark that index ndx in the container should be thinned away.
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.
void merge(ThinningInfo &info, const std::vector< sgkey_t > &sgkeys, const ThinningDecisionBase &thinning)
Merge a new thinning request into an existing one via AND.