| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
ToolHandleArray< T > Class Template Reference

Array of Handles to be used in lieu of vector of naked pointers to tools. More...

`#include <GaudiKernel/ToolHandle.h>`

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

## Public Member Functions
| ToolHandleArray (const std::vector< std::string > &myTypesAndNames, const IInterface *parent=0, bool createIf=true)
| Generic constructor.
| ToolHandleArray (const IInterface *parent=0, bool createIf=true)
| Constructor which creates and empty list.
virtual bool | push_back (const std::string &toolTypeAndName)
| Add a handle to the array with given tool type and name.
virtual bool | push_back (const ToolHandle< T > &myHandle)
| Ensure that for added handles the parent and creatIf are taken from this array.
Public Member Functions inherited from ToolHandleInfo
virtual | ~ToolHandleInfo ()
bool | isPublic () const
bool | createIf () const
const IInterface * | parent () const
const std::string | toolComponentType (const IInterface *parent) const
const std::string | toolParentName (const IInterface *parent) const
Public Member Functions inherited from GaudiHandleArray< ToolHandle< T > >
virtual | ~GaudiHandleArray ()
GaudiHandleArray & | operator= (const std::vector< std::string > &myTypesAndNamesList)
| Set the array of GaudiHandles from typeAndNames given in vector of strings.
virtual GaudiHandleArrayBase::BaseHandleArray | getBaseArray ()
| Get a read-write vector of GaudiHandleBase* pointing to the real handles.
virtual GaudiHandleArrayBase::ConstBaseHandleArray | getBaseArray () const
| Get a read-only vector of const GaudiHandleBase* pointing to the real handles.
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
const_iterator | rbegin () const
const_iterator | rend () const
size_type | size () const
virtual void | clear ()
| Clear the list of handles.
virtual bool | empty () const
| Return whether the list of tools is empty.
ToolHandle< T > & | operator[] (int index)
const ToolHandle< T > & | operator[] (int index) const
ToolHandle< T > * | operator[] (const std::string &name)
| Get pointer (!) to ToolHandle by instance name.
const ToolHandle< T > * | operator[] (const std::string &name) const
| Get const pointer (!) to ToolHandle by instance name.
StatusCode | retrieve ()
| Retrieve all tools.
StatusCode | release ()
| Release all tools.
Public Member Functions inherited from GaudiHandleArrayBase
bool | setTypesAndNames (const std::vector< std::string > &myTypesAndNamesList)
| Set the array of handles from list of "type/name" strings in <myTypesAndNamesList>.
const std::vector< std::string > | typesAndNames () const
| Return a vector with "type/name" strings of all handles in the array.
const std::vector< std::string > | types () const
| Return a vector with "type" strings of all handles in the array.
const std::vector< std::string > | names () const
| Return a vector with "type/name" strings of all handles in the array.
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.
virtual const std::string | pythonPropertyClassName () const
| Name of the componentType with "HandleArray" appended.
virtual const std::string | pythonRepr () const
| Python representation of array of handles, i.e.
Public Member Functions inherited from GaudiHandleInfo
virtual | ~GaudiHandleInfo ()
| virtual destructor so that derived class destructor is called.
const std::string & | componentType () const
const std::string & | propertyName () const
| name as used in declareProperty(name,gaudiHandle)
void | setPropertyName (const std::string &propName)
| set name as used in declareProperty(name,gaudiHandle).
const std::string & | parentName () const
| The name of the parent.

## Additional Inherited Members
Public Types inherited from GaudiHandleArray< ToolHandle< T > >
typedef std::vector < ToolHandle< T > > | HandleVector
typedef HandleVector::value_type | value_type
typedef HandleVector::size_type | size_type
typedef HandleVector::reference | reference
typedef HandleVector::const_reference | const_reference
typedef HandleVector::iterator | iterator
typedef HandleVector::const_iterator | const_iterator
typedef HandleVector::reverse_iterator | reverse_iterator
typedef HandleVector::const_reverse_iterator | const_reverse_iterator
Protected Member Functions inherited from ToolHandleInfo
| ToolHandleInfo (const IInterface *parent=0, bool createIf=true)
Protected Member Functions inherited from GaudiHandleArray< ToolHandle< T > >
| GaudiHandleArray (const std::vector< std::string > &myTypesAndNamesList, const std::string &myComponentType, const std::string &myParentName)
| Generic constructor.
| GaudiHandleArray (const std::string &myComponentType, const std::string &myParentName)
| Constructor creating an empty array.

## Detailed Description

### template<class T>
class ToolHandleArray< T >

Array of Handles to be used in lieu of vector of naked pointers to tools.

This allows better control through the framework of tool loading and usage. T is the AlgTool interface class (or concrete class) of the tool to use, and must derive from IAlgTool.

Author
  Marti.nosp@m.n.Wo.nosp@m.udstr.nosp@m.a@ce.nosp@m.rn.ch

Definition at line 26 of file PropertyMgr.h.

## Constructor & Destructor Documentation

template<class T>

ToolHandleArray< T >::ToolHandleArray | ( | const std::vector< std::string > & | myTypesAndNames,
|  | const IInterface * | parent = `0`,
|  | bool | createIf = `true`
| ) |  |
| inline

Generic constructor.

Probably not very useful...

Parameters

  typesAndNamesList | : a vector of strings with the concrete "type/name" strings for the list of tools
  parent | : passed on to ToolHandle, so has the same meaning as for ToolHandle
  createIf | : passed on to ToolHandle, so has the same meaning as for ToolHandle

Definition at line 174 of file ToolHandle.h.

: ToolHandleInfo( parent, createIf ),
GaudiHandleArray< ToolHandle<T> >( myTypesAndNames,
ToolHandleInfo::toolComponentType(parent),
ToolHandleInfo::toolParentName(parent) )
{}
template<class T>

ToolHandleArray< T >::ToolHandleArray | ( | const IInterface * | parent = `0`,
|  | bool | createIf = `true`
| ) |  |
| inline

Constructor which creates and empty list.

Parameters

  parent | : passed on to ToolHandle, so has the same meaning as for ToolHandle
  createIf | : passed on to ToolHandle, so has the same meaning as for ToolHandle

Definition at line 186 of file ToolHandle.h.

: ToolHandleInfo( parent, createIf ),
GaudiHandleArray< ToolHandle<T> >( ToolHandleInfo::toolComponentType(parent),
ToolHandleInfo::toolParentName(parent) )
{ }

## Member Function Documentation

template<class T>

virtual bool ToolHandleArray< T >::push_back | ( | const std::string & | toolTypeAndName | ) |
| inline virtual

Add a handle to the array with given tool type and name.

This function overrides the one in GaudiHandleArray<T>, as this is a special case. The private/public choice and createIf is determined by what was given in the constructor of the ToolHandleArray.

Implements GaudiHandleArrayBase.

Definition at line 196 of file ToolHandle.h.

{
ToolHandle<T> handle( toolTypeAndName,
ToolHandleInfo::parent(),
ToolHandleInfo::createIf() );
GaudiHandleArray< ToolHandle<T> >::push_back( handle );
return true;
}
template<class T>

virtual bool ToolHandleArray< T >::push_back | ( | const ToolHandle< T > & | myHandle | ) |
| inline virtual

Ensure that for added handles the parent and creatIf are taken from this array.

Reimplemented from GaudiHandleArray< ToolHandle< T > >.

Definition at line 205 of file ToolHandle.h.

{
return push_back( myHandle.typeAndName() );
}

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/GaudiKernel/PropertyMgr.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiKernel/GaudiKernel/ToolHandle.h