#include <ToolStore.h>
Static Public Member Functions | |
static StatusCode | put (IAsgTool *ptool) |
static StatusCode | put (IAsgTool *ptool, const std::string &name) |
static IAsgTool * | get (const std::string &name, bool silent=false) |
Retrieve a tool by name. | |
template<typename T > | |
static T * | get (const std::string &name) |
Retrieve a tool by name and interface. | |
template<typename T > | |
static bool | contains (const std::string &name) |
Check whether a tool with a given type and name is known in the store. | |
static StatusCode | remove (const IAsgTool *tool) |
Remove the specified tool from the store. | |
static StatusCode | remove (const std::string &name) |
Remove a tool with a given name from the store. |
A light-weight replacement for ToolSvc for ROOT analysis
In order to allow tools to find each other through ToolHandles, just like in Athena, we need a global registry of all of the tools that the user instantiates in his/her job.
This class does exactly this. All created dual-use tools register themselves in it, so that other components could later on find them.
StatusCode asg::ToolStore::put | ( | IAsgTool * | ptool, | |
const std::string & | name | |||
) | [static] |
Store a tool by an alternate name. The name must be non-blank and not already exist in the store.
StatusCode asg::ToolStore::put | ( | IAsgTool * | ptool | ) | [static] |
Store a named tool by its name. The name must be non-blank and not already exist in the store.