| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
DataHandleHolderBase< BASE > Class Template Reference

`#include <GaudiKernel/DataHandleHolderBase.h>`

Inheritance diagram for DataHandleHolderBase< BASE >:
[legend]
Collaboration diagram for DataHandleHolderBase< BASE >:
[legend]

## Public Member Functions
std::vector< Gaudi::DataHandle * > | inputHandles () const override
std::vector< Gaudi::DataHandle * > | outputHandles () const override
virtual const DataObjIDColl & | extraInputDeps () const override
virtual const DataObjIDColl & | extraOutputDeps () const override
void | declare (Gaudi::DataHandle &handle) override
void | renounce (Gaudi::DataHandle &handle) override
const DataObjIDColl & | inputDataObjs () const override
const DataObjIDColl & | outputDataObjs () const override
void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override
Public Member Functions inherited from extends< BASE, IDataHandleHolder >
void * | i_cast (const InterfaceID &tid) const override
| Implementation of IInterface::i_cast. More...
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override
| Implementation of IInterface::queryInterface. More...
std::vector< std::string > | getInterfaceNames () const override
| Implementation of IInterface::getInterfaceNames. More...
| ~extends () override=default
| Virtual destructor. More...
Public Member Functions inherited from extend_interfaces< Interfaces... >
| ~extend_interfaces () override=default
| Virtual destructor. More...

## Protected Member Functions
void | initDataHandleHolder ()
| initializes all handles - called by the sysInitialize method of any descendant of this More...

## Protected Attributes
DataObjIDColl | m_inputDataObjs
DataObjIDColl | m_outputDataObjs

## Private Attributes
std::unordered_set< Gaudi::DataHandle * > | m_handles
Gaudi::Property< DataObjIDColl > | m_extInputDataObjs {this, "ExtraInputs", DataObjIDColl{}, "[[deprecated]]"}
Gaudi::Property< DataObjIDColl > | m_extOutputDataObjs {this, "ExtraOutputs", DataObjIDColl{}, "[[deprecated]]"}

## Additional Inherited Members
Public Types inherited from extends< BASE, IDataHandleHolder >
using | base_class = extends
| Typedef to this class. More...
using | extend_interfaces_base = extend_interfaces< Interfaces... >
| Typedef to the base of this class. More...
Public Types inherited from extend_interfaces< Interfaces... >
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
| take union of the ext_iids of all Interfaces... More...

## Detailed Description

### template<class BASE>
class DataHandleHolderBase< BASE >

Definition at line 25 of file DataHandleHolderBase.h.

## Member Function Documentation

template<class BASE>

void DataHandleHolderBase< BASE >::addDependency | ( | const DataObjID & | id,
|  | const Gaudi::DataHandle::Mode & | mode
| ) |  |
| inline override

Definition at line 65 of file DataHandleHolderBase.h.

65 {
66 if (mode & Gaudi::DataHandle::Reader) m_inputDataObjs.emplace(id);
67 if (mode & Gaudi::DataHandle::Writer) m_outputDataObjs.emplace(id);
68 }
Gaudi::DataHandle::Reader
Definition: DataHandle.h:31
DataHandleHolderBase::m_inputDataObjs
DataObjIDColl m_inputDataObjs
Definition: DataHandleHolderBase.h:81
std::unordered_set::emplace
T emplace(T...args)
Gaudi::DataHandle::Writer
Definition: DataHandle.h:32
DataHandleHolderBase::m_outputDataObjs
DataObjIDColl m_outputDataObjs
Definition: DataHandleHolderBase.h:81
template<class BASE>

void DataHandleHolderBase< BASE >::declare | ( | Gaudi::DataHandle & | handle | ) |
| inline override

Definition at line 44 of file DataHandleHolderBase.h.

44 {
45 if (!handle.owner()) handle.setOwner(this);
46
47 if (handle.owner() != this) {
48 throw GaudiException("Attempt to declare foreign handle with algorithm!", this->name(), StatusCode::FAILURE);
49 }
50
51 m_handles.insert(&handle);
52 }
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:23
Gaudi::DataHandle::setOwner
virtual void setOwner(IDataHandleHolder *o)
Definition: DataHandle.h:48
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
StatusCode::FAILURE
Definition: StatusCode.h:29
std::unordered_set::insert
T insert(T...args)
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:49
DataHandleHolderBase::m_handles
std::unordered_set< Gaudi::DataHandle * > m_handles
Definition: DataHandleHolderBase.h:85
template<class BASE>

virtual const DataObjIDColl& DataHandleHolderBase< BASE >::extraInputDeps | ( |  | ) | const
| inline override virtual

Definition at line 37 of file DataHandleHolderBase.h.

37 {
38 return m_extInputDataObjs;
39 }
DataHandleHolderBase::m_extInputDataObjs
Gaudi::Property< DataObjIDColl > m_extInputDataObjs
Definition: DataHandleHolderBase.h:87
template<class BASE>

