![]() |
ATLAS Offline Software
|
The Athena Transient Store API. More...
#include <SGImplSvc.h>
Public Member Functions | |
| SGImplSvc (const SGImplSvc &)=delete | |
| SGImplSvc & | operator= (const SGImplSvc &)=delete |
Basic Client Interface: data object access | |
| StatusCode | retrieve (CLID clid, SG::detail::IteratorBase &cibegin, SG::detail::IteratorBase &ciend) const |
| Retrieve all objects of type T: returns an SG::ConstIterator range. | |
Advanced Client Interface: data object registration | |
| StatusCode | recordAddress (const std::string &skey, CxxUtils::RefCountedPtr< IOpaqueAddress > pAddress, bool clearAddressFlag=true) |
| Create a proxy object using an IOpaqueAddress and a transient key. | |
| StatusCode | recordAddress (CxxUtils::RefCountedPtr< IOpaqueAddress > pAddress, bool clearAddressFlag=true) |
| Create a proxy object using an IOpaqueAddress. | |
| StatusCode | symLink (const void *p2BRegistered, CLID linkID) |
| make a soft link to the object T* already registered | |
| StatusCode | symLink (const CLID id, const std::string &key, const CLID linkid) |
| make a soft link to the object pointed by id/key | |
| StatusCode | setAlias (CLID clid, const std::string &key, const std::string &aliasKey) |
| make an alias to a DataObject (provide data type and old key) | |
| StatusCode | setAlias (const void *p2BAliased, const std::string &aliasKey) |
| make an alias to a DataObject (provide only valid pointer) | |
| StatusCode | setAlias (SG::DataProxy *proxy, const std::string &aliasKey) |
| make an alias to a DataObject (provide valid proxy) | |
| StatusCode | setConst (const void *pointer) |
| prevent downstream clients from modifying the pointed-at dobj | |
| StatusCode | remove (const void *pObject) |
| Remove pObject, will remove its proxy if not reset only. | |
| StatusCode | removeDataAndProxy (const void *pObject) |
| Remove pObject and its proxy no matter what. | |
| bool | transientSwap (const CLID &id, const std::string &keyA, const std::string &keyB) |
| swap the content of 2 keys payload A indexed by keyA will now be accessed via keyB and vice versa Note that the swap is invalidated at event boundaries and/or when somebody clear the store. | |
Advanced Client Interface: data object access | |
| DataObject * | typeless_retrievePrivateCopy (const CLID clid, const std::string &key) |
| CLID | clid (const std::string &key) const |
Retrieve the main CLID of the object recorded in StoreGate with the given "key" WARNING: slow! | |
| std::vector< CLID > | clids (const std::string &key) const |
Retrieve all the CLID s (including symlinks) of the object recorded in StoreGate with the given "key" WARNING: slow! | |
| int | typeCount (const CLID &id) const |
| Return the number of instances of type T (input CLID) | |
| bool | contains (const CLID id, const std::string &key) const |
| Look up a keyed object in TDS by CLID. | |
| bool | transientContains (const CLID id, const std::string &key) const |
| Look up a transient data object in TDS only by CLID. | |
| std::string | dump () const |
| dump objects in store. | |
| void | setStoreID (StoreID::type id) |
| set store ID. request forwarded to DataStore: | |
| StoreID::type | storeID () const |
| get store ID. request forwarded to DataStore: | |
| void | keys (const CLID &id, std::vector< std::string > &vkeys, bool includeAlias=false, bool onlyValid=true) |
| provide list of all StoreGate keys associated with an object. | |
| virtual::IProxyDict * | hiveProxyDict () override final |
| implements IHiveStore interface for compat with Hive | |
IOVSvc interface | |
| StatusCode | regFcn (const CallBackID &c1, const CallBackID &c2, const IOVSvcCallBackFcn &fcn, bool trigger=false) |
| register a callback function(2) with an already registered function(1) | |
| StatusCode | regFcn (const std::string &toolName, const CallBackID &c2, const IOVSvcCallBackFcn &fcn, bool trigger=false) |
| register a callback function(2) with an already registered AlgTool | |
| virtual SG::DataProxy * | proxy (const void *const pTransient) const override final |
| get proxy for a given data object address in memory | |
| virtual SG::DataProxy * | proxy (const CLID &id) const final |
| get default proxy with given id. | |
| virtual SG::DataProxy * | proxy (const CLID &id, const std::string &key) const override final |
| get proxy with given id and key. Returns 0 to flag failure | |
| virtual SG::DataProxy * | proxy (const CLID &id, const char *key) const final |
| get proxy with given id and key. | |
| virtual StatusCode | addToStore (CLID id, SG::DataProxy *proxy) override final |
| Raw addition of a proxy to the store. | |
| virtual SG::DataProxy * | recordObject (SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting) override final |
| Record an object in the store. | |
| virtual SG::DataProxy * | proxy_exact (SG::sgkey_t sgkey) const override final |
| Get proxy given a hashed key+clid. | |
more proxy dictionary functionality | |
| virtual SG::DataProxy * | proxy (const CLID &id, bool checkValid) const |
| get default proxy with given id, optionally checking validity. | |
| virtual SG::DataProxy * | proxy (const CLID &id, const std::string &key, bool checkValid) const |
| get proxy with given id and key, optionally checking validity. | |
| virtual SG::DataProxy * | proxy (const CLID &id, const char *key, bool checkValid) const |
| get proxy with given id and key, optionally checking validity. | |
| virtual std::vector< const SG::DataProxy * > | proxies () const override final |
| return the list of all current proxies in store | |
| std::vector< CLID > | clids () const |
| Return all CLIDs in the store. | |
| SG::DataProxy * | transientProxy (const CLID &id, const std::string &key) const |
| get proxy with given id and key. | |
| DataObject * | accessData (const CLID &id) const |
| find proxy and access its data. Returns 0 to flag failure | |
| DataObject * | accessData (const CLID &id, const std::string &key) const |
| find proxy and access its data. Returns 0 to flag failure | |
| void | setProxyProviderSvc (IProxyProviderSvc *pPPSvc) |
| associate ProxyProviderSvc to this store | |
| IProxyProviderSvc * | proxyProviderSvc () |
| Return current ProxyProviderSvc. | |
| virtual SG::SourceID | sourceID (const std::string &key="EventSelector") const override |
| Return the metadata source ID for the current event slot. | |
ElementLink remapping | |
| void | remap_impl (sgkey_t source, sgkey_t target, off_t index_offset) |
| Declare a remapping. | |
| virtual bool | tryELRemap (sgkey_t sgkey_in, size_t index_in, sgkey_t &sgkey_out, size_t &index_out) override final |
| Test to see if the target of an ElementLink has moved. | |
Gaudi Standard Service constructors/destructors | |
| SGImplSvc (const std::string &name, ISvcLocator *svc) | |
| Standard Constructor. | |
| virtual | ~SGImplSvc () override final |
| Standard Destructor. | |
Gaudi IService implementation | |
| virtual StatusCode | initialize () override final |
| Service initialization. | |
| virtual StatusCode | reinitialize () override final |
| Service reinitialization. | |
| virtual StatusCode | start () override final |
| Service start. | |
| virtual StatusCode | stop () override final |
| Service stop. | |
| virtual StatusCode | finalize () override final |
| Service finalization. | |
Gaudi IIncidentListener implementation | |
| virtual void | handle (const Incident &) override final |
| triggered by Incident service | |
| StatusCode | loadEventProxies () |
| load proxies at begin event | |
String <-> int key conversions. IStringPool implementation | |
| typedef IStringPool::sgkey_t | sgkey_t |
| virtual sgkey_t | stringToKey (const std::string &str, CLID clid) override final |
| Find the key for a string/CLID pair. | |
| virtual const std::string * | keyToString (sgkey_t key) const override final |
| Find the string corresponding to a given key. | |
| virtual const std::string * | keyToString (sgkey_t key, CLID &clid) const override final |
| Find the string and CLID corresponding to a given key. | |
| virtual void | registerKey (sgkey_t key, const std::string &str, CLID clidid) override final |
| Remember an additional mapping from key to string/CLID. | |
| bool | mergeStringPool (const SGImplSvc &other) |
| Merge the string pool from another store into this one. | |
IHiveStoreMgr implementation | |
| typedef std::recursive_mutex | mutex_t |
| typedef std::lock_guard< mutex_t > | lock_t |
| class | IOVDbSvc |
| access clearProxyPayload | |
| class | IOVSvcTool |
| class | AthenaOutputStream |
| access proxyRange() | |
| class | StoreGateSvc |
| class | SG::VarHandleBase |
| access typeless_record | |
| class | ActiveStoreSvc |
| PyObject * | AthenaInternal::recordObjectToStore (StoreGateSvc *, PyObject *, PyObject *, bool, bool, bool) |
| void | AthenaInternal::py_sg_clearProxyPayload (StoreGateSvc *, SG::DataProxy *) |
| ServiceHandle< IClassIDSvc > | m_pCLIDSvc |
| ServiceHandle< IConversionSvc > | m_pDataLoader |
| ServiceHandle< IProxyProviderSvc > | m_pPPSHandle |
| IProxyProviderSvc * | m_pPPS |
| ServiceHandle< IHistorySvc > | m_pHistorySvc |
| SG::DataStore * | m_pStore |
| std::list< DataObject * > | m_trash |
| The Recycle Bin. | |
| ServiceHandle< IIncidentSvc > | m_pIncSvc |
| property | |
| bool | m_DumpStore |
| Dump Property flag: triggers dump() at EndEvent. | |
| bool | m_ActivateHistory |
| Activate the history service. | |
| bool | m_DumpArena |
| DumpArena Property flag : trigger m_arena->report() at clearStore. | |
| StringArrayProperty | m_folderNameList |
| FolderNameList Property. | |
| ServiceHandle< IIOVSvc > | m_pIOVSvc |
| get the IOVSvc "just in time" (breaks recursion at initialize) | |
| bool | m_storeLoaded |
| FIXME hack needed by loadEventProxies. | |
| SG::StringPool | m_stringpool |
| SG::RemapImpl * | m_remap_impl |
| SG::Arena | m_arena |
| Allocation arena to associate with this store. | |
| int | m_slotNumber |
| The Hive slot number for this store, or -1 if this isn't a Hive store. | |
| int | m_numSlots |
| The total number of slots. 1 if this isn't a Hive store. | |
| std::map< std::thread::id, std::vector< IResetable * > > | m_newBoundHandles |
| Keep track of proxies bound since the last call to commitNewDataObjects or clearStore. | |
| mutex_t | m_mutex |
| mutex_t | m_remapMutex |
| mutex_t | m_stringPoolMutex |
| virtual StatusCode | clearStore (bool forceRemove=false) override final |
| clear DataStore contents: called by the event loop mgrs | |
| virtual void | commitNewDataObjects () override final |
| Reset handles added since the last call to commit. | |
| void | setSlotNumber (int slot, int numSlots) |
| Set the Hive slot number for this store. | |
| virtual void | boundHandle (IResetable *handle) override final |
| Tell the store that a proxy has been bound to a handle. | |
| virtual void | unboundHandle (IResetable *handle) override final |
| Tell the store that a handle has been unbound from a proxy. | |
| virtual StatusCode | createObj (IConverter *cvt, IOpaqueAddress *addr, DataObject *&refpObject) override |
| Call converter to create an object, with locking. | |
| StatusCode | record_HistObj (const CLID &id, const std::string &key, const std::string &store, bool allowMods, bool resetOnly=true) |
| StatusCode | typeless_record (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly=true, bool noHist=false) |
| type-less recording of an object with a key, allow possibility of specifying const-access and history record | |
| StatusCode | typeless_overwrite (const CLID &id, DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool noHist=false, const std::type_info *tinfo=0) |
| same as typeless_record, allows to overwrite an object in memory or on disk | |
| StatusCode | typeless_record (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly, bool noHist, const std::type_info *tinfo) |
| StatusCode | typeless_record (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly, bool noHist, const std::type_info *tinfo, SG::DataProxy **proxy_ret, bool noOverwrite) |
| SG::DataProxy * | record_impl (DataObject *obj, const std::string &key, const void *const raw_ptr, bool allowMods, bool resetOnly, bool allowOverwrite, const std::type_info *tinfo) |
| real recording of an object with a key, allow possibility of specifying const-access | |
| void | releaseObject (const CLID &id, const std::string &key) |
| release object held by proxy, if any. | |
| void | clearProxyPayload (SG::DataProxy *) |
| use to reset a proxy (clearing the data object it contains) Unlike DataProxy::reset this method correctly updates SGSvc internals | |
| SG::DataProxy * | locatePersistent (const SG::TransientAddress *tAddr, bool checkValid=false) const |
| StatusCode | proxyRange (const CLID &id, SG::ConstProxyIterator &beg, SG::ConstProxyIterator &end) const |
| return a range to all proxies of a given CLID | |
| SG::DataStore * | store () |
| const SG::DataStore * | store () const |
| bool | isSymLinked (const CLID &linkID, SG::DataProxy *dp) |
| StatusCode | addSymLink (const CLID &linkid, SG::DataProxy *dp) |
| StatusCode | addAlias (const std::string &aliasKey, SG::DataProxy *dp) |
| std::string | createKey (const CLID &dataID) |
| creates a key internally if none specified by client | |
| SG::DataProxy * | setupProxy (const CLID &dataID, const std::string &gK, DataObject *pDObj, bool allowMods, bool resetOnly) |
| try to locate a proxy or create it if needed | |
| void | recycle (DataObject *pBadDObj) |
| put a bad (unrecordable) dobj away | |
| void | emptyTrash () |
| throw away bad objects | |
| bool | bindHandleToProxy (const CLID &id, const std::string &key, IResetable *ir, SG::DataProxy *&dp) |
| name says it all | |
| bool | bindHandleToProxyAndRegister (const CLID &id, const std::string &key, IResetable *ir, SG::DataProxy *&dp) |
| Also do registration with IOVSvc. | |
| bool | bindHandleToProxyAndRegister (const CLID &id, const std::string &key, IResetable *ir, SG::DataProxy *&dp, const CallBackID &c, const IOVSvcCallBackFcn &fcn, bool trigger) |
| StatusCode | removeProxy (SG::DataProxy *proxy, const void *pTrans, bool forceRemove=false) |
| remove proxy from store, unless it is reset only. | |
| StatusCode | t2pRegister (const void *const pTrans, SG::DataProxy *const pPers) |
| forwarded to DataStore | |
| void | t2pRemove (const void *const pTrans) |
| forwarded to DataStore | |
| void | msg_update_handler (Gaudi::Details::PropertyBase &outputLevel) |
| callback for output level property | |
| bool | associateAux_impl (SG::AuxVectorBase *ptr, const std::string &key, CLID auxclid) const |
| bool | associateAux_impl (SG::AuxElement *ptr, const std::string &key, CLID auxclid) const |
| void | addAutoSymLinks (const std::string &key, CLID clid, SG::DataProxy *dp, const std::type_info *tinfo, bool warn_nobib=true) |
| Add automatically-made symlinks for DP. | |
| void | makeCurrent () |
| The current store is becoming the active store. | |
The Athena Transient Store API.
| Dump | property (default false): set to call dump() at EndEvent |
| FolderNameList | property (default ""): data folders to be created in this store |
Definition at line 106 of file SGImplSvc.h.
|
private |
Definition at line 724 of file SGImplSvc.h.
|
private |
Definition at line 723 of file SGImplSvc.h.
Definition at line 354 of file SGImplSvc.h.
|
delete |
| SGImplSvc::SGImplSvc | ( | const std::string & | name, |
| ISvcLocator * | svc ) |
Standard Constructor.
Definition at line 102 of file SGImplSvc.cxx.
|
finaloverridevirtual |
| DataObject * SGImplSvc::accessData | ( | const CLID & | id | ) | const |
find proxy and access its data. Returns 0 to flag failure
Definition at line 974 of file SGImplSvc.cxx.
| DataObject * SGImplSvc::accessData | ( | const CLID & | id, |
| const std::string & | key ) const |
find proxy and access its data. Returns 0 to flag failure
Definition at line 982 of file SGImplSvc.cxx.
|
private |
Definition at line 682 of file SGImplSvc.cxx.
|
private |
Add automatically-made symlinks for DP.
Definition at line 1676 of file SGImplSvc.cxx.
|
private |
Definition at line 602 of file SGImplSvc.cxx.
|
finaloverridevirtual |
|
private |
Definition at line 1916 of file SGImplSvc.cxx.
|
private |
Definition at line 1881 of file SGImplSvc.cxx.
|
private |
name says it all
Definition at line 1357 of file SGImplSvc.cxx.
|
private |
Also do registration with IOVSvc.
Definition at line 1389 of file SGImplSvc.cxx.
|
private |
Definition at line 1403 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Tell the store that a proxy has been bound to a handle.
| proxy | The proxy that was bound. The default implementation does nothing. |
Definition at line 1757 of file SGImplSvc.cxx.
|
private |
use to reset a proxy (clearing the data object it contains) Unlike DataProxy::reset this method correctly updates SGSvc internals
Definition at line 1563 of file SGImplSvc.cxx.
|
finaloverridevirtual |
clear DataStore contents: called by the event loop mgrs
| forceRemove | if true remove proxies ignoring their resetOnly flag |
Definition at line 268 of file SGImplSvc.cxx.
| CLID SGImplSvc::clid | ( | const std::string & | key | ) | const |
Retrieve the main CLID of the object recorded in StoreGate with the given "key" WARNING: slow!
Definition at line 1642 of file SGImplSvc.cxx.
| std::vector< CLID > SGImplSvc::clids | ( | ) | const |
Return all CLIDs in the store.
Definition at line 945 of file SGImplSvc.cxx.
| std::vector< CLID > SGImplSvc::clids | ( | const std::string & | key | ) | const |
Retrieve all the CLID s (including symlinks) of the object recorded in StoreGate with the given "key" WARNING: slow!
Definition at line 1658 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Reset handles added since the last call to commit.
Definition at line 1739 of file SGImplSvc.cxx.
| bool SGImplSvc::contains | ( | const CLID | id, |
| const std::string & | key ) const |
Look up a keyed object in TDS by CLID.
returns false if object not available in TDS or persistent stores Usage: if (!p_store->contains(FooID, "fooKey")) { ... }
Definition at line 702 of file SGImplSvc.cxx.
creates a key internally if none specified by client
Definition at line 262 of file SGImplSvc.cxx.
|
overridevirtual |
Call converter to create an object, with locking.
| cvt | The converter to call. |
| addr | Opaque address information for the object to create. |
| refpObject | Reference to location of the pointer of the created object. |
This calls the createObj method on cvt to create the referenced transient object, locking the store during the call.
Definition at line 1800 of file SGImplSvc.cxx.
| string SGImplSvc::dump | ( | ) | const |
dump objects in store.
request forwarded to DataStore this is triggered at EndEvent setting the Dump property to true
Definition at line 524 of file SGImplSvc.cxx.
|
private |
|
finaloverridevirtual |
Service finalization.
Definition at line 303 of file SGImplSvc.cxx.
|
finaloverridevirtual |
triggered by Incident service
Definition at line 232 of file SGImplSvc.cxx.
|
inlinefinaloverride |
implements IHiveStore interface for compat with Hive
Definition at line 228 of file SGImplSvc.h.
|
finaloverridevirtual |
Service initialization.
Definition at line 147 of file SGImplSvc.cxx.
|
private |
Definition at line 494 of file SGImplSvc.cxx.
| void SGImplSvc::keys | ( | const CLID & | id, |
| std::vector< std::string > & | vkeys, | ||
| bool | includeAlias = false, | ||
| bool | onlyValid = true ) |
provide list of all StoreGate keys associated with an object.
usage: p_store->keys(CLID, vkeys, optionalFlags);
| id | CLID for which we are requesting list of keys |
| vkeys | will be filled with the (possibly empty) list of keys |
| includeAlias | (default false) add alias keys as well |
| onlyValid | (default true) add only keys of valid dobjs |
Definition at line 485 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Find the string corresponding to a given key.
| key | The key to look up. |
stringToKey() or registerKey(). Definition at line 1471 of file SGImplSvc.cxx.
Find the string and CLID corresponding to a given key.
| key | The key to look up. |
| clid[out] | The found CLID. |
stringToKey() or registerKey(). Definition at line 1487 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::loadEventProxies | ( | ) |
load proxies at begin event
Definition at line 243 of file SGImplSvc.cxx.
|
private |
|
private |
The current store is becoming the active store.
Switch the allocation arena, if needed. Only intended to be called by ActiveStoreSvc.
Switch the allocation arena, if needed, and call SG::CurrentEventStore::setStore.
Definition at line 1781 of file SGImplSvc.cxx.
| bool SGImplSvc::mergeStringPool | ( | const SGImplSvc & | other | ) |
Merge the string pool from another store into this one.
| other | The other store. |
In case of collisions, the colliding entries are skipped, and false is returned. If no collisions, then true is returned.
Definition at line 1529 of file SGImplSvc.cxx.
|
private |
callback for output level property
Definition at line 1287 of file SGImplSvc.cxx.
|
finaloverridevirtual |
return the list of all current proxies in store
Definition at line 935 of file SGImplSvc.cxx.
get default proxy with given id.
Returns 0 to flag failure Deprecated for the event store.
Definition at line 729 of file SGImplSvc.cxx.
get default proxy with given id, optionally checking validity.
Check if it is valid
Definition at line 735 of file SGImplSvc.cxx.
|
inlinefinalvirtual |
get proxy with given id and key.
Returns 0 to flag failure (overload to prevent a char* to be interpreted as a bool.)
Definition at line 264 of file SGImplSvc.h.
|
inlinevirtual |
get proxy with given id and key, optionally checking validity.
Definition at line 316 of file SGImplSvc.h.
|
finaloverridevirtual |
get proxy with given id and key. Returns 0 to flag failure
Definition at line 759 of file SGImplSvc.cxx.
|
virtual |
get proxy with given id and key, optionally checking validity.
Definition at line 765 of file SGImplSvc.cxx.
|
finaloverridevirtual |
get proxy for a given data object address in memory
Definition at line 720 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Get proxy given a hashed key+clid.
Find an exact match; no handling of aliases, etc. Returns 0 to flag failure.
Definition at line 912 of file SGImplSvc.cxx.
| IProxyProviderSvc * SGImplSvc::proxyProviderSvc | ( | ) |
Return current ProxyProviderSvc.
|
private |
|
private |
Definition at line 1423 of file SGImplSvc.cxx.
|
private |
real recording of an object with a key, allow possibility of specifying const-access
Definition at line 1099 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::recordAddress | ( | const std::string & | skey, |
| CxxUtils::RefCountedPtr< IOpaqueAddress > | pAddress, | ||
| bool | clearAddressFlag = true ) |
Create a proxy object using an IOpaqueAddress and a transient key.
Definition at line 336 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::recordAddress | ( | CxxUtils::RefCountedPtr< IOpaqueAddress > | pAddress, |
| bool | clearAddressFlag = true ) |
Create a proxy object using an IOpaqueAddress.
Definition at line 414 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Record an object in the store.
| obj | The data object to store. |
| key | The key as which it should be stored. |
| allowMods | If false, the object will be recorded as const. |
| returnExisting | If true, return proxy if this key already exists. If the object has been recorded under a different key, then make an alias. If the object has been recorded under a different clid, then make a link. |
Full-blown record. obj should usually be something deriving from SG::DataBucket.
Returns the proxy for the recorded object; nullptr on failure. If the requested CLID/key combination already exists in the store, the behavior is controlled by returnExisting. If true, then the existing proxy is returned; otherwise, nullptr is returned. In either case, obj is destroyed.
Definition at line 823 of file SGImplSvc.cxx.
|
private |
put a bad (unrecordable) dobj away
Definition at line 1339 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::regFcn | ( | const CallBackID & | c1, |
| const CallBackID & | c2, | ||
| const IOVSvcCallBackFcn & | fcn, | ||
| bool | trigger = false ) |
register a callback function(2) with an already registered function(1)
Definition at line 501 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::regFcn | ( | const std::string & | toolName, |
| const CallBackID & | c2, | ||
| const IOVSvcCallBackFcn & | fcn, | ||
| bool | trigger = false ) |
register a callback function(2) with an already registered AlgTool
Definition at line 512 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Remember an additional mapping from key to string/CLID.
| key | The key to enter. |
| str | The string to enter. |
| clid | The CLID associated with the string. |
key already corresponds to a different string.This registers an additional mapping from a key to a string; it can be found later through lookup() on the string. Logs an error if key already corresponds to a different string.
Definition at line 1506 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Service reinitialization.
Definition at line 324 of file SGImplSvc.cxx.
|
private |
release object held by proxy, if any.
Gives up ownership (somebody else must take charge)
Definition at line 1546 of file SGImplSvc.cxx.
Declare a remapping.
source Key hash of the container being remapped.
target Key hash of the container being remapped to.
index_offset Amount by which the index should be adjusted between the two containers.
Definition at line 1591 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::remove | ( | const void * | pObject | ) |
Remove pObject, will remove its proxy if not reset only.
Definition at line 1322 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::removeDataAndProxy | ( | const void * | pObject | ) |
Remove pObject and its proxy no matter what.
Definition at line 1331 of file SGImplSvc.cxx.
|
private |
remove proxy from store, unless it is reset only.
provide pTrans!=0 (must match proxy...) to save time
| forceRemove | remove the proxy no matter what |
Definition at line 1240 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::retrieve | ( | CLID | clid, |
| SG::detail::IteratorBase & | cibegin, | ||
| SG::detail::IteratorBase & | ciend ) const |
Retrieve all objects of type T: returns an SG::ConstIterator range.
Definition at line 1850 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::setAlias | ( | CLID | clid, |
| const std::string & | key, | ||
| const std::string & | aliasKey ) |
make an alias to a DataObject (provide data type and old key)
Definition at line 649 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::setAlias | ( | const void * | p2BAliased, |
| const std::string & | aliasKey ) |
make an alias to a DataObject (provide only valid pointer)
Definition at line 622 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::setAlias | ( | SG::DataProxy * | proxy, |
| const std::string & | aliasKey ) |
make an alias to a DataObject (provide valid proxy)
Definition at line 676 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::setConst | ( | const void * | pointer | ) |
prevent downstream clients from modifying the pointed-at dobj
Definition at line 1302 of file SGImplSvc.cxx.
| void SGImplSvc::setProxyProviderSvc | ( | IProxyProviderSvc * | pPPSvc | ) |
associate ProxyProviderSvc to this store
| void SGImplSvc::setSlotNumber | ( | int | slot, |
| int | numSlots ) |
Set the Hive slot number for this store.
| slot | The slot number. -1 means that this isn't a Hive store. |
| numSlots | The total number of slots. Should be 1 for the non-Hive case. |
Definition at line 924 of file SGImplSvc.cxx.
| void SGImplSvc::setStoreID | ( | StoreID::type | id | ) |
set store ID. request forwarded to DataStore:
set store id in DataStore:
Definition at line 471 of file SGImplSvc.cxx.
|
private |
try to locate a proxy or create it if needed
Definition at line 429 of file SGImplSvc.cxx.
|
overridevirtual |
Return the metadata source ID for the current event slot.
| key | SG key of the DataHeader to query. Returns an empty string if no source has been set. |
The default version always returns an empty string.
Returns an empty string if no source has been set.
The default version always returns an empty string.
Definition at line 1832 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Service start.
Definition at line 199 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Service stop.
Definition at line 214 of file SGImplSvc.cxx.
|
private |
Definition at line 564 of file SGImplSvc.cxx.
|
private |
Definition at line 570 of file SGImplSvc.cxx.
| StoreID::type SGImplSvc::storeID | ( | ) | const |
get store ID. request forwarded to DataStore:
get store id from DataStore:
Definition at line 477 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Find the key for a string/CLID pair.
| str | The string to look up. |
| clid | The CLID associated with the string. |
Definition at line 1457 of file SGImplSvc.cxx.
make a soft link to the object pointed by id/key
Definition at line 590 of file SGImplSvc.cxx.
| StatusCode SGImplSvc::symLink | ( | const void * | p2BRegistered, |
| CLID | linkID ) |
make a soft link to the object T* already registered
Definition at line 579 of file SGImplSvc.cxx.
|
private |
forwarded to DataStore
Definition at line 1274 of file SGImplSvc.cxx.
|
private |
forwarded to DataStore
Definition at line 1281 of file SGImplSvc.cxx.
| bool SGImplSvc::transientContains | ( | const CLID | id, |
| const std::string & | key ) const |
Look up a transient data object in TDS only by CLID.
returns false if object not available in TDS
Definition at line 711 of file SGImplSvc.cxx.
get proxy with given id and key.
Does not query ProxyProviderSvc.
Definition at line 966 of file SGImplSvc.cxx.
| bool SGImplSvc::transientSwap | ( | const CLID & | id, |
| const std::string & | keyA, | ||
| const std::string & | keyB ) |
swap the content of 2 keys payload A indexed by keyA will now be accessed via keyB and vice versa Note that the swap is invalidated at event boundaries and/or when somebody clear the store.
Definition at line 990 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Test to see if the target of an ElementLink has moved.
| sgkey_in | Original hashed key of the EL. |
| index_in | Original index of the EL. |
| sgkey_out[out] | New hashed key for the EL. |
| index_out[out] | New index for the EL. |
Definition at line 1611 of file SGImplSvc.cxx.
| int SGImplSvc::typeCount | ( | const CLID & | id | ) | const |
|
private |
same as typeless_record, allows to overwrite an object in memory or on disk
Definition at line 1064 of file SGImplSvc.cxx.
|
private |
Definition at line 1026 of file SGImplSvc.cxx.
|
private |
Definition at line 1037 of file SGImplSvc.cxx.
|
private |
type-less recording of an object with a key, allow possibility of specifying const-access and history record
Definition at line 1016 of file SGImplSvc.cxx.
| DataObject * SGImplSvc::typeless_retrievePrivateCopy | ( | const CLID | clid, |
| const std::string & | key ) |
Definition at line 1626 of file SGImplSvc.cxx.
|
finaloverridevirtual |
Tell the store that a handle has been unbound from a proxy.
| handle | The handle that was unbound. The default implementation does nothing. |
Definition at line 1769 of file SGImplSvc.cxx.
|
friend |
Definition at line 672 of file SGImplSvc.h.
|
friend |
|
friend |
|
friend |
access proxyRange()
Definition at line 599 of file SGImplSvc.h.
|
friend |
access clearProxyPayload
Definition at line 585 of file SGImplSvc.h.
|
friend |
Definition at line 586 of file SGImplSvc.h.
|
friend |
access typeless_record
Definition at line 607 of file SGImplSvc.h.
|
friend |
Definition at line 605 of file SGImplSvc.h.
|
private |
Activate the history service.
Definition at line 693 of file SGImplSvc.h.
|
private |
Allocation arena to associate with this store.
Definition at line 709 of file SGImplSvc.h.
|
private |
DumpArena Property flag : trigger m_arena->report() at clearStore.
Definition at line 694 of file SGImplSvc.h.
|
private |
Dump Property flag: triggers dump() at EndEvent.
Definition at line 692 of file SGImplSvc.h.
|
private |
FolderNameList Property.
Definition at line 697 of file SGImplSvc.h.
|
mutableprivate |
Definition at line 725 of file SGImplSvc.h.
|
private |
Keep track of proxies bound since the last call to commitNewDataObjects or clearStore.
Has to be done per-thread. We can't use thread_specific_ptr because we want to be able to clear the vectors for all threads in clearStore().
Definition at line 721 of file SGImplSvc.h.
|
private |
The total number of slots. 1 if this isn't a Hive store.
Definition at line 715 of file SGImplSvc.h.
|
private |
Definition at line 678 of file SGImplSvc.h.
|
private |
Definition at line 679 of file SGImplSvc.h.
|
private |
Definition at line 686 of file SGImplSvc.h.
|
private |
property
Definition at line 691 of file SGImplSvc.h.
|
private |
get the IOVSvc "just in time" (breaks recursion at initialize)
Definition at line 700 of file SGImplSvc.h.
|
private |
Definition at line 684 of file SGImplSvc.h.
|
private |
Definition at line 681 of file SGImplSvc.h.
|
private |
Definition at line 688 of file SGImplSvc.h.
|
private |
Definition at line 706 of file SGImplSvc.h.
|
mutableprivate |
Definition at line 726 of file SGImplSvc.h.
|
private |
The Hive slot number for this store, or -1 if this isn't a Hive store.
Definition at line 712 of file SGImplSvc.h.
|
private |
FIXME hack needed by loadEventProxies.
Definition at line 702 of file SGImplSvc.h.
|
private |
Definition at line 704 of file SGImplSvc.h.
|
mutableprivate |
Definition at line 727 of file SGImplSvc.h.
|
private |
The Recycle Bin.
Definition at line 689 of file SGImplSvc.h.