| The Gaudi Framework v28r2p1 (f1a77ff4)

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

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

Public Types | Public Member Functions | Protected Member Functions | List of all members
GaudiHandleArrayBase Class Referenceabstract

Base class of array's of various gaudihandles. More...

`#include <GaudiKernel/GaudiHandle.h>`

Inheritance diagram for GaudiHandleArrayBase:
[legend]
Collaboration diagram for GaudiHandleArrayBase:
[legend]

## Public Types
typedef std::vector< GaudiHandleBase * > | BaseHandleArray
typedef std::vector< const GaudiHandleBase * > | ConstBaseHandleArray

## Public Member Functions
bool | setTypesAndNames (const std::vector< std::string > &myTypesAndNamesList)
| Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>. More...
const std::vector< std::string > | typesAndNames () const
| Return a vector with "type/name" strings of all handles in the array. More...
const std::vector< std::string > | types () const
| Return a vector with "type" strings of all handles in the array. More...
const std::vector< std::string > | names () const
| Return a vector with "type/name" strings of all handles in the array. More...
const std::vector< std::string > | getBaseInfos (std::string(GaudiHandleBase::*pMemFunc)() const ) const
| Helper function to get a vector of strings filled with the return value of each tool of a member function if GaudiHandleBase. More...
std::string | pythonPropertyClassName () const override
| Name of the componentType with "HandleArray" appended. More...
std::string | pythonRepr () const override
| Python representation of array of handles, i.e. More...
virtual bool | push_back (const std::string &myHandleTypeAndName)=0
| Add a handle to the array with "type/name" given in <myHandleTypeAndName>. More...
virtual void | clear ()=0
| Clear the list of handles. More...
virtual bool | empty () const =0
| Return whether the list of tools is empty. More...
virtual ConstBaseHandleArray | getBaseArray () const =0
| Get a read-only vector of const GaudiHandleBase* pointing to the real handles. More...
virtual BaseHandleArray | getBaseArray ()=0
| Get a read-write vector of GaudiHandleBase* pointing to the real handles. More...
virtual bool | retrieved () const =0
| To be able to tell if Array was ever retreived. More...
Public Member Functions inherited from GaudiHandleInfo
virtual | ~GaudiHandleInfo ()=default
| virtual destructor so that derived class destructor is called. More...
const std::string & | componentType () const
const std::string & | propertyName () const
| name as used in declareProperty(name,gaudiHandle) More...
void | setPropertyName (std::string propName)
| set name as used in declareProperty(name,gaudiHandle). More...
const std::string & | parentName () const
| The name of the parent. More...

## Protected Member Functions
| GaudiHandleArrayBase (std::string myComponentType, std::string myParentName)
Protected Member Functions inherited from GaudiHandleInfo
| GaudiHandleInfo (std::string myComponentType, std::string myParentName)
| Some basic information and helper functions shared between various handles/arrays. More...
void | setComponentType (const std::string &componentType)
| The component type. More...
void | setParentName (const std::string &parent)
| The name of the parent. More...

## Detailed Description

Base class of array's of various gaudihandles.

Used in communication with GaudiHandleArrayProperty. For that purpose is has some pure virtual functions. This is a non-templated class to one Property can handle all kinds of concrete handles.

Definition at line 364 of file GaudiHandle.h.

## Member Typedef Documentation

typedef std::vector< GaudiHandleBase* > GaudiHandleArrayBase::BaseHandleArray

Definition at line 370 of file GaudiHandle.h.

typedef std::vector< const GaudiHandleBase* > GaudiHandleArrayBase::ConstBaseHandleArray

Definition at line 371 of file GaudiHandle.h.

## Constructor & Destructor Documentation

GaudiHandleArrayBase::GaudiHandleArrayBase | ( | std::string | myComponentType,
|  | std::string | myParentName
| ) |  |
| inline protected

Definition at line 366 of file GaudiHandle.h.

