ATLAS Offline Software
Loading...
Searching...
No Matches
SG::WriteDecorHandleKey< T > Class Template Reference

Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made. More...

#include <WriteDecorHandleKey.h>

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

Public Types

typedef WriteHandleKey< T > Base
using PropertyType = SG::VarHandleKeyProperty
 Declare corresponding property type.

Public Member Functions

 WriteDecorHandleKey (const std::string &key="", const std::string &storeName=StoreID::storeName(StoreID::EVENT_STORE))
 Constructor.
 WriteDecorHandleKey (const VarHandleKey &contKey, const std::string &decorKey="", const std::string &storeName=StoreID::storeName(StoreID::EVENT_STORE))
 Constructor with associated container.
template<std::derived_from< IProperty > OWNER>
 WriteDecorHandleKey (OWNER *owner, const std::string &name, const std::string &key={}, const std::string &doc="")
 auto-declaring Property Constructor.
template<std::derived_from< IProperty > OWNER>
 WriteDecorHandleKey (OWNER *owner, const std::string &name, const VarHandleKey &contKey, const std::string &decorKey={}, const std::string &doc="")
 auto-declaring Property Constructor.
WriteDecorHandleKeyoperator= (const std::string &sgkey)
 Change the key of the object to which we're referring.
virtual StatusCode assign (const std::string &sgkey) override
 Change the key of the object to which we're referring.
StatusCode initialize (bool used=true)
 If this object is used as a property, then this should be called during the initialize phase.
StatusCode initialize (AllowEmptyEnum)
 If this object is used as a property, then this should be called during the initialize phase.
const ReadHandleKey< T > & contHandleKey () const
 Return the handle key for the container.
void renounce ()
 Declare that this item does not participate in scheduling.
bool renounced () const
 Return the renounced flag.
CLID clid () const
 Return the class ID for the referenced object.
const std::string & key () const
 Return the StoreGate ID for the referenced object.
bool empty () const
 Test if the key is blank.
const ServiceHandle< IProxyDict > & storeHandle () const
 Return handle to the referenced store.
VarHandleBaseowningHandle ()
 Return the VarHandle that owns this key, if any.
bool isEventStore () const
 Does this key reference the primary event store?
virtual StatusCode start ()
 Called by the owning algorithm during the START transition.
SG::sgkey_t hashedKey () const
 Return the hashed StoreGate key.

Static Public Attributes

static constexpr bool isDecorHandleKey = true

Private Member Functions

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

Private Attributes

ReadHandleKey< T > m_contHandleKey
 The container handle.
const VarHandleKeym_contKey = nullptr
 Optional container on which decorations are applied.
bool m_renounced = false
 True if this key has been the target of a renounce().
ServiceHandle< IProxyDictm_storeHandle
 Handle to the referenced store.
std::string m_sgKey
 StoreGate key, that doesn't include the storename.
SG::sgkey_t m_hashedKey = 0
 The hashed StoreGate key. May be 0 if not yet initialized.
bool m_isEventStore = false
 Cache test for whether we're referencing the event store.
VarHandleBasem_owningHandle = nullptr
 Handle that owns this key, or nullptr if it is not owned.

Friends

class ::AthAlgorithm
class ::AthReentrantAlgorithm
class ::AthAlgTool

Detailed Description

template<class T>
class SG::WriteDecorHandleKey< T >

Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.

This class holds the key part of a WriteDecorHandle.

Use this to add a decoration to an object such that the scheduler is aware of it. This is used just like a WriteHandleKey (which see) except that the key string is of the form CCC.DDD, where CCC is the name of the container in StoreGate and DDD is the name of the decoration.

Example:

