ATLAS Offline Software
|
Represent a multiple association by containment inside vectors. More...
#include <ContainedVectorMultiAssociationFillerTool.h>
Public Member Functions | |
ContainedVectorMultiAssociationFillerTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard Gaudi tool constructor. More... | |
virtual StatusCode | initialize () |
Standard Gaudi initialize method. More... | |
virtual StatusCode | configureD3PD (IAddVariable *tree, const std::type_info &ti) |
Configure during initialization: type-check. More... | |
virtual StatusCode | book () |
Declare tuple variables. More... | |
virtual StatusCode | fillUntyped (const void *p, bool again=false) |
Fill one block. More... | |
Private Attributes | |
ToolHandle< IMultiAssociationTool > | m_associator |
Property: The association tool instance. More... | |
Represent a multiple association by containment inside vectors.
This is a block filler tool which represents a multiple association by containment; the variables in the contained blocks will appear inside of vectors. (This implies that if this block itself is used with, say, VectorFillerTool
, then we'll end up with nested vectors.)
It takes as a property an IMultiAssociationTool
. For each input object, it asks the association tool which objects are associated with it; the result is a collection of 0 or more objects. This tool also has a list of block filler tools; these tools are called for the result of the association.
Properties:
Associator - The IMultiAssociationTool
.
Properties inherited from VectorFillerToolBase:
BlockFillers - List of IBlockFillerTool instances. Prefix - Prefix to add to variable names for this block. NrowName - Name of the variable for the count of rows. Omitted if empty. Default: ‘n’. NobjName - Name of the variable for the count of objects. (May be less than the number of rows if AGAIN is used.) Omitted if empty (default). ObjIndexName - Name of the variable for the object index. Omitted if empty (default).
Definition at line 59 of file ContainedVectorMultiAssociationFillerTool.h.
D3PD::ContainedVectorMultiAssociationFillerTool::ContainedVectorMultiAssociationFillerTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Standard Gaudi tool constructor.
type | The name of the tool type. |
name | The tool name. |
parent | The tool's Gaudi parent. |
Definition at line 27 of file ContainedVectorMultiAssociationFillerTool.cxx.
|
virtual |
Declare tuple variables.
This is called at the start of the first event.
Definition at line 75 of file ContainedVectorMultiAssociationFillerTool.cxx.
|
virtual |
Configure during initialization: type-check.
tree | Our parent for tuple making. |
ti | Gives the type of the object being passed to fillUntyped . |
configureD3PD
should check that the type of the object coming as input is compatible with what it expects, and raise an error otherwise.
Definition at line 60 of file ContainedVectorMultiAssociationFillerTool.cxx.
|
virtual |
Fill one block.
p | The input object. |
again | Set if this is a subsequent call requested by an AGAIN return |
This is called once per object. The type of the object at which p
points is given by the ti
argument to configureD3PD
. The caller is responsible for arranging that all the pointers for booked variables are set appropriately upon entry.
If the return status is the special code AGAIN
(defined above), then this filler tool wants to make multiple entries. The parent should set up to capture a new ‘row’ and run through the list of block filler tools again, but for this tool call fillAgainUntyped
instead of fillUntyped
. This should be repeated as long as fillAgainUntyped
returns AGAIN
.
Once fillUntyped
returns AGAIN
, the parent should call fillUntyped
with the same p argument and again
set to true
. This continues until fillUntyped
returns something other than AGAIN
.
Not all parents may support this. In that case, returning AGAIN
will be treated as an error.
Definition at line 111 of file ContainedVectorMultiAssociationFillerTool.cxx.
|
virtual |
Standard Gaudi initialize
method.
Definition at line 43 of file ContainedVectorMultiAssociationFillerTool.cxx.
|
private |
Property: The association tool instance.
Definition at line 131 of file ContainedVectorMultiAssociationFillerTool.h.