| The Gaudi Framework v29r0 (ff2e7097)

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

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

Public Member Functions | List of all members
ServiceHandleArray< T > Class Template Reference

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

`#include <GaudiKernel/ServiceHandle.h>`

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

## Public Member Functions
| ServiceHandleArray (const std::vector< std::string > &myTypesAndNamesList, const std::string &myComponentType, const std::string &myParentName)
| Generic constructor. More...
virtual | ~ServiceHandleArray ()
| ServiceHandleArray (const std::string &myParentName)
virtual bool | push_back (const std::string &serviceTypeAndName)
| Add a handle to the array with "type/name" given in <myHandleTypeAndName>. More...
virtual bool | push_back (const ServiceHandle< T > &myHandle)
Public Member Functions inherited from GaudiHandleArray< ServiceHandle< T > >
virtual | ~GaudiHandleArray ()=default
GaudiHandleArray & | operator= (const std::vector< std::string > &myTypesAndNamesList)
| Set the array of GaudiHandles from typeAndNames given in vector of strings. More...
GaudiHandleArrayBase::BaseHandleArray | getBaseArray () override
| Get a read-write vector of GaudiHandleBase* pointing to the real handles. More...
GaudiHandleArrayBase::ConstBaseHandleArray | getBaseArray () const override
| 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
void | clear () override
| Clear the list of handles. More...
bool | empty () const override
| Return whether the list of tools is empty. More...
ServiceHandle< T > & | operator[] (int index)
const ServiceHandle< T > & | operator[] (int index) const
ServiceHandle< T > * | operator[] (const std::string &name)
| Get pointer (!) to ToolHandle by instance name. More...
const ServiceHandle< 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...
virtual bool | retrieved () const override
| has Array been retreived? 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...
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...
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...

## Additional Inherited Members
Public Types inherited from GaudiHandleArray< ServiceHandle< T > >
typedef std::vector< ServiceHandle< 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 GaudiHandleArray< ServiceHandle< T > >
| GaudiHandleArray (const std::vector< std::string > &myTypesAndNamesList, std::string myComponentType, 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 (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

### template<class T>
class ServiceHandleArray< 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
  Yushu Yao yyao@.nosp@m.lbl..nosp@m.gov

Definition at line 36 of file PropertyHolder.h.

## Constructor & Destructor Documentation

template<class T>

ServiceHandleArray< T >::ServiceHandleArray | ( | const std::vector< std::string > & | myTypesAndNamesList,
|  | const std::string & | myComponentType,
|  | const std::string & | myParentName
| ) |  |
| inline

Generic constructor.

Probably not very useful...

Definition at line 159 of file ServiceHandle.h.

161 : GaudiHandleArray<ServiceHandle<T>>( myTypesAndNamesList, myComponentType, myParentName )
162 {
163 }
GaudiHandleArray
T is the concrete handle type, e.g.
Definition: GaudiHandle.h:413
template<class T>

virtual ServiceHandleArray< T >::~ServiceHandleArray | ( |  | ) |
| inline virtual

Definition at line 165 of file ServiceHandle.h.

165 {}
template<class T>

ServiceHandleArray< T >::ServiceHandleArray | ( | const std::string & | myParentName | ) |
| inline

Definition at line 167 of file ServiceHandle.h.

167 : GaudiHandleArray<ServiceHandle<T>>( "Service", myParentName )
168 {
169 }
GaudiHandleArray
T is the concrete handle type, e.g.
Definition: GaudiHandle.h:413

## Member Function Documentation

template<class T>

virtual bool ServiceHandleArray< T >::push_back | ( | const std::string & | myHandleTypeAndName | ) |
| inline 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.

Implements GaudiHandleArrayBase.

Definition at line 171 of file ServiceHandle.h.

172 {
173 ServiceHandle<T> handle( serviceTypeAndName, GaudiHandleInfo::parentName() );
174 GaudiHandleArray<ServiceHandle<T>>::push_back( handle );
175 return true;
176 }
ServiceHandle
Handle to be used in lieu of naked pointers to services.
Definition: PropertyHolder.h:32
GaudiHandleInfo::parentName
const std::string & parentName() const
The name of the parent.
Definition: GaudiHandle.h:47
ServiceHandleArray::push_back
virtual bool push_back(const std::string &serviceTypeAndName)
Add a handle to the array with "type/name" given in <myHandleTypeAndName>.
Definition: ServiceHandle.h:171
GaudiHandleArray
T is the concrete handle type, e.g.
Definition: GaudiHandle.h:413
template<class T>

virtual bool ServiceHandleArray< T >::push_back | ( | const ServiceHandle< T > & | myHandle | ) |
| inline virtual

Reimplemented from GaudiHandleArray< ServiceHandle< T > >.

Definition at line 178 of file ServiceHandle.h.

178 { return push_back( myHandle.typeAndName() ); }
ServiceHandleArray::push_back
virtual bool push_back(const std::string &serviceTypeAndName)
Add a handle to the array with "type/name" given in <myHandleTypeAndName>.
Definition: ServiceHandle.h:171
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/PropertyHolder.h
- GaudiKernel/GaudiKernel/ServiceHandle.h