367 : GaudiHandleInfo(std::move(myComponentType),std::move(myParentName))
368 {}
std::move
T move(T...args)
GaudiHandleInfo::GaudiHandleInfo
GaudiHandleInfo(std::string myComponentType, std::string myParentName)
Some basic information and helper functions shared between various handles/arrays.
Definition: GaudiHandle.h:26

## Member Function Documentation

virtual void GaudiHandleArrayBase::clear | ( |  | ) |
| pure virtual

Clear the list of handles.

Implemented in GaudiHandleArray

Implemented in GaudiHandleArray< T >, GaudiHandleArray< ToolHandle< IThreadInitTool > >, GaudiHandleArray< ToolHandle< T > >, and GaudiHandleArray< ServiceHandle< T > >.

virtual bool GaudiHandleArrayBase::empty | ( |  | ) | const
| pure virtual

Return whether the list of tools is empty.

Implemented in GaudiHandleArray< T >, GaudiHandleArray< ToolHandle< IThreadInitTool > >, GaudiHandleArray< ToolHandle< T > >, and GaudiHandleArray< ServiceHandle< T > >.

virtual ConstBaseHandleArray GaudiHandleArrayBase::getBaseArray | ( |  | ) | const
| pure virtual

Get a read-only vector of const GaudiHandleBase* pointing to the real handles.

Implemented in GaudiHandleArray.

Implemented in GaudiHandleArray< T >, GaudiHandleArray< ToolHandle< IThreadInitTool > >, GaudiHandleArray< ToolHandle< T > >, and GaudiHandleArray< ServiceHandle< T > >.

virtual BaseHandleArray GaudiHandleArrayBase::getBaseArray | ( |  | ) |
| pure virtual

Get a read-write vector of GaudiHandleBase* pointing to the real handles.

Implemented in GaudiHandleArray.

Implemented in GaudiHandleArray< T >, GaudiHandleArray< ToolHandle< IThreadInitTool > >, GaudiHandleArray< ToolHandle< T > >, and GaudiHandleArray< ServiceHandle< T > >.

const std::vector< std::string > GaudiHandleArrayBase::getBaseInfos | ( | std::string(GaudiHandleBase::*)() const | pMemFunc | ) | const

Helper function to get a vector of strings filled with the return value of each tool of a member function if GaudiHandleBase.

Definition at line 72 of file GaudiHandle.cpp.

72 {
73 std::vector< std::string > theList;
74 for ( const auto& it : getBaseArray() ) theList.push_back( (it->*pMemFunc)() );
75 return theList;
76 }
std::vector::push_back
T push_back(T...args)
GaudiHandleArrayBase::getBaseArray
virtual ConstBaseHandleArray getBaseArray() const =0
Get a read-only vector of const GaudiHandleBase* pointing to the real handles.
std::vector< std::string >

const std::vector< std::string > GaudiHandleArrayBase::names | ( |  | ) | const

Return a vector with "type/name" strings of all handles in the array.

Definition at line 86 of file GaudiHandle.cpp.

86 {
87 return getBaseInfos( &GaudiHandleBase::name );
88 }
GaudiHandleArrayBase::getBaseInfos
const std::vector< std::string > getBaseInfos(std::string(GaudiHandleBase::*pMemFunc)() const ) const
Helper function to get a vector of strings filled with the return value of each tool of a member func...
Definition: GaudiHandle.cpp:72
GaudiHandleBase::name
std::string name() const
The instance name: the part after the &#39;/&#39;.
Definition: GaudiHandle.cpp:24

virtual bool GaudiHandleArrayBase::push_back | ( | const std::string & | myHandleTypeAndName | ) |
| pure virtual

Add a handle to the array with "type/name" given in <myHandleTypeAndName>.

Return whether addition was successful or not. Must be implemented by derived class with concrete handle category.

Implemented in ToolHandleArray< T >, ToolHandleArray< IThreadInitTool >, and ServiceHandleArray< T >.

std::string GaudiHandleArrayBase::pythonPropertyClassName | ( |  | ) | const
| override virtual

Name of the componentType with "HandleArray" appended.

Used as the python class name for the property in the genconf-generated configurables. The python class is defined in GaudiPython/python/GaudiHandles.py.

Implements GaudiHandleInfo.