class MyAlgorithm : public AthReentrantAlgorithm {
...
SG::WriteDecorHandleKey<MyCont> m_key{this, "Key", "container.decor"};
};
StatusCode MyAlgorithm::initialize()
{
ATH_CHECK( m_key.initialize() );
...
}
StatusCode MyAlgorithm::execute (const EventContext& ctx) const
{
SG::WriteDecorHandle<MyCont, float> h (m_key, ctx);
for (const MyObj& o : *h) { // Access the container.
h (o) = calculate (o); // Add the decoration.
...
#define ATH_CHECK
Evaluate an expression and check for errors.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
void calculate(xAOD::Electron &electron)

Alternatively, one can construct the key with an additional VarHandleKey that represents the container and the key then only holds the decoration name. This is useful to avoid hard-coding the container name twice in case the algorithm also has a ReadHandleKey or WriteHandleKey for the container:

Example:

class MyAlgorithm : public AthReentrantAlgorithm {
...
SG::WriteHandleKey<MyCont> m_whkey{this, "WHKey", "container"};
SG::WriteDecorHandleKey<MyCont> m_wdhkey{this, "Key", m_whkey, "decor"};
};
...
Property holding a SG store/key/clid from which a WriteHandle is made.

Implementation note: We want to make two dependencies from this key: a read dependency on the container itself, and a write dependency on the decoration. This class derives from WriteHandleKey, which provides the output dependency on the decoration. We also hold as a member a ReadHandleKey for the container. This extra dependency is added at initialize time via registerWriteDecorHandleKey(), which see.

Definition at line 88 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

Member Typedef Documentation

◆ Base

template<class T>
typedef WriteHandleKey<T> SG::WriteDecorHandleKey< T >::Base

Definition at line 92 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

◆ PropertyType

Declare corresponding property type.

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

Constructor & Destructor Documentation

◆ WriteDecorHandleKey() [1/4]

template<class T>
SG::WriteDecorHandleKey< T >::WriteDecorHandleKey ( const std::string & key = "",
const std::string & storeName = StoreID::storeName(StoreID::EVENT_STORE) )
explicit

Constructor.

Parameters
keyThe StoreGate key for the object.
storeNameName to use for the store, if it's not encoded in sgkey.

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.

◆ WriteDecorHandleKey() [2/4]

template<class T>
SG::WriteDecorHandleKey< T >::WriteDecorHandleKey ( const VarHandleKey & contKey,
const std::string & decorKey = "",
const std::string & storeName = StoreID::storeName(StoreID::EVENT_STORE) )
explicit

Constructor with associated container.

Parameters
contKeyVarHandleKey of the associated container
decorKeyThe decoration name.
storeNameName to use for the store.

The decoration @decorKey will be applied on the container referenced by @contKey.

◆ WriteDecorHandleKey() [3/4]

template<class T>
template<std::derived_from< IProperty > OWNER>
SG::WriteDecorHandleKey< T >::WriteDecorHandleKey ( OWNER * owner,
const std::string & name,
const std::string & key = {},
const std::string & doc = "" )

auto-declaring Property Constructor.

Parameters
ownerOwning component.
namename of the Property
keydefault StoreGate key for the object.
docDocumentation string.

will associate the named Property with this WDHK via declareProperty

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.

◆ WriteDecorHandleKey() [4/4]

template<class T>
template<std::derived_from< IProperty > OWNER>
SG::WriteDecorHandleKey< T >::WriteDecorHandleKey ( OWNER * owner,
const std::string & name,
const VarHandleKey & contKey,
const std::string & decorKey = {},
const std::string & doc = "" )

auto-declaring Property Constructor.

Parameters
ownerOwning component.
namename of the Property
contKeyVarHandleKey of the associated container
decorKeyname The decoration name.
docDocumentation string.

Will associate the named Property with this WDHK via declareProperty The container part of the decoration key will be taken from contKey, while decorKey gives the name of the decoration itself. If decorKey is blank, then the overall key will be blank.

Member Function Documentation

◆ assign()

template<class T>
virtual StatusCode SG::WriteDecorHandleKey< T >::assign ( const std::string & sgkey)
overridevirtual

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 from SG::VarHandleKey.

◆ 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}

◆ contHandleKey()

template<class T>
const ReadHandleKey< T > & SG::WriteDecorHandleKey< T >::contHandleKey ( ) const

Return the handle key for the container.

◆ contHandleKey_nc()

template<class T>
ReadHandleKey< T > & SG::WriteDecorHandleKey< T >::contHandleKey_nc ( )
private

Return the handle key for the container.

Should be used only by AthAlgorithm/AthAlgTool.

◆ 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}
std::string m_sgKey
StoreGate key, that doesn't include the storename.

