| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Private Member Functions | List of all members
DataObjectReadHandle< T > Class Template Reference

`#include <GaudiKernel/DataObjectHandle.h>`

Inheritance diagram for DataObjectReadHandle< T >:
[legend]
Collaboration diagram for DataObjectReadHandle< T >:
[legend]

## Public Member Functions
| DataObjectReadHandle (const DataObjID &k, IDataHandleHolder *owner)
template<typename OWNER , typename K , typename = std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>>
| DataObjectReadHandle (OWNER *owner, std::string propertyName, const K &key={}, std::string doc="")
| Autodeclaring constructor with property name, mode, key and documentation. More...
template<typename... Args>
| DataObjectReadHandle (const std::tuple< Args... > &args)
Public Member Functions inherited from DataObjectHandle<::details::Payload_t< T > >
::details::Payload_t< T > * | get () const
| Retrieve object from transient data store. More...
::details::Payload_t< 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...
::details::Payload_t< T > * | getOrCreate () const
| Get object from store or create a new one if it doesn't exist. More...
::details::Payload_t< T > * | put (std::unique_ptr< ::details::Payload_t< T > > object) const
| Register object in transient store. More...
::details::Payload_t< T > * | put (::details::Payload_t< T > *object) const
| DataObjectHandleBase (const DataObjID &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
| DataObjectHandleBase (const std::string &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
| DataObjectHandleBase (const DataObjectHandleBase &)=delete
| DataObjectHandleBase (DataObjectHandleBase &&)
| 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...
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 = std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>>
| 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 bool | isCondition () const

## Private Member Functions
template<typename... Args, std::size_t... Is>
| DataObjectReadHandle (const std::tuple< Args... > &args, std::index_sequence< Is... >)

## Additional Inherited Members
Public Types inherited from DataObjectHandleBase
using | PropertyType = DataObjectHandleProperty
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

## Detailed Description

### template<typename T>
class DataObjectReadHandle< T >

Definition at line 277 of file DataObjectHandle.h.

## Constructor & Destructor Documentation

## ◆ DataObjectReadHandle() [1/4]

template<typename T >
template<typename... Args, std::size_t... Is>

DataObjectReadHandle< T >::DataObjectReadHandle | ( | const std::tuple< Args... > & | args,
|  | std::index_sequence< Is... > |
| ) |  |
| inline private

Definition at line 279 of file DataObjectHandle.h.

280 : DataObjectReadHandle( std::get<Is>( args )... ) {}
gaudirun.args
args
Definition: gaudirun.py:307
DataObjectReadHandle::DataObjectReadHandle
DataObjectReadHandle(const std::tuple< Args... > &args, std::index_sequence< Is... >)
Definition: DataObjectHandle.h:279

## ◆ DataObjectReadHandle() [2/4]

template<typename T >

DataObjectReadHandle< T >::DataObjectReadHandle | ( | const DataObjID & | k,
|  | IDataHandleHolder * | owner
| ) |  |
| inline

Definition at line 283 of file DataObjectHandle.h.

284 : DataObjectHandle<::details::Payload_t<T>>{k, Gaudi::DataHandle::Reader, owner} {}
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:40
Gaudi::DataHandle::Reader
Definition: DataHandle.h:29
DataObjectHandle
DataObjectHandle.h GaudiKernel/DataObjectHandle.h.
Definition: AlgTool.h:26

## ◆ DataObjectReadHandle() [3/4]

template<typename T >
template<typename OWNER , typename K , typename = std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>>

DataObjectReadHandle< T >::DataObjectReadHandle | ( | OWNER * | owner,
|  | std::string | propertyName,
|  | const K & | key = `{}`,
|  | std::string | doc = `""`
| ) |  |
| inline

Autodeclaring constructor with property name, mode, key and documentation.

Note
  the use std::enable_if is required to avoid ambiguities

Definition at line 289 of file DataObjectHandle.h.

289 {}, std::string doc = "" )
290 : DataObjectHandle<::details::Payload_t<T>>( owner, Gaudi::DataHandle::Reader, std::move( propertyName ), key,
291 std::move( doc ) ) {}
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:40
Gaudi::DataHandle::Reader
Definition: DataHandle.h:29
std::string
STL class.
DataObjectHandle
DataObjectHandle.h GaudiKernel/DataObjectHandle.h.
Definition: AlgTool.h:26
details::Payload_t
typename Payload_helper< T >::type Payload_t
Definition: DataObjectHandle.h:72
std::move
T move(T... args)

## ◆ DataObjectReadHandle() [4/4]

template<typename T >
template<typename... Args>

DataObjectReadHandle< T >::DataObjectReadHandle | ( | const std::tuple< Args... > & | args | ) |
| inline

Definition at line 294 of file DataObjectHandle.h.

295 : DataObjectReadHandle( args, std::index_sequence_for<Args...>{} ) {}
gaudirun.args
args
Definition: gaudirun.py:307
DataObjectReadHandle::DataObjectReadHandle
DataObjectReadHandle(const std::tuple< Args... > &args, std::index_sequence< Is... >)
Definition: DataObjectHandle.h:279

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

- GaudiKernel/GaudiKernel/DataObjectHandle.h