15#include "GaudiKernel/System.h"
17#include "GaudiKernel/Incident.h"
18#include "GaudiKernel/IIncidentSvc.h"
31 const std::string& name,
32 const IInterface* parent)
33 : base_class (
type, name, parent),
40 "The IObjGetterTool instance.");
42 "List of contained block filler tools.");
43 declareProperty (
"Prefix",
m_prefix =
"",
44 "Variable name prefix for the contained blocks.");
45 declareProperty (
"BlockName",
m_blockName = this->name(),
46 "The name of this block.");
48 "Name of the D3PDObject that created this filler.");
50 "If true, then it is not considered an error for the "
51 "requested input object to be missing.");
53 "Set to true to get metadata into the output D3PD "
54 "about the variables created by this tool");
64 CHECK( AthAlgTool::initialize() );
70 CHECK( p_incSvc.retrieve() );
71 p_incSvc->addListener(
this,
"EndEvtLoop" );
73 return StatusCode::SUCCESS;
87 const std::type_info& ti =
m_getter->typeinfo();
96 return StatusCode::SUCCESS;
118 return StatusCode::SUCCESS;
136 return StatusCode::SUCCESS;
138 return StatusCode::FAILURE;
144 m_getter->releaseObjectUntyped (obj);
146 return StatusCode::SUCCESS;
172 if( inc.type() ==
"EndEvtLoop" ) {
174 const std::string metadata =
m_metadata.toString();
177 if(
m_tree->addMetadata( metadataName,
178 &metadata ).isFailure() ) {
180 <<
"Couldn't add object metadata information to the output!";
#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
StatusCode configureD3PD(IAddVariable *tree)
Configure the parent tree.
AddVariable(const std::string &prefix, const std::string &blockName=s_emptyString)
Constructor.
ObjectMetadata m_metadata
Metadata about the variables created by this object.
Common interface for adding a variable to a tuple.
Define an abstract interface for building a D3PD tree.
Block filler tool for noisy FEB information.