virtual const DataObjIDColl& DataHandleHolderBase< BASE >::extraOutputDeps | ( |  | ) | const
| inline override virtual

Definition at line 40 of file DataHandleHolderBase.h.

40 {
41 return m_extOutputDataObjs;
42 }
DataHandleHolderBase::m_extOutputDataObjs
Gaudi::Property< DataObjIDColl > m_extOutputDataObjs
Definition: DataHandleHolderBase.h:88
template<class BASE>

void DataHandleHolderBase< BASE >::initDataHandleHolder | ( |  | ) |
| inline protected

initializes all handles - called by the sysInitialize method of any descendant of this

Definition at line 77 of file DataHandleHolderBase.h.

77 {
78 for (auto h : m_handles) h->init();
79 }
HiveAlgSequencer.h
h
Definition: HiveAlgSequencer.py:24
DataHandleHolderBase::m_handles
std::unordered_set< Gaudi::DataHandle * > m_handles
Definition: DataHandleHolderBase.h:85
template<class BASE>

const DataObjIDColl& DataHandleHolderBase< BASE >::inputDataObjs | ( |  | ) | const
| inline override

Definition at line 62 of file DataHandleHolderBase.h.

62 { return m_inputDataObjs; }
DataHandleHolderBase::m_inputDataObjs
DataObjIDColl m_inputDataObjs
Definition: DataHandleHolderBase.h:81
template<class BASE>

std::vector<Gaudi::DataHandle*> DataHandleHolderBase< BASE >::inputHandles | ( |  | ) | const
| inline override

Definition at line 30 of file DataHandleHolderBase.h.

30 {
31 return handles( m_handles, Gaudi::DataHandle::Reader );
32 }
Gaudi::DataHandle::Reader
Definition: DataHandle.h:31
DataHandleHolderBase::m_handles
std::unordered_set< Gaudi::DataHandle * > m_handles
Definition: DataHandleHolderBase.h:85
template<class BASE>

const DataObjIDColl& DataHandleHolderBase< BASE >::outputDataObjs | ( |  | ) | const
| inline override

Definition at line 63 of file DataHandleHolderBase.h.

63 { return m_outputDataObjs; }
DataHandleHolderBase::m_outputDataObjs
DataObjIDColl m_outputDataObjs
Definition: DataHandleHolderBase.h:81
template<class BASE>

std::vector<Gaudi::DataHandle*> DataHandleHolderBase< BASE >::outputHandles | ( |  | ) | const
| inline override

Definition at line 33 of file DataHandleHolderBase.h.

33 {
34 return handles( m_handles, Gaudi::DataHandle::Writer );
35 }
Gaudi::DataHandle::Writer
Definition: DataHandle.h:32
DataHandleHolderBase::m_handles
std::unordered_set< Gaudi::DataHandle * > m_handles
Definition: DataHandleHolderBase.h:85
template<class BASE>

void DataHandleHolderBase< BASE >::renounce | ( | Gaudi::DataHandle & | handle | ) |
| inline override

Definition at line 54 of file DataHandleHolderBase.h.

54 {
55 if (handle.owner() != this) {
56 throw GaudiException("Attempt to renounce foreign handle with algorithm!", this->name(), StatusCode::FAILURE);
57 }
58 m_handles.erase(&handle);
59
60 }
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:23
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
StatusCode::FAILURE
Definition: StatusCode.h:29
std::unordered_set::erase
T erase(T...args)
Gaudi::DataHandle::owner
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:49
DataHandleHolderBase::m_handles
std::unordered_set< Gaudi::DataHandle * > m_handles
Definition: DataHandleHolderBase.h:85

## Member Data Documentation

template<class BASE>

Gaudi::Property<DataObjIDColl> DataHandleHolderBase< BASE >::m_extInputDataObjs {this, "ExtraInputs", DataObjIDColl{}, "[[deprecated]]"}
| private

Definition at line 87 of file DataHandleHolderBase.h.

template<class BASE>

Gaudi::Property<DataObjIDColl> DataHandleHolderBase< BASE >::m_extOutputDataObjs {this, "ExtraOutputs", DataObjIDColl{}, "[[deprecated]]"}
| private

Definition at line 88 of file DataHandleHolderBase.h.

template<class BASE>

std::unordered_set<Gaudi::DataHandle*> DataHandleHolderBase< BASE >::m_handles
| private

Definition at line 85 of file DataHandleHolderBase.h.

template<class BASE>

DataObjIDColl DataHandleHolderBase< BASE >::m_inputDataObjs
| protected

Definition at line 81 of file DataHandleHolderBase.h.

template<class BASE>

DataObjIDColl DataHandleHolderBase< BASE >::m_outputDataObjs
| protected

Definition at line 81 of file DataHandleHolderBase.h.

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

- GaudiKernel/GaudiKernel/DataHandleHolderBase.h