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

Abstract interface to form a multi-way association. More...

#include <IMultiAssociationTool.h>

Inheritance diagram for D3PD::IMultiAssociationTool:
Collaboration diagram for D3PD::IMultiAssociationTool:

Public Member Functions

 DeclareInterfaceID (IMultiAssociationTool, 1, 0)
 Gaudi interface definition. More...
 
virtual StatusCode configureD3PD (IAddVariable *tree, const std::type_info &ti)=0
 Configure during initialization: type-check. More...
 
virtual StatusCode book ()=0
 Declare tuple variables. More...
 
virtual StatusCode resetUntyped (const void *p)=0
 Start the iteration for a new association. More...
 
virtual const std::type_info & elementTypeinfo () const =0
 Return the element type of the collection. More...
 
virtual const void * nextUntyped ()=0
 Return a pointer to the next element in the iteration. More...
 
virtual void releaseElementUntyped (const void *p)
 Release an object retrieved from the getter. More...
 

Detailed Description

Abstract interface to form a multi-way association.

This tool forms a multiple association. That is, it associates from a single object to a collection of objects. The interface is similar to ICollectionGetterTool, except that the reset method takes a pointer to the source object for the association. next then iterates over the association results.

Definition at line 39 of file IMultiAssociationTool.h.

Member Function Documentation

◆ book()

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

Declare tuple variables.

This is called at the start of the first event.

◆ configureD3PD()

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

Configure during initialization: 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 resetUntyped) is compatible with what it expects, and raise an error otherwise.

◆ DeclareInterfaceID()

D3PD::IMultiAssociationTool::DeclareInterfaceID ( IMultiAssociationTool  ,
,
 
)

Gaudi interface definition.

◆ elementTypeinfo()

virtual const std::type_info& D3PD::IIteration::elementTypeinfo ( ) const
pure virtualinherited

Return the element type of the collection.

I.e., nextUntyped returns a pointer to this type.

◆ nextUntyped()

virtual const void* D3PD::IIteration::nextUntyped ( )
pure virtualinherited

Return a pointer to the next element in the iteration.

Return 0 when the collection has been exhausted.

◆ releaseElementUntyped()

virtual void D3PD::IIteration::releaseElementUntyped ( const void *  p)
virtualinherited

Release an object retrieved from the getter.

Parameters
pThe object to release.

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

◆ resetUntyped()

virtual StatusCode D3PD::IMultiAssociationTool::resetUntyped ( const void *  p)
pure virtual

Start the iteration for a new association.

Parameters
pThe object from which to associate.

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