◆ hashedKey()

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

Return the hashed StoreGate key.

May be 0 if not yet initialized.

◆ initialize() [1/2]

template<class T>
StatusCode SG::WriteDecorHandleKey< T >::initialize ( AllowEmptyEnum )

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) );
const std::string & key() const
Return the StoreGate ID for the referenced object.

◆ initialize() [2/2]

template<class T>
StatusCode SG::WriteDecorHandleKey< T >::initialize ( bool used = true)

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.

◆ isEventStore()

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

Does this key reference the primary event store?

◆ 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}

◆ operator=()

template<class T>
WriteDecorHandleKey & SG::WriteDecorHandleKey< T >::operator= ( const std::string & sgkey)

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.

◆ 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
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
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}
constexpr char const storeSeparator
SG::sgkey_t m_hashedKey
The hashed StoreGate key. May be 0 if not yet initialized.
void updateHandle(const std::string &name)
Update the name of the store to which we're referring.
@ CONDITION_STORE
Definition StoreID.h:28
@ METADATA_STORE
Definition StoreID.h:29
static const std::string & storeName(const StoreID::type &s)
Definition StoreID.cxx:77
static StoreID::type findStoreID(const std::string &storeName)
Definition StoreID.cxx:21

◆ pythonRepr()

template<class T>
virtual std::string SG::WriteDecorHandleKey< T >::pythonRepr ( ) const
overrideprivatevirtual

Python representation of Handle.

Reimplemented from SG::VarHandleKey.

◆ renounce()

template<class T>
void SG::WriteDecorHandleKey< T >::renounce ( )

Declare that this item does not participate in scheduling.

If a WriteDataHandleKey is renounced, then we skip creating the output alias. Further, we skip the check that the element provided is a member of the declared container. A WriteDataHandle initialized from a renounced key will effectively behave like a simple Decorator.

◆ renounced()

template<class T>
bool SG::WriteDecorHandleKey< T >::renounced ( ) const

Return the renounced flag.

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

◆ 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}
ServiceHandle< IProxyDict > m_storeHandle
Handle to the referenced store.
bool m_isEventStore
Cache test for whether we're referencing the event store.
@ EVENT_STORE
Definition StoreID.h:26
@ PILEUP_STORE
Definition StoreID.h:31

◆ 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}

◆ ::AthAlgorithm

template<class T>
friend class ::AthAlgorithm
friend

Definition at line 238 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

◆ ::AthAlgTool

template<class T>
friend class ::AthAlgTool
friend

Definition at line 240 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

◆ ::AthReentrantAlgorithm

template<class T>
friend class ::AthReentrantAlgorithm
friend

Definition at line 239 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

Member Data Documentation

◆ isDecorHandleKey

template<class T>
bool SG::WriteDecorHandleKey< T >::isDecorHandleKey = true
staticconstexpr

Definition at line 95 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

◆ m_contHandleKey

template<class T>
ReadHandleKey<T> SG::WriteDecorHandleKey< T >::m_contHandleKey
private

The container handle.

Definition at line 255 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

◆ m_contKey

template<class T>
const VarHandleKey* SG::WriteDecorHandleKey< T >::m_contKey = nullptr
private

Optional container on which decorations are applied.

Definition at line 258 of file StoreGate/StoreGate/WriteDecorHandleKey.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 249 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 252 of file StoreGate/StoreGate/VarHandleKey.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 255 of file StoreGate/StoreGate/VarHandleKey.h.

◆ m_renounced

template<class T>
bool SG::WriteDecorHandleKey< T >::m_renounced = false
private

True if this key has been the target of a renounce().

(In that case, we don't make the output alias.)

Definition at line 262 of file StoreGate/StoreGate/WriteDecorHandleKey.h.

◆ m_sgKey

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

StoreGate key, that doesn't include the storename.

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

◆ m_storeHandle

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

Handle to the referenced store.

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


The documentation for this class was generated from the following file: