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

Abstract interface to form a single association. More...

#include <ISingleAssociationTool.h>

Inheritance diagram for D3PD::ISingleAssociationTool:
Collaboration diagram for D3PD::ISingleAssociationTool:

Public Member Functions

 DeclareInterfaceID (ISingleAssociationTool, 1, 0)
 Gaudi interface definition. More...
 
virtual StatusCode configureD3PD (IAddVariable *tree, const std::type_info &ti)=0
 Configure during initialization: book variables and type-check. More...
 
virtual StatusCode book ()=0
 Declare tuple variables. More...
 
virtual const std::type_info & typeinfo () const =0
 Return the type of object retrieved by this tool. More...
 
virtual const void * getUntyped (const void *p)=0
 Return the target object. More...
 
virtual void releaseObjectUntyped (const void *p)
 Release an object retrieved from the association. More...
 

Detailed Description

Abstract interface to form a single association.

This tool forms a single association; that is, it associates an object with at most one other object. The interface is similar to IObjGetterTool, except that get takes a pointer to the source object for the association.

Once you're done with the object, you should call releaseObjectUntyped(). This will usually be a no-op, but it allows the getter to return a dynamically-allocated object.

Definition at line 39 of file ISingleAssociationTool.h.

Member Function Documentation

◆ book()

virtual StatusCode D3PD::ISingleAssociationTool::book ( )
pure virtual

Declare tuple variables.

This is called at the start of the first event.

◆ configureD3PD()

virtual StatusCode D3PD::ISingleAssociationTool::configureD3PD ( IAddVariable tree,
const std::type_info &  ti 
)
pure virtual

Configure during initialization: book variables and type-check.

Parameters
treeOur parent for tuple making.
tiGives the type of the object being passed to resetUntyped.

configureD3PD should check that the type of the object coming as input (to getUntyped) is compatible with what it expects, and raise an error otherwise.

◆ DeclareInterfaceID()

D3PD::ISingleAssociationTool::DeclareInterfaceID ( ISingleAssociationTool  ,
,
 
)

Gaudi interface definition.

◆ getUntyped()

virtual const void* D3PD::ISingleAssociationTool::getUntyped ( const void *  p)
pure virtual

Return the target object.

Parameters
pThe source object for the association.

Return the target of the association, or 0. Should be of the type given by typeinfo.

◆ releaseObjectUntyped()

virtual void D3PD::ISingleAssociationTool::releaseObjectUntyped ( const void *  p)
virtual

Release an object retrieved from the association.

Parameters
pThe object to release.

Call this when you are done with the object returned by getUntyped(). The default implementation is a no-op, but if the association dynamically allocated the object which it returned, this gives it a chance to free it.

◆ typeinfo()

virtual const std::type_info& D3PD::ISingleAssociationTool::typeinfo ( ) const
pure virtual

Return the type of object retrieved by this tool.


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