Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
SG::MetaHandleKey< T > Class Template Reference

#include <MetaHandleKey.h>

Inheritance diagram for SG::MetaHandleKey< T >:
Collaboration diagram for SG::MetaHandleKey< T >:

Public Types

using PropertyType = SG::VarHandleKeyProperty
 Declare corresponding property type. More...
 

Public Member Functions

 MetaHandleKey (const std::string &key, const std::string &dbKey, Gaudi::DataHandle::Mode a)
 
StatusCode initialize ()
 
const MetaContBase::SourceIDdbKey () const
 
void setDbKey (const MetaContBase::SourceID &dbKey)
 
virtual StatusCode assign (const std::string &sgkey)
 Change the key of the object to which we're referring. More...
 
StatusCode initialize (bool used=true)
 If this object is used as a property, then this should be called during the initialize phase. More...
 
StatusCode initialize (AllowEmptyEnum)
 If this object is used as a property, then this should be called during the initialize phase. More...
 
CLID clid () const
 Return the class ID for the referenced object. More...
 
const std::string & key () const
 Return the StoreGate ID for the referenced object. More...
 
bool empty () const
 Test if the key is blank. More...
 
const ServiceHandle< IProxyDict > & storeHandle () const
 Return handle to the referenced store. More...
 
VarHandleBaseowningHandle ()
 Return the VarHandle that owns this key, if any. More...
 
bool isEventStore () const
 Does this key reference the primary event store? More...
 
virtual StatusCode start ()
 Called by the owning algorithm during the START transition. More...
 
SG::sgkey_t hashedKey () const
 Return the hashed StoreGate key. More...
 

Protected Member Functions

bool isInit () const
 
MetaCont< T > *getContainer ATLAS_NOT_CONST_THREAD_SAFE () const
 
StoreGateSvcgetStore () const
 
virtual std::string pythonRepr () const override
 Python representation of Handle. More...
 

Private Member Functions

void setOwningHandle (VarHandleBase *handle)
 
virtual void setKey (DataObjID key) override final
 Don't allow calling these. More...
 
virtual void updateKey (std::string key) override final
 Prevent this method from being called. More...
 
void parseKey (const std::string &sgkey, const std::string &storeName)
 Handle assignment/construction from a string key. More...
 
void updateHandle (const std::string &name)
 Update the name of the store to which we're referring. More...
 

Private Attributes

ServiceHandle< StoreGateSvcm_store
 
MetaCont< T > * m_cont {nullptr}
 
MetaContBase::SourceID m_dbKey {""}
 
bool m_isInit {false}
 
ServiceHandle< IProxyDictm_storeHandle
 Handle to the referenced store. More...
 
std::string m_sgKey
 StoreGate key, that doesn't include the storename. More...
 
SG::sgkey_t m_hashedKey = 0
 The hashed StoreGate key. May be 0 if not yet initialized. More...
 
bool m_isEventStore = false
 Cache test for whether we're referencing the event store. More...
 
VarHandleBasem_owningHandle = nullptr
 Handle that owns this key, or nullptr if it is not owned. More...
 

Detailed Description

template<class T>
class SG::MetaHandleKey< T >

Definition at line 19 of file MetaHandleKey.h.

Member Typedef Documentation

◆ PropertyType

Declare corresponding property type.

Definition at line 91 of file StoreGate/StoreGate/VarHandleKey.h.

Constructor & Destructor Documentation

◆ MetaHandleKey()

template<class T >
SG::MetaHandleKey< T >::MetaHandleKey ( const std::string &  key,
const std::string &  dbKey,
Gaudi::DataHandle::Mode  a 
)

Member Function Documentation

◆ assign()

StatusCode SG::VarHandleKey::assign ( const std::string &  sgkey)
virtualinherited

Change the key of the object to which we're referring.

Parameters
sgkeyThe StoreGate key for the object.

The provided key may actually start with the name of the store, separated by a "+": "MyStore+Obj". If no "+" is present the store is not changed. A key name that starts with a slash is interpreted as a hierarchical key name, not an empty store name.

Returns failure the key string format is bad.

