| The Gaudi Framework v29r1 (5cd95fa2)

- 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 348 of file GaudiHandle.h.

## Member Typedef Documentation

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

Definition at line 357 of file GaudiHandle.h.

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

Definition at line 358 of file GaudiHandle.h.

## Constructor & Destructor Documentation

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

Definition at line 351 of file GaudiHandle.h.

352 : GaudiHandleInfo( std::move( myComponentType ), std::move( myParentName ) )
353 {
354 }
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:27

## 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 67 of file GaudiHandle.cpp.

69 {
70 std::vector<std::string> theList;
71 for ( const auto& it : getBaseArray() ) theList.push_back( ( it->*pMemFunc )() );
72 return theList;
73 }
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 82 of file GaudiHandle.cpp.

82 { return getBaseInfos( &GaudiHandleBase::name ); }
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:67
GaudiHandleBase::name
std::string name() const
The instance name: the part after the &#39;/&#39;.
Definition: GaudiHandle.cpp:23

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 84 of file GaudiHandle.cpp.

84 { return componentType() + "HandleArray"; }
GaudiHandleInfo::componentType
const std::string & componentType() const
Definition: GaudiHandle.h:38

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 86 of file GaudiHandle.cpp.

87 {
88 std::string repr = pythonPropertyClassName() + "([";
89 auto theList = typesAndNames();
90 auto first = theList.begin();
91 auto last = theList.end();
92 if ( first != last ) {
93 repr += "'" + *first + "'";
94 ++first;
95 }
96 for ( ; first != last; ++first ) repr += ",'" + *first + "'";
97 repr += "])";
98 return repr;
99 }
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:75
GaudiHandleArrayBase::pythonPropertyClassName
std::string pythonPropertyClassName() const override
Name of the componentType with "HandleArray" appended.
Definition: GaudiHandle.cpp:84

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 58 of file GaudiHandle.cpp.

59 {
60 clear();
61 for ( const auto& it : myTypesAndNamesList ) {
62 if ( !push_back( it ) ) return false;
63 }
64 return true;
65 }
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 80 of file GaudiHandle.cpp.

80 { return getBaseInfos( &GaudiHandleBase::type ); }
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:67
GaudiHandleBase::type
std::string type() const
The concrete component class name: the part before the &#39;/&#39;.
Definition: GaudiHandle.cpp:11

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 75 of file GaudiHandle.cpp.

76 {
77 return getBaseInfos( &GaudiHandleBase::typeAndName );
78 }
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:67
GaudiHandleBase::typeAndName
std::string typeAndName() const
The full type and name: "type/name".
Definition: GaudiHandle.h:111

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

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