|
Gaudi Framework, version v22r0 |
| Home | Generated: 9 Feb 2011 |
The interface implemented by the IToolSvc base class. More...
#include <GaudiKernel/IToolSvc.h>


Classes | |
| class | Observer |
| allow call-backs when a tool is a created or retrieved More... | |
Public Member Functions | |
| DeclareInterfaceID (IToolSvc, 2, 0) | |
| InterfaceID. | |
| virtual StatusCode | retrieve (const std::string &type, const InterfaceID &iid, IAlgTool *&tool, const IInterface *parent=0, bool createIf=true)=0 |
| Retrieve tool with tool dependent part of the name automatically assigned. | |
| virtual StatusCode | retrieve (const std::string &type, const std::string &name, const InterfaceID &iid, IAlgTool *&tool, const IInterface *parent=0, bool createIf=true)=0 |
| Retrieve tool with tool dependent part of the name specified by the requester. | |
| virtual std::vector< std::string > | getInstances (const std::string &toolType)=0 |
| Get all instance of tool by type. | |
| virtual StatusCode | releaseTool (IAlgTool *tool)=0 |
| Release the tool. | |
| template<class T > | |
| StatusCode | retrieveTool (const std::string &type, T *&tool, const IInterface *parent=0, bool createIf=true) |
| Retrieve specified tool sub-type with tool dependent part of the name automatically assigned. | |
| template<class T > | |
| StatusCode | retrieveTool (const std::string &type, const std::string &name, T *&tool, const IInterface *parent=0, bool createIf=true) |
| Retrieve specified tool sub-type with tool dependent part of the name tool dependent part of the name specified by the requester. | |
| virtual void | registerObserver (Observer *obs)=0 |
| virtual void | unRegisterObserver (Observer *obs)=0 |
The interface implemented by the IToolSvc base class.
Definition at line 17 of file IToolSvc.h.
| IToolSvc::DeclareInterfaceID | ( | IToolSvc | , | |
| 2 | , | |||
| 0 | ||||
| ) |
| virtual std::vector<std::string> IToolSvc::getInstances | ( | const std::string & | toolType | ) | [pure virtual] |
| virtual StatusCode IToolSvc::releaseTool | ( | IAlgTool * | tool | ) | [pure virtual] |
| virtual StatusCode IToolSvc::retrieve | ( | const std::string & | type, | |
| const std::string & | name, | |||
| const InterfaceID & | iid, | |||
| IAlgTool *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [pure virtual] |
Retrieve tool with tool dependent part of the name specified by the requester.
By default a tool will be created if it does not exist, unless otherwise specified. By default it will be a common tool unless a parent is specified. The parent of a common tool is automatically taken as the ToolSvc itself.
| type | AlgTool type name | |
| name | name to be assigned to tool dependent part of the name | |
| iid | the unique interface identifier | |
| tool | returned tool | |
| parent | constant reference to parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Implemented in ToolSvc.
| virtual StatusCode IToolSvc::retrieve | ( | const std::string & | type, | |
| const InterfaceID & | iid, | |||
| IAlgTool *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [pure virtual] |
Retrieve tool with tool dependent part of the name automatically assigned.
By default a tool will be created if it does not exist, unless otherwise specified. By default it will be a common tool unless a parent is specified. The parent of a common tool is automatically taken as the ToolSvc itself.
| type | AlgTool type name | |
| iid | the unique interface identifier | |
| tool | returned tool | |
| parent | constant reference to the parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Implemented in ToolSvc.
| StatusCode IToolSvc::retrieveTool | ( | const std::string & | type, | |
| const std::string & | name, | |||
| T *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [inline] |
Retrieve specified tool sub-type with tool dependent part of the name tool dependent part of the name specified by the requester.
Internally it uses the corresponding IToolSvc::retrieve and does the dynamic casting.
IToolSvc* svc = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , "MyToolName" , tool ) ;
For this example public tool of type 'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be ToolSvc.MyToolName
IToolSvc* svc = ... ; IAlgorithm* alg = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , "MyToolName" , tool , alg ) ;
For this example the private tool of type 'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be <AlgName>.MyToolName , where <AlgName> is a name of the algorithm.
If name is empty ("") it is assumed to be equal to the type
| type | AlgTool type name | |
| name | name to be assigned to tool dependent part of the name | |
| tool | returned tool | |
| parent | constant reference to parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Definition at line 189 of file IToolSvc.h.
| StatusCode IToolSvc::retrieveTool | ( | const std::string & | type, | |
| T *& | tool, | |||
| const IInterface * | parent = 0, |
|||
| bool | createIf = true | |||
| ) | [inline] |
Retrieve specified tool sub-type with tool dependent part of the name automatically assigned.
Internally it uses the corresponding IToolSvc::retrieve and does the dynamic casting.
IToolSvc* svc = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , tool ) ;
For this example public tool of type 'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be ToolSvc.MyToolType
IToolSvc* svc = ... ; IAlgorithm* alg = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType" , tool , alg ) ;
For this example the private tool of type 'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be <AlgName>.MyToolType , where <AlgName> is a name of the algorithm.
IToolSvc* svc = ... ; IMyTool* tool = 0 ; StatusCode sc = svc->retrieveTool ( "MyToolType/MyToolName" , tool ) ;
For this example public tool of type 'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be ToolSvc.MyToolName
IToolSvc* svc = ... ; IAlgorithm* alg = ... ; IMyTool* tool = 0 ; StatusCode sc = svc -> retrieveTool ( "MyToolType/MyToolName" , tool , alg ) ;
For this example the private tool of type 'MyToolType' will be retrieved from Tool Service (created on demand). The full name of the tool instance is set to be <AlgName>.MyToolName , where <AlgName> is a name of the algorithm.
| tool | returned tool | |
| parent | constant reference to parent (def=none) | |
| createIf | creation flag (def=create if not existing) |
Definition at line 133 of file IToolSvc.h.