ATLAS Offline Software
Public Member Functions | List of all members
D3PD::ICollectionGetterRegistryTool Class Referenceabstract

Abstract interface to keep a registry of collection getter tools. More...

#include <ICollectionGetterRegistryTool.h>

Inheritance diagram for D3PD::ICollectionGetterRegistryTool:
Collaboration diagram for D3PD::ICollectionGetterRegistryTool:

Public Member Functions

 DeclareInterfaceID (ICollectionGetterRegistryTool, 1, 0)
 Gaudi interface definition. More...
 
virtual StatusCode add (const std::string &label, ICollectionGetterTool *tool)=0
 Register a new collection getter tool. More...
 
virtual StatusCode get (const std::string &label, const INamedInterface *parent, ICollectionGetterTool *&tool)=0
 Get a copy of a registered collection getter tool. More...
 

Detailed Description

Abstract interface to keep a registry of collection getter tools.

In order to represent associations by an index, we need to be able to get access to the collection within which we're indexing. We do this by optionally associating a label with a collection getter tool (this will typically be the object prefix). We can then look up the label here and make a copy of the matching getter tool. (We make a copy rather than using the original instance since the collection getters are stateful.)

Definition at line 39 of file ICollectionGetterRegistryTool.h.

Member Function Documentation

◆ add()

virtual StatusCode D3PD::ICollectionGetterRegistryTool::add ( const std::string &  label,
ICollectionGetterTool tool 
)
pure virtual

Register a new collection getter tool.

Parameters
labelLabel for the tool.
toolThe tool instance.

◆ DeclareInterfaceID()

D3PD::ICollectionGetterRegistryTool::DeclareInterfaceID ( ICollectionGetterRegistryTool  ,
,
 
)

Gaudi interface definition.

◆ get()

virtual StatusCode D3PD::ICollectionGetterRegistryTool::get ( const std::string &  label,
const INamedInterface *  parent,
ICollectionGetterTool *&  tool 
)
pure virtual

Get a copy of a registered collection getter tool.

Parameters
labelLabel for the tool.
parentParent for the new tool.
toolThe new tool instance.

The new tool will be a private tool, owned by parent.


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