![]() |
The Gaudi Framework
v30r3 (a5ef0a68)
|
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 (std::unique_ptr< T > object) |
Register object in transient store. More... | |
T * | put (T *object) |
![]() | |
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 |
![]() | |
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 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 | |
![]() | |
using | PropertyType = DataObjectHandleProperty |
![]() | |
enum | Mode { Reader = 1 << 2, Writer = 1 << 4, Updater = Reader | Writer } |
![]() | |
void | setRead (bool wasRead=true) |
void | setWritten (bool wasWritten=true) |
bool | init () override |
DataObject * | fetch () const |
![]() | |
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... | |
![]() | |
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 112 of file DataObjectHandle.h.
|
inline |
Retrieve object from transient data store.
Definition at line 101 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 142 of file DataObjectHandle.h.
|
inline |
Bypass check of existence of object in transient store Only uses main location of the.
Definition at line 107 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 170 of file DataObjectHandle.h.
T * DataObjectHandle< T >::put | ( | std::unique_ptr< T > | object | ) |
Register object in transient store.
Definition at line 158 of file DataObjectHandle.h.
|
inline |
Definition at line 125 of file DataObjectHandle.h.
|
mutableprivate |
Definition at line 129 of file DataObjectHandle.h.