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

Abstract interface for tool to fill an object in the D3PD. More...

#include <IObjFillerTool.h>

Inheritance diagram for D3PD::IObjFillerTool:
Collaboration diagram for D3PD::IObjFillerTool:

Public Member Functions

 DeclareInterfaceID (IObjFillerTool, 1, 0)
 Gaudi interface definition. More...
 
virtual StatusCode configureD3PD (IAddVariable *tree)=0
 Configure the tool. More...
 
virtual StatusCode book ()=0
 Declare tuple variables. More...
 
virtual StatusCode fill ()=0
 Fill one object. More...
 
virtual bool isContainerFiller () const =0
 Find out if the filler handles containers or single objects. More...
 

Detailed Description

Abstract interface for tool to fill an object in the D3PD.

Each tree consists of a set of objects. Each of these will generally correspond to one C++ object, or set of objects in a container. Each object is filled by a tool of type IObjFillerTool. (These tools are intended to be generic; the object-specific code is in block filling). For the case of objects in a container, all the filled tuple leaves should start with a common prefix (e.g., ‘el_’), and a count leaf will be automatically added (‘el_n’). For single objects not in a container, a prefix is optional; but if present should be common to all the leaves of the object.

Inputs to object filler tools are provided by ‘getter’ tools.

Definition at line 43 of file IObjFillerTool.h.

Member Function Documentation

◆ book()

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

Declare tuple variables.

This is called at the start of the first event.

◆ configureD3PD()

virtual StatusCode D3PD::IObjFillerTool::configureD3PD ( IAddVariable tree)
pure virtual

Configure the tool.

Parameters
treeThe parent D3PD tree.

This is called during initialization.

◆ DeclareInterfaceID()

D3PD::IObjFillerTool::DeclareInterfaceID ( IObjFillerTool  ,
,
 
)

Gaudi interface definition.

◆ fill()

virtual StatusCode D3PD::IObjFillerTool::fill ( )
pure virtual

Fill one object.

This is called once per event. It should:

  • Fetch the input.
  • If it's a container, loop over the contents.
  • Loop over the contained block filler tools.

◆ isContainerFiller()

virtual bool D3PD::IObjFillerTool::isContainerFiller ( ) const
pure virtual

Find out if the filler handles containers or single objects.

This is used by the D3PDReader code generator to know how to create the generated source files exactly.


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