ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
InputMakerBase::MatchingCache Struct Reference

Used to cache each incoming Decision object's ElementLink which is being used to identify the Decision object for the purposes of de-duplication merging. More...

#include <InputMakerBase.h>

Collaboration diagram for InputMakerBase::MatchingCache:

Public Member Functions

void setMatchingHash (const TrigCompositeUtils::Decision *inputDecision, const uint64_t matchingHash)
 
void linkOutputToInput (const TrigCompositeUtils::Decision *outputDecision, const TrigCompositeUtils::Decision *inputDecision)
 
uint64_t getMatchingHash (const TrigCompositeUtils::Decision *outputDecision) const
 

Public Attributes

std::map< const TrigCompositeUtils::Decision *, const TrigCompositeUtils::Decision * > m_outputDecToInputDec
 
std::map< const TrigCompositeUtils::Decision *, uint64_t > m_inputDecToMatchingHash
 

Detailed Description

Used to cache each incoming Decision object's ElementLink which is being used to identify the Decision object for the purposes of de-duplication merging.

Definition at line 35 of file InputMakerBase.h.

Member Function Documentation

◆ getMatchingHash()

uint64_t InputMakerBase::MatchingCache::getMatchingHash ( const TrigCompositeUtils::Decision outputDecision) const

Definition at line 240 of file InputMakerBase.cxx.

240  {
241  if (!outputDecision) {
242  throw std::runtime_error("InputMakerBase::MatchingCache::getMatchingHash: Called with nullptr.");
243  }
244 
245  auto it_inDec = m_outputDecToInputDec.find(outputDecision);
246  if (it_inDec == m_outputDecToInputDec.end()) {
247  throw std::runtime_error("InputMakerBase::MatchingCache::getMatchingHash: No matching input Decision* for the supplied output Decision*");
248  }
249  const Decision* inputDecision = it_inDec->second;
250 
251  auto it_hash = m_inputDecToMatchingHash.find(inputDecision);
252  if (it_hash == m_inputDecToMatchingHash.end()) {
253  throw std::runtime_error("InputMakerBase::MatchingCache::getMatchingHash: No matching hash for this input Decision*");
254  }
255  const uint64_t hash = it_hash->second;
256 
257  return hash;
258 }

◆ linkOutputToInput()

void InputMakerBase::MatchingCache::linkOutputToInput ( const TrigCompositeUtils::Decision outputDecision,
const TrigCompositeUtils::Decision inputDecision 
)

Definition at line 235 of file InputMakerBase.cxx.

235  {
236  m_outputDecToInputDec[outputDecision] = inputDecision;
237 }

◆ setMatchingHash()

void InputMakerBase::MatchingCache::setMatchingHash ( const TrigCompositeUtils::Decision inputDecision,
const uint64_t  matchingHash 
)

Definition at line 230 of file InputMakerBase.cxx.

230  {
231  m_inputDecToMatchingHash[inputDecision] = matchingHash;
232 }

Member Data Documentation

◆ m_inputDecToMatchingHash

std::map<const TrigCompositeUtils::Decision*, uint64_t> InputMakerBase::MatchingCache::m_inputDecToMatchingHash

Definition at line 40 of file InputMakerBase.h.

◆ m_outputDecToInputDec

std::map<const TrigCompositeUtils::Decision*, const TrigCompositeUtils::Decision*> InputMakerBase::MatchingCache::m_outputDecToInputDec

Definition at line 39 of file InputMakerBase.h.


The documentation for this struct was generated from the following files:
InputMakerBase::MatchingCache::m_inputDecToMatchingHash
std::map< const TrigCompositeUtils::Decision *, uint64_t > m_inputDecToMatchingHash
Definition: InputMakerBase.h:40
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
InputMakerBase::MatchingCache::m_outputDecToInputDec
std::map< const TrigCompositeUtils::Decision *, const TrigCompositeUtils::Decision * > m_outputDecToInputDec
Definition: InputMakerBase.h:39