ATLAS Offline Software
|
Object filler tool for tools taking no input. More...
#include <VoidObjFillerTool.h>
Public Member Functions | |
VoidObjFillerTool (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) |
Configure the tool. More... | |
virtual StatusCode | book () |
Declare tuple variables. More... | |
virtual StatusCode | fill () |
Fill one object. More... | |
virtual bool | isContainerFiller () const |
Find out if the filler handles containers or single objects. More... | |
virtual void | handle (const Incident &inc) |
Handle end of run incidents to save the metadata at that point. More... | |
virtual StatusCode | addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0) |
Add a variable to the tuple. More... | |
template<class T > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring="") |
Make the template implementation from IAddVariable visible. More... | |
template<class T , class U > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval) |
Make the template implementation from IAddVariable visible. More... | |
virtual StatusCode | addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)=0 |
Make the template implementation from IAddVariable visible. More... | |
template<class T > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring="") |
Add a variable to the tuple. More... | |
template<class T , class U > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval) |
Add a variable to the tuple. More... | |
virtual StatusCode | addDimensionedVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0) |
Add a variable to the tuple. More... | |
template<class T > | |
StatusCode | addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="") |
Add a variable to the tuple. More... | |
template<class T , class U > | |
StatusCode | addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval) |
Add a variable to the tuple. More... | |
virtual StatusCode | addDimensionedVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)=0 |
Add a variable to the tuple. More... | |
template<class T > | |
StatusCode | addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="") |
Add a variable to the tuple. More... | |
template<class T , class U > | |
StatusCode | addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval) |
Add a variable to the tuple. More... | |
Protected Attributes | |
ObjectMetadata | m_metadata |
Metadata about the variables created by this object. More... | |
Private Attributes | |
ToolHandleArray< IBlockFillerTool > | m_blockFillers |
Property: The list of block filler tools. More... | |
std::string | m_prefix |
Property: Variable prefix for this block. More... | |
std::string | m_blockName |
Property: the name of this block. More... | |
std::string | m_objectName |
Property: the name of the D3PDObject that created this tool. More... | |
bool | m_saveMetadata |
Property: If true, the metadata about the variables is saved. More... | |
ID3PD * | m_tree |
Pointer to the ID3PD object used. More... | |
const std::string & | m_suffix |
Reference to the variable suffix. More... | |
Static Private Attributes | |
static const std::string | s_emptyString |
Used to provide a default value for blockName. More... | |
Object filler tool for tools taking no input.
This is an object filler tool for tools that take no input. It has the following properties:
BlockFillers - List of IBlockFillerTool instances. Prefix - Prefix to add to variable names for this block.
For each event, we loop over all block filler tools.
Definition at line 45 of file VoidObjFillerTool.h.
D3PD::VoidObjFillerTool::VoidObjFillerTool | ( | 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 29 of file VoidObjFillerTool.cxx.
|
virtualinherited |
Add a variable to the tuple.
name | The name of the variable. |
type | The type of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti . Only works for basic types. |
If called from the constructor, the only effect is to clear ptr
.
Implements D3PD::IAddVariable.
Definition at line 123 of file AddVariable.cxx.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
type | The type of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti . Only works for basic types. |
If called from the constructor, the only effect is to clear ptr
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer to the default value to use for this variable. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer to the default value to use for this variable. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr
.
|
virtualinherited |
Add a variable to the tuple.
name | The name of the variable. |
type | The type of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
docstring | Documentation string for this variable. |
defval | Pointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti . Only works for basic types. |
If called from the constructor, the only effect is to clear ptr
.
Implements D3PD::IAddVariable.
Definition at line 85 of file AddVariable.cxx.
|
inherited |
Make the template implementation from IAddVariable
visible.
|
inherited |
Make the template implementation from IAddVariable
visible.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
docstring | Documentation string for this variable. |
defval | Pointer to the default value to use for this variable. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr
.
|
inherited |
Make the template implementation from IAddVariable
visible.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr
.
|
virtual |
Declare tuple variables.
This is called at the start of the first event.
Definition at line 95 of file VoidObjFillerTool.cxx.
|
virtual |
Configure the tool.
tree | The parent D3PD tree. |
This is called during initialization.
Definition at line 77 of file VoidObjFillerTool.cxx.
|
virtual |
Fill one object.
This is called once per event. It should:
This is called once per event. It loops over the contained block filler tools.
Definition at line 116 of file VoidObjFillerTool.cxx.
|
virtual |
Handle end of run incidents to save the metadata at that point.
The metadata saving is now done when seeing an end of run incident.
This is needed because of MC11b...
Basically, we can't do this in finalize(), because the output TTree is no longer accessible by then. So it has to be done just before the event loop is finished.
Definition at line 145 of file VoidObjFillerTool.cxx.
|
virtual |
|
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.
Definition at line 131 of file VoidObjFillerTool.cxx.
|
private |
Property: The list of block filler tools.
Definition at line 111 of file VoidObjFillerTool.h.
|
private |
Property: the name of this block.
Definition at line 117 of file VoidObjFillerTool.h.
|
protectedinherited |
Metadata about the variables created by this object.
Definition at line 129 of file AddVariable.h.
|
private |
Property: the name of the D3PDObject that created this tool.
Definition at line 120 of file VoidObjFillerTool.h.
|
private |
Property: Variable prefix for this block.
Definition at line 114 of file VoidObjFillerTool.h.
|
private |
Property: If true, the metadata about the variables is saved.
Definition at line 123 of file VoidObjFillerTool.h.
|
privateinherited |
Reference to the variable suffix.
Definition at line 137 of file AddVariable.h.
|
private |
Pointer to the ID3PD object used.
Definition at line 126 of file VoidObjFillerTool.h.
|
staticprivateinherited |
Used to provide a default value for blockName.
Definition at line 41 of file AddVariable.h.