ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType > Class Template Reference
Collaboration diagram for OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >:

Public Member Functions

 DataKeyHandler (EL::AnaAlgorithm *owner, const std::string &propName, const std::string &defaultValue, const std::string &descrip)
 
StatusCode initialize (bool allow_empty=false)
 
 operator const SG::ReadHandleKey< ContainerType > & () const
 
std::string key () const
 
bool empty () const
 
void declareDependency (const std::string &variable)
 
void declareOutput (const std::string &variable)
 

Private Attributes

SG::ReadHandleKey< ContainerType > m_readKey {}
 
SG::ReadDecorHandleKeyArray< ContainerType > m_readDecorKeys {}
 
SG::WriteDecorHandleKeyArray< ContainerType > m_writeDecorKeys {}
 

Detailed Description

template<class ContainerType>
class OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >

Definition at line 62 of file OverlapRemovalGenUseAlg.h.

Constructor & Destructor Documentation

◆ DataKeyHandler()

template<class ContainerType >
OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::DataKeyHandler ( EL::AnaAlgorithm owner,
const std::string &  propName,
const std::string &  defaultValue,
const std::string &  descrip 
)
inline

Definition at line 64 of file OverlapRemovalGenUseAlg.h.

67  :
68  m_readKey{owner,propName, defaultValue, descrip},
69  m_readDecorKeys{owner, propName + "ReadDecors", {}, "External input data dependencies for "+propName},
70  m_writeDecorKeys{owner,propName + "WriteDecors", {}, "Dependencies written for "+propName}{}

Member Function Documentation

◆ declareDependency()

template<class ContainerType >
void OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::declareDependency ( const std::string &  variable)
inline

Definition at line 80 of file OverlapRemovalGenUseAlg.h.

80 { if (!empty() && !variable.empty()) m_readDecorKeys.emplace_back(m_readKey.key() + "." + variable );}

◆ declareOutput()

template<class ContainerType >
void OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::declareOutput ( const std::string &  variable)
inline

Definition at line 81 of file OverlapRemovalGenUseAlg.h.

81 { if (!empty() && !variable.empty()) m_writeDecorKeys.emplace_back(m_readKey.key() + "." + variable); }

◆ empty()

template<class ContainerType >
bool OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::empty ( ) const
inline

Definition at line 79 of file OverlapRemovalGenUseAlg.h.

79 { return m_readKey.empty(); }

◆ initialize()

template<class ContainerType >
StatusCode OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::initialize ( bool  allow_empty = false)
inline

Definition at line 71 of file OverlapRemovalGenUseAlg.h.

71  {
72  if (!m_readKey.initialize(!allow_empty).isSuccess()) return StatusCode::FAILURE;
73  if (!m_readDecorKeys.initialize().isSuccess()) return StatusCode::FAILURE;
74  if (!m_writeDecorKeys.initialize().isSuccess()) return StatusCode::FAILURE;
75  return StatusCode::SUCCESS;
76  }

◆ key()

template<class ContainerType >
std::string OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::key ( ) const
inline

Definition at line 78 of file OverlapRemovalGenUseAlg.h.

78 { return m_readKey.key();}

◆ operator const SG::ReadHandleKey< ContainerType > &()

template<class ContainerType >
OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::operator const SG::ReadHandleKey< ContainerType > & ( ) const
inline

Definition at line 77 of file OverlapRemovalGenUseAlg.h.

77 {return m_readKey;}

Member Data Documentation

◆ m_readDecorKeys

template<class ContainerType >
SG::ReadDecorHandleKeyArray<ContainerType> OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::m_readDecorKeys {}
private

Definition at line 84 of file OverlapRemovalGenUseAlg.h.

◆ m_readKey

template<class ContainerType >
SG::ReadHandleKey<ContainerType> OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::m_readKey {}
private

Definition at line 83 of file OverlapRemovalGenUseAlg.h.

◆ m_writeDecorKeys

template<class ContainerType >
SG::WriteDecorHandleKeyArray<ContainerType> OverlapRemovalGenUseAlg::DataKeyHandler< ContainerType >::m_writeDecorKeys {}
private

Definition at line 85 of file OverlapRemovalGenUseAlg.h.


The documentation for this class was generated from the following file:
OverlapRemovalGenUseAlg::DataKeyHandler::m_writeDecorKeys
SG::WriteDecorHandleKeyArray< ContainerType > m_writeDecorKeys
Definition: OverlapRemovalGenUseAlg.h:85
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
OverlapRemovalGenUseAlg::DataKeyHandler::m_readKey
SG::ReadHandleKey< ContainerType > m_readKey
Definition: OverlapRemovalGenUseAlg.h:83
python.selection.variable
variable
Definition: selection.py:33
OverlapRemovalGenUseAlg::DataKeyHandler::m_readDecorKeys
SG::ReadDecorHandleKeyArray< ContainerType > m_readDecorKeys
Definition: OverlapRemovalGenUseAlg.h:84
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
L1CaloPhase1Monitoring.propName
propName
Definition: L1CaloPhase1Monitoring.py:451
OverlapRemovalGenUseAlg::DataKeyHandler::empty
bool empty() const
Definition: OverlapRemovalGenUseAlg.h:79