17#include "GaudiKernel/Incident.h"
18#include "GaudiKernel/IIncidentSvc.h"
30VectorFillerTool::VectorFillerTool (
const std::string&
type,
31 const std::string& name,
32 const IInterface* parent)
33 : base_class (
type, name, parent),
38 "The ICollectionGetterTool instance.");
40 "Name of the D3PDObject that created this filler.");
42 "If true, then it is not considered an error for the "
43 "requested input object to be missing.");
45 "Set to true to get metadata into the output D3PD "
46 "about the variables created by this tool");
54VectorFillerTool::initialize()
56 CHECK( VectorFillerToolBase::initialize() );
60 CHECK( m_getter.retrieve() );
64 CHECK( p_incSvc.retrieve() );
65 p_incSvc->addListener(
this,
"EndEvtLoop" );
67 return StatusCode::SUCCESS;
78VectorFillerTool::configureD3PD (IAddVariable*
tree)
85 return StatusCode::SUCCESS;
106 return StatusCode::SUCCESS;
119VectorFillerTool::fill()
122 size_t sz =
m_getter->sizeHint (m_allowMissing);
124 CHECK( doFill (*m_getter,
sz) );
126 return StatusCode::SUCCESS;
136bool VectorFillerTool::isContainerFiller()
const
150void VectorFillerTool::handle(
const Incident& inc )
152 if( inc.type() ==
"EndEvtLoop" ) {
158 &metadata ).isFailure() ) {
160 <<
"Couldn't add object metadata information to the output!";
Helpers for checking error return status codes and reporting errors.
#define REPORT_MESSAGE(LVL)
Report a message.
#define CHECK(...)
Evaluate an expression and check for errors.
Abstract interface for a D3PD tree.
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
virtual StatusCode addMetadata(const std::string &key, const void *obj, const std::type_info &ti)=0
Add a new piece of metadata to the tuple.
Block filler tool for noisy FEB information.
virtual bool isContainerFiller() const
Find out if the filler handles containers or single objects.
bool m_allowMissing
Property: Don't give an error if the target getter fails to find the input objects.
std::string m_objectName
Property: the name of the D3PDObject that created this tool.
ID3PD * m_tree
Pointer to the ID3PD object used.
StatusCode doBook()
Declare tuple variables.
bool m_saveMetadata
Property: If true, the metadata about the variables is saved.
ToolHandle< ICollectionGetterTool > m_getter
Property: The collection getter tool.
ObjectMetadata m_metadata
Metadata about the variables created by this tool.
::StatusCode StatusCode
StatusCode definition for legacy code.