Definition at line 90 of file GaudiHandle.cpp.

90 {
91 return componentType() + "HandleArray";
92 }
GaudiHandleInfo::componentType
const std::string & componentType() const
Definition: GaudiHandle.h:35

std::string GaudiHandleArrayBase::pythonRepr | ( |  | ) | const
| override virtual

Python representation of array of handles, i.e.

list of python handles. Can be used in the genconf-generated configurables. The corresponding python classes are defined in GaudiPython/GaudiHandles.py

Implements GaudiHandleInfo.

Definition at line 94 of file GaudiHandle.cpp.

94 {
95 std::string repr = pythonPropertyClassName() + "([";
96 auto theList = typesAndNames();
97 auto first = theList.begin();
98 auto last = theList.end();
99 if ( first != last ) { repr += "'" + *first + "'"; ++first; }
100 for (;first!=last;++first) repr += ",'" + *first + "'";
101 repr += "])";
102 return repr;
103 }
std::string
STL class.
GaudiHandleArrayBase::typesAndNames
const std::vector< std::string > typesAndNames() const
Return a vector with "type/name" strings of all handles in the array.
Definition: GaudiHandle.cpp:78
GaudiHandleArrayBase::pythonPropertyClassName
std::string pythonPropertyClassName() const override
Name of the componentType with "HandleArray" appended.
Definition: GaudiHandle.cpp:90

virtual bool GaudiHandleArrayBase::retrieved | ( |  | ) | const
| pure virtual

To be able to tell if Array was ever retreived.

Implemented in GaudiHandleArray< T >, GaudiHandleArray< ToolHandle< IThreadInitTool > >, GaudiHandleArray< ToolHandle< T > >, and GaudiHandleArray< ServiceHandle< T > >.

bool GaudiHandleArrayBase::setTypesAndNames | ( | const std::vector< std::string > & | myTypesAndNamesList | ) |

Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>.

Return whether set was successful or not

Definition at line 63 of file GaudiHandle.cpp.

63 {
64 clear();
65 for ( const auto& it : myTypesAndNamesList ) {
66 if ( !push_back( it ) ) return false;
67 }
68 return true;
69 }
GaudiHandleArrayBase::clear
virtual void clear()=0
Clear the list of handles.
GaudiHandleArrayBase::push_back
virtual bool push_back(const std::string &myHandleTypeAndName)=0
Add a handle to the array with "type/name" given in <myHandleTypeAndName>.

const std::vector< std::string > GaudiHandleArrayBase::types | ( |  | ) | const

Return a vector with "type" strings of all handles in the array.

Definition at line 82 of file GaudiHandle.cpp.

82 {
83 return getBaseInfos( &GaudiHandleBase::type );
84 }
GaudiHandleArrayBase::getBaseInfos
const std::vector< std::string > getBaseInfos(std::string(GaudiHandleBase::*pMemFunc)() const ) const
Helper function to get a vector of strings filled with the return value of each tool of a member func...
Definition: GaudiHandle.cpp:72
GaudiHandleBase::type
std::string type() const
The concrete component class name: the part before the &#39;/&#39;.
Definition: GaudiHandle.cpp:13

const std::vector< std::string > GaudiHandleArrayBase::typesAndNames | ( |  | ) | const

Return a vector with "type/name" strings of all handles in the array.

Inverse of setTypesAndNames()

Definition at line 78 of file GaudiHandle.cpp.

78 {
79 return getBaseInfos( &GaudiHandleBase::typeAndName );
80 }
GaudiHandleArrayBase::getBaseInfos
const std::vector< std::string > getBaseInfos(std::string(GaudiHandleBase::*pMemFunc)() const ) const
Helper function to get a vector of strings filled with the return value of each tool of a member func...
Definition: GaudiHandle.cpp:72
GaudiHandleBase::typeAndName
std::string typeAndName() const
The full type and name: "type/name".
Definition: GaudiHandle.h:121

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

- GaudiKernel/GaudiKernel/GaudiHandle.h
- GaudiKernel/src/Lib/GaudiHandle.cpp