All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 >:
Collaboration diagram for ToolHandleArray< T >:

Public Member Functions

 ToolHandleArray (const std::vector< std::string > &myTypesAndNames, const IInterface *parent=0, bool createIf=true)
 Generic constructor. More...
 
 ToolHandleArray (const IInterface *parent=0, bool createIf=true)
 Constructor which creates and empty list. More...
 
virtual bool push_back (const std::string &toolTypeAndName)
 Add a handle to the array with given tool type and name. More...
 
virtual bool push_back (const ToolHandle< T > &myHandle)
 Ensure that for added handles the parent and creatIf are taken from this array. More...
 
- Public Member Functions inherited from ToolHandleInfo
virtual ~ToolHandleInfo ()
 
bool isPublic () const
 
bool createIf () const
 
const IInterfaceparent () 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 ()
 
GaudiHandleArrayoperator= (const std::vector< std::string > &myTypesAndNamesList)
 Set the array of GaudiHandles from typeAndNames given in vector of strings. More...
 
virtual
GaudiHandleArrayBase::BaseHandleArray 
getBaseArray ()
 Get a read-write vector of GaudiHandleBase* pointing to the real handles. More...
 
virtual
GaudiHandleArrayBase::ConstBaseHandleArray 
getBaseArray () const
 Get a read-only vector of const GaudiHandleBase* pointing to the real handles. More...
 
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. More...
 
virtual bool empty () const
 Return whether the list of tools is empty. More...
 
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. More...
 
const ToolHandle< T > * operator[] (const std::string &name) const
 Get const pointer (!) to ToolHandle by instance name. More...
 
StatusCode retrieve ()
 Retrieve all tools. More...
 
StatusCode release ()
 Release all tools. More...
 
- 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>. 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...
 
virtual const std::string pythonPropertyClassName () const
 Name of the componentType with "HandleArray" appended. More...
 
virtual const std::string pythonRepr () const
 Python representation of array of handles, i.e. More...
 
- Public Member Functions inherited from GaudiHandleInfo
virtual ~GaudiHandleInfo ()
 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 (const std::string &propName)
 set name as used in declareProperty(name,gaudiHandle). More...
 
const std::string & parentName () const
 The name of the parent. More...
 

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
 
- Public Types inherited from GaudiHandleArrayBase
typedef std::vector
< GaudiHandleBase * > 
BaseHandleArray
 
typedef std::vector< const
GaudiHandleBase * > 
ConstBaseHandleArray
 
- 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. More...
 
 GaudiHandleArray (const std::string &myComponentType, const std::string &myParentName)
 Constructor creating an empty array. More...
 
- Protected Member Functions inherited from GaudiHandleArrayBase
 GaudiHandleArrayBase (const std::string &myComponentType, const std::string &myParentName)
 
- Protected Member Functions inherited from GaudiHandleInfo
 GaudiHandleInfo (const std::string &myComponentType, const std::string &myParentName)
 Some basic information and helper functions shared between various handles/arrays. More...
 

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.

176  : ToolHandleInfo( parent, createIf ),
177  GaudiHandleArray< ToolHandle<T> >( myTypesAndNames,
180  {}
const std::string toolParentName(const IInterface *parent) const
Definition: ToolHandle.h:49
const std::string toolComponentType(const IInterface *parent) const
Definition: ToolHandle.h:45
bool createIf() const
Definition: ToolHandle.h:34
ToolHandleInfo(const IInterface *parent=0, bool createIf=true)
Definition: ToolHandle.h:23
T is the concrete handle type, e.g.
Definition: GaudiHandle.h:353
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.

187  : ToolHandleInfo( parent, createIf ),
190  { }
const std::string toolParentName(const IInterface *parent) const
Definition: ToolHandle.h:49
const std::string toolComponentType(const IInterface *parent) const
Definition: ToolHandle.h:45
bool createIf() const
Definition: ToolHandle.h:34
ToolHandleInfo(const IInterface *parent=0, bool createIf=true)
Definition: ToolHandle.h:23
T is the concrete handle type, e.g.
Definition: GaudiHandle.h:353

Member Function Documentation

template<class T>
virtual bool ToolHandleArray< T >::push_back ( const std::string &  toolTypeAndName)
inlinevirtual

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.

196  {
197  ToolHandle<T> handle( toolTypeAndName,
201  return true;
202  }
const IInterface * parent() const
Definition: ToolHandle.h:38
bool createIf() const
Definition: ToolHandle.h:34
Handle to be used in lieu of naked pointers to tools.
Definition: PropertyMgr.h:24
virtual bool push_back(const std::string &toolTypeAndName)
Add a handle to the array with given tool type and name.
Definition: ToolHandle.h:196
T is the concrete handle type, e.g.
Definition: GaudiHandle.h:353
template<class T>
virtual bool ToolHandleArray< T >::push_back ( const ToolHandle< T > &  myHandle)
inlinevirtual

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.

205  {
206  return push_back( myHandle.typeAndName() );
207  }
virtual bool push_back(const std::string &toolTypeAndName)
Add a handle to the array with given tool type and name.
Definition: ToolHandle.h:196
std::string typeAndName() const
The full type and name: "type/name".
Definition: GaudiHandle.h:107

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