|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef SGTOOLS_TRANSIENTADDRESS_H
6 #define SGTOOLS_TRANSIENTADDRESS_H
19 #include "GaudiKernel/ClassID.h"
81 const std::string&
name()
const;
127 bool isValid (
const EventContext* ctx,
bool forceUpdate =
false);
137 IOpaqueAddress* addr,
326 #endif // STOREGATE_TRANSIENTADDRESS
std::atomic< CLID > m_clid
< clid of the concrete class (persistent clid)
const T * ptr() const
Return a pointer to the cached value.
std::string find(const std::string &s)
return a remapped string
StoreID::type storeID() const
CxxUtils::CachedValue< std::string > m_name
all transient clids. They come from symlinks
TransientAddress & operator=(const TransientAddress &)
IOpaqueAddress *TransientAddress::address ATLAS_NOT_CONST_THREAD_SAFE() const
Retrieve IOpaqueAddress.
bool isValid() const
Test to see if the value is valid.
void setAlias(const std::string &key)
set alias'
sgkey_t sgkey() const
Set the primary (hashed) SG key.
bool clearAddress() const
this sets the flag whether to consult the provider to update this transient address if the IOA is not...
std::vector< CLID > TransientClidSet
Strictly a set, but there shouldn't be more than a handful of entries, so store it as a sorted vector...
bool removeAlias(const std::string &key)
remove alias from proxy
void reset()
Retrieve IOpaqueAddress.
SG::sgkey_t sgkey_t
Type of the keys.
IOpaqueAddress * m_address
AddressProvider.
StoreID::type m_storeID
Controls if IOpaqueAddress should be deleted:
const std::string & name() const
Get the primary (hashed) SG key.
TransientClidSet m_transientID
all alias names for a DataObject. They come from setAlias
Abstract interface for looking up strings/CLIDs in a pool.
std::atomic< sgkey_t > m_sgkey
Store type, needed by updateAddress.
const TransientAliasSet & alias() const
set the clearAddress flag: IOA will not be deleted in proxy
IAddressProvider * provider()
CLID clID() const
Retrieve string key:
bool isValid(const EventContext *ctx, bool forceUpdate=false)
cache the pointer to the Address provider which can update this transient address
interface for IOA providers
IStringPool::sgkey_t sgkey_t
Default Constructor.
uint32_t CLID
The Class ID type.
void setProvider(IAddressProvider *provider, StoreID::type storeID)
TransientAliasSet m_transientAlias
Cached value with atomic update.
void setTransientID(CLID id)
get transient CLID's
bool m_clearAddress
Control whether the Address Provider must be consulted.
void setID(CLID id, const std::string &key)
Set the CLID / key.
void setAddress(IOpaqueAddress *pAddress)
Retrieve primary clid.
const TransientClidSet & transientID() const
set alias'
void consultProvider(const bool &flag)
Check the validity of the Transient Address.
bool m_consultProvider
IOpaqueAddress:
void setSGKey(sgkey_t sgkey)
check if it is a transient ID (primary or symLinked):
IOpaqueAddress *address ATLAS_NOT_CONST_THREAD_SAFE() const
set IOpaqueAddress
TransientAddress()
Construct from clid and string key:
Define macros for attributes used to control the static checker.
std::set< std::string > TransientAliasSet
IAddressProvider * m_pAddressProvider
string key of this object
static const std::string s_emptyString