Reimplemented in SG::WriteDecorHandleKey< T >, SG::WriteDecorHandleKey< xAOD::ElectronContainer >, SG::WriteDecorHandleKey< DMTest::CVecWithData_v1 >, SG::WriteDecorHandleKey< DMTest::JVec_v1 >, SG::WriteDecorHandleKey< DataVector >, SG::WriteDecorHandleKey< xAOD::EventInfo >, SG::WriteDecorHandleKey< xAOD::TruthParticleContainer >, SG::WriteDecorHandleKey< C >, SG::WriteDecorHandleKey< DMTest::PLinks_v1 >, SG::WriteDecorHandleKey< NEW >, SG::WriteDecorHandleKey< xAOD::TrackParticleContainer >, SG::WriteDecorHandleKey< xAOD::EventInfo_v1 >, SG::WriteDecorHandleKey< CONTAINER >, SG::WriteDecorHandleKey< xAOD::JetContainer >, SG::WriteDecorHandleKey< MyDataObj >, SG::WriteDecorHandleKey< T_RoIContainer >, SG::WriteDecorHandleKey< DMTest::C_v1 >, SG::WriteDecorHandleKey< container_t >, SG::WriteDecorHandleKey< SG::AuxElement >, SG::ReadDecorHandleKey< T >, SG::ReadDecorHandleKey< DMTest::JVec_v1 >, SG::ReadDecorHandleKey< DataVector >, SG::ReadDecorHandleKey< CONSTITUENTS >, SG::ReadDecorHandleKey< C >, SG::ReadDecorHandleKey< xAOD::TruthParticleContainer >, SG::ReadDecorHandleKey< DMTest::PLinks_v1 >, SG::ReadDecorHandleKey< xAOD::EventInfo_v1 >, SG::ReadDecorHandleKey< xAOD::FlowElement_v1 >, SG::ReadDecorHandleKey< CONTAINER >, SG::ReadDecorHandleKey< JetContainer >, SG::ReadDecorHandleKey< xAOD::PFO_v1 >, SG::ReadDecorHandleKey< MyDataObj >, SG::ReadDecorHandleKey< T_RoIContainer >, SG::ReadDecorHandleKey< DMTest::C_v1 >, SG::ReadDecorHandleKey< T_Cont >, SG::ReadDecorHandleKey< SG::AuxElement >, SG::ReadDecorHandleKey< OLD >, and SG::TypelessWriteHandleKey.

Definition at line 88 of file AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx.

89 {
90  m_sgKey = sgkey;
91  return StatusCode::SUCCESS;
92 }

◆ ATLAS_NOT_CONST_THREAD_SAFE()

template<class T >
MetaCont<T>* getContainer SG::MetaHandleKey< T >::ATLAS_NOT_CONST_THREAD_SAFE ( ) const
inlineprotected

Definition at line 34 of file MetaHandleKey.h.

34 { return m_cont; }

◆ clid()

CLID SG::VarHandleKey::clid ( ) const
inherited

Return the class ID for the referenced object.

Definition at line 185 of file StoreGate/src/VarHandleKey.cxx.

186 {
187  return Gaudi::DataHandle::fullKey().clid();
188 }

◆ dbKey()

template<class T >
const MetaContBase::SourceID& SG::MetaHandleKey< T >::dbKey ( ) const
inline

Definition at line 28 of file MetaHandleKey.h.

28 { return m_dbKey; }

◆ empty()

bool SG::VarHandleKey::empty ( ) const
inherited

Test if the key is blank.

Definition at line 150 of file AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx.

151 {
152  return m_sgKey.empty();
153 }

◆ getStore()

template<class T >
StoreGateSvc* SG::MetaHandleKey< T >::getStore ( ) const
protected

◆ hashedKey()

SG::sgkey_t SG::VarHandleKey::hashedKey ( ) const
inherited

Return the hashed StoreGate key.

May be 0 if not yet initialized.

◆ initialize() [1/3]

template<class T >
StatusCode SG::MetaHandleKey< T >::initialize ( )

◆ initialize() [2/3]

StatusCode SG::VarHandleKey::initialize ( AllowEmptyEnum  )
inherited

If this object is used as a property, then this should be called during the initialize phase.

This variant will allow the key to be blank.

Parameters
Flagto select this variant. Call like
ATH_CHECK( key.initialize (SG::AllowEmpty) );

Definition at line 129 of file AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx.

130 {
131  if (key().empty()) {
132  return StatusCode::SUCCESS;
133  }
134  return initialize (true);
135 }

◆ initialize() [3/3]

StatusCode SG::VarHandleKey::initialize ( bool  used = true)
inherited

