The Gaudi Framework
v30r3 (a5ef0a68)
|
Array of Handles to be used in lieu of vector of naked pointers to tools. More...
#include <GaudiKernel/ToolHandle.h>
Public Member Functions | |
ToolHandleArray (const std::vector< std::string > &myTypesAndNames, const IInterface *parent=nullptr, bool createIf=true) | |
Generic constructor. More... | |
ToolHandleArray (const IInterface *parent=nullptr, bool createIf=true) | |
Constructor which creates and empty list. More... | |
bool | push_back (const std::string &toolTypeAndName) override |
Add a handle to the array with given tool type and name. More... | |
bool | push_back (const ToolHandle< T > &myHandle) override |
Ensure that for added handles the parent and creatIf are taken from this array. More... | |
template<class OWNER , typename = std::enable_if_t<std::is_base_of<IProperty, OWNER>::value>> | |
ToolHandleArray (OWNER *owner, std::string name, const std::vector< std::string > &typesAndNames={}, std::string doc="") | |
Autodeclaring constructor with property name, tool type/name and documentation. More... | |
Public Member Functions inherited from ToolHandleInfo | |
virtual | ~ToolHandleInfo ()=default |
bool | isPublic () const noexcept |
bool | createIf () const noexcept |
const IInterface * | parent () const noexcept |
Public Member Functions inherited from GaudiHandleArray< ToolHandle< 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... | |
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... | |
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< 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 | |
using | PropertyType = GaudiHandleArrayProperty |
typedef std::vector< GaudiHandleBase * > | BaseHandleArray |
typedef std::vector< const GaudiHandleBase * > | ConstBaseHandleArray |
Static Public Member Functions inherited from ToolHandleInfo | |
static std::string | toolComponentType (const IInterface *parent) |
static std::string | toolParentName (const IInterface *parent) |
Protected Member Functions inherited from ToolHandleInfo | |
ToolHandleInfo (const IInterface *parent=nullptr, bool createIf=true) | |
Protected Member Functions inherited from GaudiHandleArray< ToolHandle< 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... | |
Protected Attributes inherited from ToolHandleInfo | |
const IInterface * | m_parent = nullptr |
bool | m_createIf {true} |
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.
Definition at line 385 of file ToolHandle.h.
|
inline |
Generic constructor.
Probably not very useful...
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 397 of file ToolHandle.h.
|
inline |
Constructor which creates and empty list.
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 409 of file ToolHandle.h.
|
inline |
Autodeclaring constructor with property name, tool type/name and documentation.
Definition at line 433 of file ToolHandle.h.
|
inlineoverridevirtual |
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 420 of file ToolHandle.h.
|
inlineoverridevirtual |
Ensure that for added handles the parent and creatIf are taken from this array.
Reimplemented from GaudiHandleArray< ToolHandle< T > >.
Definition at line 428 of file ToolHandle.h.