Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

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 >:
Inheritance graph
[legend]
Collaboration diagram for ToolHandleArray< T >:
Collaboration graph
[legend]

List of all members.

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.

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:
Martin.Woudstra@cern.ch

Definition at line 163 of file ToolHandle.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.

00176     : ToolHandleInfo( parent, createIf ),
00177       GaudiHandleArray< ToolHandle<T> >( myTypesAndNames,
00178                                          ToolHandleInfo::toolComponentType(parent),
00179                                          ToolHandleInfo::toolParentName(parent) )
00180   {}

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.


Member Function Documentation

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.

00205                                                           {
00206     return push_back( myHandle.typeAndName() );
00207   }

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.

00196                                                              {
00197     ToolHandle<T> handle( toolTypeAndName,
00198                           ToolHandleInfo::parent(),
00199                           ToolHandleInfo::createIf() );
00200     GaudiHandleArray< ToolHandle<T> >::push_back( handle );
00201     return true;
00202   }


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Wed Feb 9 16:32:00 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004