If this object is used as a property, then this should be called during the initialize phase.

It will fail if the requested StoreGate service cannot be found or if the key is blank.

Parameters
usedIf false, then this handle is not to be used. Instead of normal initialization, the key will be cleared.

Definition at line 103 of file AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx.

104 {
105  if (!used) {
106  m_sgKey = "";
107  return StatusCode::SUCCESS;
108  }
109 
110  if (key() == "") {
111  // REPORT_ERROR (StatusCode::FAILURE)
112  // << "Cannot initialize a Read/Write/Update handle with a null key.";
113  return StatusCode::FAILURE;
114  }
115 
116  return StatusCode::SUCCESS;
117 }

◆ isEventStore()

bool SG::VarHandleKey::isEventStore ( ) const
inherited

Does this key reference the primary event store?

◆ isInit()

template<class T >
bool SG::MetaHandleKey< T >::isInit ( ) const
inlineprotected

Definition at line 32 of file MetaHandleKey.h.

32 { return m_isInit; }

◆ key()

const std::string & SG::VarHandleKey::key ( ) const
inherited

Return the StoreGate ID for the referenced object.

Definition at line 141 of file AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx.

142 {
143  return m_sgKey;
144 }

◆ owningHandle()

VarHandleBase* SG::VarHandleKey::owningHandle ( )
inherited

Return the VarHandle that owns this key, if any.

This should only be non-null for keys that are created automatically by a VarHandle when it is not created from a VarHandleKey. This should always be null for keys that are created explicitly.

◆ parseKey()

void SG::VarHandleKey::parseKey ( const std::string &  key,
const std::string &  storeName 
)
privateinherited

Handle assignment/construction from a string key.

Parameters
sgkeyThe StoreGate key for the referenced object.

The provided key may actually start with the name of the store, separated by a "+": "MyStore+Obj". If no "+" is present, the store named by storeName is used. A key name that starts with a slash is interpreted as a hierarchical key name, not an empty store name.

see implementation comments for further details

Parameters
sgkeyThe StoreGate key for the referenced object.

The provided key may actually start with the name of the store, separated by a "+": "MyStore+Obj". If no "+" is present the store named by storeName is used. A key name that starts with a slash is interpreted as a hierarchical key name, not an empty store name.

we also have to check that if the key contains the store name, it matches the store name that they Handle was constructed with

blank keys result in blank DataObjIDs

Definition at line 225 of file StoreGate/src/VarHandleKey.cxx.

227 {
228  std::string sn;
229  // test if storeName has classname
230  std::string::size_type sp = storeName.find('/');
231  if (sp == std::string::npos) {
232  sn = storeName;
233  } else {
234  sn = storeName.substr(sp+1,storeName.length()-sp+1);
235  }
236 
237  if (key.empty()) {
238  this->updateHandle(sn);
239  Gaudi::DataHandle::updateKey("");
240  m_sgKey.clear();
241  m_hashedKey = 0;
242  return;
243  }
244 
245  // StoreName separator is "+"
246  sp = key.find(storeSeparator);
247  if(sp == std::string::npos) {
248  m_sgKey = key;
249  } else {
250  sn = key.substr(0,sp);
251  m_sgKey = key.substr(sp+1,key.length()-sp-1);
252  }
253 
254 
255  this->updateHandle(sn);
256 
257  StoreID::type st;
258  // would be nice if we could get the storeID from the storeHandle, but
259  // we can't be sure that the store has been created when the VHK is
260  // constructed.
261  //
262 
263  st = StoreID::findStoreID(sn);
264 
266  if (m_sgKey.find('/') != std::string::npos) {
267  throw SG::ExcBadHandleKey("key \"" + key
268  + "\": keys with \"/\" only allowed for "
270  + " - store is \""
271  + sn + "\"");
272  }
273  } else {
274  sp = m_sgKey.rfind('/');
275  if (sp != std::string::npos) {
276  if (sp == 0
277  && m_sgKey.size() == 1) {
278  // Replace '\' with blank key
279  m_sgKey.clear();
280  m_hashedKey = 0;
281  } else if ( sp == m_sgKey.length()-1) {
282  throw SG::ExcBadHandleKey("key \"" + key
283  + "\": must not end with a \"/\"");
284  }
285  }
286  }
287 
288  if (m_sgKey.empty()) {
289  Gaudi::DataHandle::updateKey("");
290  } else {
291  Gaudi::DataHandle::updateKey(sn + storeSeparator + m_sgKey);
292  }
293 
294 
295 }

