The Gaudi Framework
v29r0 (ff2e7097)
|
DataObjectHandle.h GaudiKernel/DataObjectHandle.h. More...
#include <GaudiKernel/AlgTool.h>
Public Member Functions | |
T * | get () const |
Retrieve object from transient data store. More... | |
T * | getIfExists () const |
Bypass check of existence of object in transient store Only uses main location of the. More... | |
bool | exist () const |
Check the existence of the object in the transient store. More... | |
T * | getOrCreate () |
Get object from store or create a new one if it doesn't exist. More... | |
T * | put (T *object) |
Register object in transient store. More... | |
Public Member Functions inherited from DataObjectHandleBase | |
DataObjectHandleBase (const DataObjID &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner) | |
DataObjectHandleBase (const std::string &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner) | |
virtual | ~DataObjectHandleBase () |
DataObjectHandleBase (const DataObjectHandleBase &)=delete | |
DataObjectHandleBase (DataObjectHandleBase &&) | |
DataObjectHandleBase & | operator= (const DataObjectHandleBase &) |
template<class OWNER , class K , typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type> | |
DataObjectHandleBase (OWNER *owner, Gaudi::DataHandle::Mode m, std::string name, const K &key={}, std::string doc="") | |
Autodeclaring constructor with property name, mode, key and documentation. More... | |
std::string | toString () const |
std::string | pythonRepr () const override |
void | fromString (const std::string &s) |
bool | isOptional () const |
Check if the data object declared is optional for the algorithm. More... | |
void | setOptional (bool optional=true) |
bool | initialized () const |
bool | wasRead () const |
bool | wasWritten () const |
bool | isValid () const |
Public Member Functions inherited from Gaudi::DataHandle | |
DataHandle (const DataObjID &k, Mode a=Reader, IDataHandleHolder *owner=nullptr) | |
DataHandle (const DataObjID &k, const bool &isCond, Mode a=Reader, IDataHandleHolder *owner=nullptr) | |
virtual | ~DataHandle ()=default |
virtual void | setOwner (IDataHandleHolder *o) |
virtual IDataHandleHolder * | owner () const |
virtual Mode | mode () const |
virtual void | setKey (const DataObjID &key) const |
virtual void | updateKey (const std::string &key) const |
virtual const std::string & | objKey () const |
virtual const DataObjID & | fullKey () const |
virtual void | reset (bool) |
virtual StatusCode | commit () |
virtual bool | isCondition () const |
Private Member Functions | |
T * | get (bool mustExist) const |
Try to retrieve from the transient store. More... | |
Private Attributes | |
bool | m_goodType = false |
Additional Inherited Members | |
Public Types inherited from Gaudi::DataHandle | |
enum | Mode { Reader = 1 << 2, Writer = 1 << 4, Updater = Reader | Writer } |
Protected Member Functions inherited from DataObjectHandleBase | |
void | setRead (bool wasRead=true) |
void | setWritten (bool wasWritten=true) |
bool | init () override |
DataObject * | fetch () const |
Protected Attributes inherited from DataObjectHandleBase | |
SmartIF< IDataProviderSvc > | m_EDS |
SmartIF< IMessageSvc > | m_MS |
bool | m_init = false |
bool | m_optional = false |
bool | m_wasRead = false |
bool | m_wasWritten = false |
bool | m_searchDone = false |
Whether the search part of the fetch method (so dealing with alt names was already executed or not. More... | |
std::mutex | m_searchMutex |
A Mutex protecting the calls to the search part of the fetch method, so that we are sure that we only call it once. More... | |
Protected Attributes inherited from Gaudi::DataHandle | |
DataObjID | m_key = {"NONE"} |
The key of the object behind this DataHandle Although it may look strange to have it mutable, this can actually change in case the object had alternative names, and it should not be visible to the end user, for which the Handle is still the same. More... | |
IDataHandleHolder * | m_owner = nullptr |
DataObjectHandle.h GaudiKernel/DataObjectHandle.h.
Templated Handle class for objects in the event store
Inheritance: DataHandle->DataObjectHandleBase->DataObjectHandle<T>
|
inline |
Check the existence of the object in the transient store.
Definition at line 47 of file DataObjectHandle.h.
|
inline |
Retrieve object from transient data store.
Definition at line 36 of file DataObjectHandle.h.
|
private |
Try to retrieve from the transient store.
If the retrieval succeded and this is the first time we retrieve, perform a dynamic cast to the desired object. Then finally set the handle as Read. If this is not the first time we cast and the cast worked, just use the static cast: we do not need the checks of the dynamic cast for every access!
Definition at line 115 of file DataObjectHandle.h.
|
inline |
Bypass check of existence of object in transient store Only uses main location of the.
Definition at line 42 of file DataObjectHandle.h.
T * DataObjectHandle< T >::getOrCreate | ( | ) |
Get object from store or create a new one if it doesn't exist.
Definition at line 166 of file DataObjectHandle.h.
T * DataObjectHandle< T >::put | ( | T * | object | ) |
Register object in transient store.
Definition at line 154 of file DataObjectHandle.h.
|
mutableprivate |
Definition at line 61 of file DataObjectHandle.h.