  | 
  
    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.