◆ pythonRepr()

std::string SG::VarHandleKey::pythonRepr ( ) const
overrideprotectedvirtualinherited

Python representation of Handle.

Reimplemented in SG::WriteDecorHandleKey< T >, and SG::ReadDecorHandleKey< T >.

Definition at line 317 of file StoreGate/src/VarHandleKey.cxx.

318 {
319  const std::string& className = fullKey().className().empty() ?
320  Gaudi::DataHandle::default_type : fullKey().className();
321 
322  std::ostringstream ost;
323  ost << "DataHandle(";
325  ost << ",";
326  switch (mode()) {
328  Gaudi::Utils::toStream("W", ost); break;
329  default:
330  Gaudi::Utils::toStream("R", ost); break;
331  }
333  ost << ","; Gaudi::Utils::toStream(isCondition(), ost);
334  ost << ")";
335 
336  return ost.str();
337 }

◆ setDbKey()

template<class T >
void SG::MetaHandleKey< T >::setDbKey ( const MetaContBase::SourceID dbKey)
inline

Definition at line 29 of file MetaHandleKey.h.

29 { m_dbKey = dbKey; }

◆ setKey()

void SG::VarHandleKey::setKey ( DataObjID  key)
finaloverrideprivatevirtualinherited

Don't allow calling these.

Prevent this method from being called.

Definition at line 194 of file StoreGate/src/VarHandleKey.cxx.

195 {
196  throw SG::ExcForbiddenMethod ("VarHandleKey::setKey");
197 }

◆ setOwningHandle()

void SG::VarHandleKey::setOwningHandle ( VarHandleBase handle)
privateinherited

◆ start()

virtual StatusCode SG::VarHandleKey::start ( )
virtualinherited

Called by the owning algorithm during the START transition.

AthAlgorithm and friends will call this during START. This allows for extra initialization that we can't do during initialize(), such as retrieving a conditions container from the store.

The default implementation is a no-op.

