| The Gaudi Framework v32r1 (f65d50dc)

Public Types | Public Member Functions | Private Attributes | List of all members
DataObjectHandle< Gaudi::Range_< T > > Class Template Reference

specialization for Range_ More...

`#include <GaudiKernel/DataObjectHandle.h>`

Inheritance diagram for DataObjectHandle< Gaudi::Range_< T > >:
[legend]
Collaboration diagram for DataObjectHandle< Gaudi::Range_< T > >:
[legend]

## Public Types
using | ValueType = std::remove_cv_t< std::remove_pointer_t< typename T::value_type > >
using | Range = Gaudi::Range_< typename ValueType::ConstVector >
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 }

## Public Member Functions
Range | get () const
| Retrieve object from transient data store. More...
| 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 &&)
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...
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 Attributes
mutable ::details::Converter_t< Range > | m_converter = nullptr

## Additional Inherited Members
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 DataObjectHandle< Gaudi::Range_< T > >

specialization for Range_

Definition at line 173 of file DataObjectHandle.h.

## Member Typedef Documentation

## ◆ Range

template<typename T >

using DataObjectHandle< Gaudi::Range_< T > >::Range = Gaudi::Range_<typename ValueType::ConstVector>

Definition at line 176 of file DataObjectHandle.h.

## ◆ ValueType

template<typename T >

using DataObjectHandle< Gaudi::Range_< T > >::ValueType = std::remove_cv_t<std::remove_pointer_t<typename T::value_type> >

Definition at line 175 of file DataObjectHandle.h.

## Member Function Documentation

## ◆ DataObjectHandleBase() [1/5]

template<typename T >

DataObjectHandleBase::DataObjectHandleBase

Definition at line 45 of file DataObjectHandleBase.cpp.

46 : Gaudi::DataHandle( k, a, owner ) {
47 m_owner->declare( *this );
48 }
IDataHandleHolder::declare
virtual void declare(Gaudi::DataHandle &)=0
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:40
Gaudi::DataHandle::m_owner
IDataHandleHolder * m_owner
Definition: DataHandle.h:66
Gaudi::DataHandle
Definition: DataHandle.h:27

## ◆ DataObjectHandleBase() [2/5]

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

DataObjectHandleBase::DataObjectHandleBase | ( | class OWNER | ,
|  | class K | ,
|  | typename | = `std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>`
| ) |  |
| inline

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

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

Definition at line 40 of file DataObjectHandleBase.h.

40 {},
41 std::string doc = "" )
42 : DataObjectHandleBase( key, m, owner ) {
43 auto p = owner->declareProperty( std::move( name ), *this, std::move( doc ) );
44 p->template setOwnerType<OWNER>();
45 }
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:40
std::string
STL class.
Gaudi::Units::m
constexpr double m
Definition: SystemOfUnits.h:92
std::move
T move(T... args)
DataObjectHandleBase::DataObjectHandleBase
DataObjectHandleBase(const DataObjID &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
Definition: DataObjectHandleBase.cpp:45

## ◆ DataObjectHandleBase() [3/5]

template<typename T >

DataObjectHandleBase::DataObjectHandleBase

Definition at line 16 of file DataObjectHandleBase.cpp.

17 : Gaudi::DataHandle( other )
18 , m_EDS( std::move( other.m_EDS ) )
19 , m_MS( std::move( other.m_MS ) )
20 , m_init( other.m_init )
21 , m_optional( other.m_optional )
22 , m_wasRead( other.m_wasRead )
23 , m_wasWritten( other.m_wasWritten )
24 , m_searchDone( other.m_searchDone ) {
25 m_owner->declare( *this );
26 }
IDataHandleHolder::declare
virtual void declare(Gaudi::DataHandle &)=0
DataObjectHandleBase::m_wasRead
bool m_wasRead
Definition: DataObjectHandleBase.h:79
DataObjectHandleBase::m_EDS
SmartIF< IDataProviderSvc > m_EDS
Definition: DataObjectHandleBase.h:74
DataObjectHandleBase::m_init
bool m_init
Definition: DataObjectHandleBase.h:77
DataObjectHandleBase::m_searchDone
bool m_searchDone
Whether the search part of the fetch method (so dealing with alt names was already executed or not.
Definition: DataObjectHandleBase.h:87
DataObjectHandleBase::m_optional
bool m_optional
Definition: DataObjectHandleBase.h:78
Gaudi::DataHandle::m_owner
IDataHandleHolder * m_owner
Definition: DataHandle.h:66
Gaudi::DataHandle
Definition: DataHandle.h:27
std::move
T move(T... args)
DataObjectHandleBase::m_MS
SmartIF< IMessageSvc > m_MS
Definition: DataObjectHandleBase.h:75
DataObjectHandleBase::m_wasWritten
bool m_wasWritten
Definition: DataObjectHandleBase.h:80

## ◆ DataObjectHandleBase() [4/5]

template<typename T >

DataObjectHandleBase::DataObjectHandleBase
| delete

## ◆ DataObjectHandleBase() [5/5]

template<typename T >

DataObjectHandleBase::DataObjectHandleBase

Definition at line 52 of file DataObjectHandleBase.cpp.

53 : DataObjectHandleBase( DataObjID( k ), a, owner ) {}
DataObjID
Definition: DataObjID.h:37
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:40
DataObjectHandleBase::DataObjectHandleBase
DataObjectHandleBase(const DataObjID &k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
Definition: DataObjectHandleBase.cpp:45

## ◆ get()

template<typename T >

Range DataObjectHandle< Gaudi::Range_< T > >::get | ( |  | ) | const

Retrieve object from transient data store.

## Member Data Documentation

## ◆ m_converter

template<typename T >

mutable ::details::Converter_t<Range> DataObjectHandle< Gaudi::Range_< T > >::m_converter = nullptr
| private

Definition at line 186 of file DataObjectHandle.h.

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

- GaudiKernel/GaudiKernel/DataObjectHandle.h