Reimplemented in SG::CondHandleKey< T >, SG::CondHandleKey< LArDSPThresholdsComplete >, SG::CondHandleKey< TRTCond::AliveStraws >, SG::CondHandleKey< DMTest::S3 >, SG::CondHandleKey< TileSampleNoise >, SG::CondHandleKey< CaloBCIDLumi >, SG::CondHandleKey< CaloTowerGeometry >, SG::CondHandleKey< ALineContainer >, SG::CondHandleKey< SCT_ConfigurationCondData >, SG::CondHandleKey< CondAttrListVec >, SG::CondHandleKey< InDet::SiliconPropertiesVector >, SG::CondHandleKey< TRTCond::StrawT0MultChanContainer >, SG::CondHandleKey< Analysis::JetTagCalibCondData >, SG::CondHandleKey< PixeldEdxData >, SG::CondHandleKey< PixelDCSHVData >, SG::CondHandleKey< ILArPedestal >, SG::CondHandleKey< LArHVPathology >, SG::CondHandleKey< L1CaloReadoutConfigContainer >, SG::CondHandleKey< L1CaloPprConditionsContainerRun2 >, SG::CondHandleKey< external_detector_element_collection_t >, SG::CondHandleKey< DMTest::S2 >, SG::CondHandleKey< NswDcsDbData >, SG::CondHandleKey< MuonCalib::MdtCalibDataContainer >, SG::CondHandleKey< CondDataObj >, SG::CondHandleKey< IdentifierSet >, SG::CondHandleKey< LArADC2MeV >, SG::CondHandleKey< JGTowerMappingData >, SG::CondHandleKey< BunchCrossingCondData >, SG::CondHandleKey< TGCTriggerData >, SG::CondHandleKey< Muon::mmCTPClusterCalibData >, SG::CondHandleKey< TilePulse >, SG::CondHandleKey< TileCalibData< TileCalibDrawerOfc > >, SG::CondHandleKey< DMTest::S1 >, SG::CondHandleKey< TileCalibData< T > >, SG::CondHandleKey< LArRinjComplete >, SG::CondHandleKey< CaloBCIDCoeffs >, SG::CondHandleKey< Trk::TrackingGeometry >, SG::CondHandleKey< SCT_ModuleVetoCondData >, SG::CondHandleKey< PixelDCSStatusData >, SG::CondHandleKey< PixelDistortionData >, SG::CondHandleKey< SiDetElementsLayerVectors_xk >, SG::CondHandleKey< ILArShape >, SG::CondHandleKey< CondAttrListCollection >, SG::CondHandleKey< Muon::TwinTubeMap >, SG::CondHandleKey< RtRelationContainer >, SG::CondHandleKey< PixelReadoutSpeedData >, SG::CondHandleKey< OnlineLumiCalibrationCondData >, SG::CondHandleKey< TileTiming >, SG::CondHandleKey< sTGCAsBuiltData >, SG::CondHandleKey< SCT_MajorityCondData >, SG::CondHandleKey< ActsTrk::DetectorElementToActsGeometryIdMap >, SG::CondHandleKey< CondMultChanCollection >, SG::CondHandleKey< LArFebConfig >, SG::CondHandleKey< LArHVIdMapping >, SG::CondHandleKey< MuonMDT_CablingMap >, SG::CondHandleKey< LArOnOffIdMapping >, SG::CondHandleKey< InDetDD::HGTD_DetectorElementCollection >, SG::CondHandleKey< InDet::SiElementPropertiesTable >, SG::CondHandleKey< ITk::PixelOfflineCalibData >, SG::CondHandleKey< StrawT0Container >, SG::CondHandleKey< ILAruA2MeV >, SG::CondHandleKey< TgcDigitCrosstalkData >, SG::CondHandleKey< SCT_AllGoodStripInfo >, SG::CondHandleKey< LArFebRodMapping >, SG::CondHandleKey< PixelRadiationDamageFluenceMapData >, SG::CondHandleKey< TgcCondDbData >, SG::CondHandleKey< ILArNoise >, SG::CondHandleKey< LBDurationCondData >, SG::CondHandleKey< Muon::MuonIntersectGeoData >, SG::CondHandleKey< ILArMinBias >, SG::CondHandleKey< L1CaloPprChanDefaultsContainer >, SG::CondHandleKey< L1CaloPprChanCalibContainer >, SG::CondHandleKey< MuonGM::MuonDetectorManager >, SG::CondHandleKey< TGCTriggerLUTs >, SG::CondHandleKey< Muon::RpcCablingMap >, SG::CondHandleKey< LArHVNMap >, SG::CondHandleKey< AtlasFieldMapCondObj >, SG::CondHandleKey< LArAutoCorrNoise >, SG::CondHandleKey< TileHid2RESrcID >, SG::CondHandleKey< PixelDCSStateData >, SG::CondHandleKey< DetCondKeyTrans >, SG::CondHandleKey< TileCalibData >, SG::CondHandleKey< ILArMinBiasAverage >, SG::CondHandleKey< TrigConf::L1BunchGroupSet >, SG::CondHandleKey< LArXTalkWeightGlobal >, SG::CondHandleKey< BunchCrossingIntensityCondData >, SG::CondHandleKey< ITkStripCablingData >, SG::CondHandleKey< CondDataObjZ >, SG::CondHandleKey< TileBadChannels >, SG::CondHandleKey< Muon::DigitEffiData >, SG::CondHandleKey< SCT_CablingData >, SG::CondHandleKey< SCT_CondParameterData >, SG::CondHandleKey< DetCondCFloat >, SG::CondHandleKey< PixelHitDiscCnfgData >, SG::CondHandleKey< InDetDD::TRT_DetElementContainer >, SG::CondHandleKey< ILArfSampl >, SG::CondHandleKey< ILArOFC >, SG::CondHandleKey< LArLATOMEMapping >, SG::CondHandleKey< T_DefectsData >, SG::CondHandleKey< LArOFCweightSC >, SG::CondHandleKey< ActsTrk::ActsVolumeIdToDetectorElementCollectionMap >, SG::CondHandleKey< NswErrorCalibData >, SG::CondHandleKey< SCT_DCSFloatCondData >, SG::CondHandleKey< LuminosityCondData >, SG::CondHandleKey< InDetDD::SiDetectorElementCollection >, SG::CondHandleKey< SYM_t >, SG::CondHandleKey< LArOFC >, SG::CondHandleKey< TgcDigitTimeOffsetData >, SG::CondHandleKey< TRTCond::ActiveFraction >, SG::CondHandleKey< TgcDigitJitterData >, SG::CondHandleKey< TRTDedxcorrection >, SG::CondHandleKey< PixelCalib::PixelOfflineCalibData >, SG::CondHandleKey< InDet::TRT_DetElementsRoadData_xk >, SG::CondHandleKey< RpcCablingCondData >, SG::CondHandleKey< CaloAffectedRegionInfoVec >, SG::CondHandleKey< Trk::SolenoidParametrization >, SG::CondHandleKey< BunchLumisCondData >, SG::CondHandleKey< BunchCrossingAverageCondData >, SG::CondHandleKey< ILArAutoCorr >, SG::CondHandleKey< LArAutoCorrTotal >, SG::CondHandleKey< MdtAsBuiltContainer >, SG::CondHandleKey< SCT_GainCalibData >, SG::CondHandleKey< ActsTrk::DetectorAlignStore >, SG::CondHandleKey< CscCondDbData >, SG::CondHandleKey< InDet::SiDetElementBoundaryLinks_xk >, SG::CondHandleKey< MdtCondDbData >, SG::CondHandleKey< SiLorentzAngleCondData >, SG::CondHandleKey< RIO_OnTrackErrorScaling >, SG::CondHandleKey< LArCalibLineMapping >, SG::CondHandleKey< L1CaloPprChanStrategyContainer >, SG::CondHandleKey< L1CaloDerivedRunParsContainer >, SG::CondHandleKey< CONDDATA >, SG::CondHandleKey< Nsw_CablingMap >, SG::CondHandleKey< calib_data_t >, SG::CondHandleKey< NswPassivationDbData >, SG::CondHandleKey< LArCaliWaveContainer >, SG::CondHandleKey< REFCONTAINER >, SG::CondHandleKey< BLineContainer >, SG::CondHandleKey< SCT_MonitorCondData >, SG::CondHandleKey< InDet::SiDetectorElementStatus >, SG::CondHandleKey< RegSelCondData >, SG::CondHandleKey< InDet::BeamSpotData >, SG::CondHandleKey< NswCalibDbTimeChargeData >, SG::CondHandleKey< RpcCondDbData >, SG::CondHandleKey< LArRoIMap >, SG::CondHandleKey< BunchGroupCondData >, SG::CondHandleKey< SCT_NoiseCalibData >, SG::CondHandleKey< TRTCond::HWMap >, SG::CondHandleKey< TRTCond::AverageT0 >, SG::CondHandleKey< InDet::TRTPIDNN >, SG::CondHandleKey< ILArOFCBin >, SG::CondHandleKey< LVL1::gFEXDBCondData >, SG::CondHandleKey< L1CaloRunParametersContainer >, SG::CondHandleKey< AthenaAttributeList >, SG::CondHandleKey< CaloRec::CaloCellPositionShift >, SG::CondHandleKey< PixelDeadMapCondData >, SG::CondHandleKey< PixelTDAQData >, SG::CondHandleKey< PixelDCSTempData >, SG::CondHandleKey< PixelChargeCalibCondData >, SG::CondHandleKey< LVL1::jFEXDBCondData >, SG::CondHandleKey< CaloNoiseSigmaDiff >, SG::CondHandleKey< CaloDetDescrManager >, SG::CondHandleKey< L1CaloPpmFineTimeRefsContainer >, SG::CondHandleKey< AtlasFieldCacheCondObj >, SG::CondHandleKey< TileSamplingFraction >, SG::CondHandleKey< T_EmulatedDefects >, SG::CondHandleKey< TgcDigitThresholdData >, SG::CondHandleKey< NswT0Data >, SG::CondHandleKey< MC_t >, SG::CondHandleKey< FillParamsCondData >, SG::CondHandleKey< CaloCellPedShift >, SG::CondHandleKey< CondDataObjY >, SG::CondHandleKey< TTrainedNetworkCollection >, SG::CondHandleKey< LArFEBTempData >, SG::CondHandleKey< NswCalibDbThresholdData >, SG::CondHandleKey< LArMCSym >, SG::CondHandleKey< PixelCablingCondData >, SG::CondHandleKey< PixelModuleData >, SG::CondHandleKey< L1CaloPprDisabledChannelContainerRun2 >, SG::CondHandleKey< L1CaloReadoutConfigContainerJSON >, SG::CondHandleKey< Trk::LayerMaterialMap >, SG::CondHandleKey< SCT_TdaqEnabledCondData >, SG::CondHandleKey< ILArMphysOverMcal >, SG::CondHandleKey< TrigLiveFractionCondData >, SG::CondHandleKey< SCT_DCSStatCondData >, SG::CondHandleKey< TRTCond::StrawDxContainer >, SG::CondHandleKey< ILArRamp >, SG::CondHandleKey< LWTNNCollection >, SG::CondHandleKey< TRTCond::StrawStatusSummary >, SG::CondHandleKey< TRTCond::StrawStatusMultChanContainer >, SG::CondHandleKey< LArBadXCont >, SG::CondHandleKey< CaloRec::ToolConstants >, SG::CondHandleKey< LArXTalkWeight >, SG::CondHandleKey< ITkPixelCablingData >, SG::CondHandleKey< TgcDigitASDposData >, SG::CondHandleKey< NswAsBuiltDbData >, SG::CondHandleKey< CaloLocalHadCoeff >, SG::CondHandleKey< SCT_SensorsCondData >, SG::CondHandleKey< TRTCond::RtRelationMultChanContainer >, SG::CondHandleKey< TRTCond::StrawStatusData >, SG::CondHandleKey< ILArHVScaleCorr >, SG::CondHandleKey< TrigConf::L1PrescalesSet >, SG::CondHandleKey< TrigConf::HLTPrescalesSet >, SG::CondHandleKey< L1CaloDisabledTowersContainer >, SG::CondHandleKey< LArfSamplSC >, SG::CondHandleKey< MuonAlignmentErrorData >, SG::CondHandleKey< ILArDAC2uA >, SG::CondHandleKey< SCT_CalibDefectData >, SG::CondHandleKey< TileEMScale >, SG::CondHandleKey< TileDCSState >, SG::CondHandleKey< HTcalculator >, SG::CondHandleKey< InDet::TRT_TrackSegmentsToolCondData_xk >, SG::CondHandleKey< GeoAlignmentStore >, SG::CondHandleKey< LArHVCorr >, SG::CondHandleKey< CaloSuperCellDetDescrManager >, SG::CondHandleKey< CaloNoise >, and SG::CondHandleKey< L1CaloPpmDeadChannelsContainer >.

◆ storeHandle()

const ServiceHandle<IProxyDict>& SG::VarHandleKey::storeHandle ( ) const
inherited

Return handle to the referenced store.

◆ updateHandle()

void SG::VarHandleKey::updateHandle ( const std::string &  name)
privateinherited

Update the name of the store to which we're referring.

Parameters
nameThe new store name.

Definition at line 302 of file StoreGate/src/VarHandleKey.cxx.

303 {
304  // Don't invalidate a stored pointer if the handle is already pointing
305  // at the desired service.
306  if (m_storeHandle.name() != name) {
307  m_hashedKey = 0;
308  m_storeHandle = ServiceHandle<IProxyDict>(name, "VarHandleKey");
311  }
312 }

◆ updateKey()

void SG::VarHandleKey::updateKey ( std::string  key)
finaloverrideprivatevirtualinherited

Prevent this method from being called.

Definition at line 203 of file StoreGate/src/VarHandleKey.cxx.

204 {
205  throw SG::ExcForbiddenMethod ("VarHandleKey::updateKey");
206 }

Member Data Documentation

◆ m_cont

template<class T >
MetaCont<T>* SG::MetaHandleKey< T >::m_cont {nullptr}
private

Definition at line 41 of file MetaHandleKey.h.

◆ m_dbKey

template<class T >
MetaContBase::SourceID SG::MetaHandleKey< T >::m_dbKey {""}
private

Definition at line 43 of file MetaHandleKey.h.

◆ m_hashedKey

SG::sgkey_t SG::VarHandleKey::m_hashedKey = 0
privateinherited

The hashed StoreGate key. May be 0 if not yet initialized.

Definition at line 250 of file StoreGate/StoreGate/VarHandleKey.h.

◆ m_isEventStore

bool SG::VarHandleKey::m_isEventStore = false
privateinherited

Cache test for whether we're referencing the event store.

Definition at line 253 of file StoreGate/StoreGate/VarHandleKey.h.

◆ m_isInit

template<class T >
bool SG::MetaHandleKey< T >::m_isInit {false}
private

Definition at line 45 of file MetaHandleKey.h.

◆ m_owningHandle

VarHandleBase* SG::VarHandleKey::m_owningHandle = nullptr
privateinherited

Handle that owns this key, or nullptr if it is not owned.

Definition at line 256 of file StoreGate/StoreGate/VarHandleKey.h.

◆ m_sgKey

std::string SG::VarHandleKey::m_sgKey
privateinherited

StoreGate key, that doesn't include the storename.

Definition at line 247 of file StoreGate/StoreGate/VarHandleKey.h.

◆ m_store

template<class T >
ServiceHandle<StoreGateSvc> SG::MetaHandleKey< T >::m_store
private

Definition at line 40 of file MetaHandleKey.h.

◆ m_storeHandle

ServiceHandle<IProxyDict> SG::VarHandleKey::m_storeHandle
privateinherited

Handle to the referenced store.

Definition at line 244 of file StoreGate/StoreGate/VarHandleKey.h.


The documentation for this class was generated from the following file:
used
common.sgkey
def sgkey(tool)
Definition: common.py:1028
python.trigbs_prescaleL1.ost
ost
Definition: trigbs_prescaleL1.py:104
SG::MetaHandleKey::m_cont
MetaCont< T > * m_cont
Definition: MetaHandleKey.h:41
SG::VarHandleKey::m_isEventStore
bool m_isEventStore
Cache test for whether we're referencing the event store.
Definition: StoreGate/StoreGate/VarHandleKey.h:253
Gaudi::Utils::toStream
std::ostream & toStream(const SG::VarHandleKeyArray &v, std::ostream &o)
Gaudi function used to convert a property to a string.
Definition: StoreGate/src/VarHandleKeyArray.cxx:47
SG::MetaHandleKey::m_dbKey
MetaContBase::SourceID m_dbKey
Definition: MetaHandleKey.h:43
SG::VarHandleKey::m_storeHandle
ServiceHandle< IProxyDict > m_storeHandle
Handle to the referenced store.
Definition: StoreGate/StoreGate/VarHandleKey.h:244
SG::VarHandleKey::updateHandle
void updateHandle(const std::string &name)
Update the name of the store to which we're referring.
Definition: StoreGate/src/VarHandleKey.cxx:302
SG::VarHandleKey::m_hashedKey
SG::sgkey_t m_hashedKey
The hashed StoreGate key. May be 0 if not yet initialized.
Definition: StoreGate/StoreGate/VarHandleKey.h:250
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
storeSeparator
constexpr char const storeSeparator
Definition: StoreGate/src/VarHandleKey.cxx:27
StoreID::CONDITION_STORE
@ CONDITION_STORE
Definition: StoreID.h:28
StoreID::PILEUP_STORE
@ PILEUP_STORE
Definition: StoreID.h:31
SG::ExcBadHandleKey
Exception — Bad key format for VarHandleKey.
Definition: Control/StoreGate/StoreGate/exceptions.h:62
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Preparation.mode
mode
Definition: Preparation.py:107
StoreID::METADATA_STORE
@ METADATA_STORE
Definition: StoreID.h:29
SG::ExcForbiddenMethod
Exception — Forbidden method called.
Definition: Control/StoreGate/StoreGate/exceptions.h:77
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
SG::MetaHandleKey::m_isInit
bool m_isInit
Definition: MetaHandleKey.h:45
SG::VarHandleKey::m_sgKey
std::string m_sgKey
StoreGate key, that doesn't include the storename.
Definition: StoreGate/StoreGate/VarHandleKey.h:247
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
StoreID::type
type
Definition: StoreID.h:24
StoreID::findStoreID
static StoreID::type findStoreID(const std::string &storeName)
Definition: StoreID.cxx:21
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
StoreID::EVENT_STORE
@ EVENT_STORE
Definition: StoreID.h:26
SG::AllowEmpty
@ AllowEmpty
Definition: StoreGate/StoreGate/VarHandleKey.h:30
LArL1Calo_ComputeHVCorr.className
className
Definition: LArL1Calo_ComputeHVCorr.py:135
StoreID::storeName
static const std::string & storeName(const StoreID::type &s)
Definition: StoreID.cxx:77
SG::MetaHandleKey::dbKey
const MetaContBase::SourceID & dbKey() const
Definition: MetaHandleKey.h:28
ServiceHandle< IProxyDict >