ATLAS Offline Software
Loading...
Searching...
No Matches
ObjFillerTool.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: ObjFillerTool.h 618070 2014-09-22 19:05:34Z ssnyder $
14
15
16#ifndef D3PDMAKERCORECOMPS_OBJFILLERTOOL_H
17#define D3PDMAKERCORECOMPS_OBJFILLERTOOL_H
18
19
26#include "GaudiKernel/ToolHandle.h"
27#include "GaudiKernel/IIncidentListener.h"
28
29
30namespace D3PD {
31
32// Forward declaration(s):
33class ID3PD;
34
50 : public extends<AthAlgTool, IObjFillerTool, IIncidentListener>,
51 public AddVariable
52{
53public:
60 ObjFillerTool (const std::string& type,
61 const std::string& name,
62 const IInterface* parent);
63
64
66 virtual StatusCode initialize();
67
68
75 virtual StatusCode configureD3PD (IAddVariable* tree);
76
77
83 virtual StatusCode book();
84
85
94 virtual StatusCode fill();
95
96
103 virtual bool isContainerFiller() const;
104
105
109 virtual void handle( const Incident& inc );
110
111
112private:
114 ToolHandle<IObjGetterTool> m_getter;
115
117 ToolHandleArray<IBlockFillerTool> m_blockFillers;
118
120 std::string m_prefix;
121
123 std::string m_blockName;
124
126 std::string m_objectName;
127
130
133
136};
137
138
139} // namespace D3PD
140
141
142#endif // not D3PDMAKERCORECOMPS_OBJFILLERTOOL_H
Common implementation of IAddVariable.
Helpers for checking error return status codes and reporting errors.
Abstract interface for tool to fill a block in the D3PD.
Abstract interface for tool to fill an object in the D3PD.
Abstract interface to get an object to put in the tuple.
AddVariable(const std::string &prefix, const std::string &blockName=s_emptyString)
Constructor.
Common interface for adding a variable to a tuple.
Define an abstract interface for building a D3PD tree.
Definition ID3PD.h:37
virtual bool isContainerFiller() const
Find out if the filler handles containers or single objects.
virtual StatusCode initialize()
Standard Gaudi initialize method.
ToolHandle< IObjGetterTool > m_getter
Property: The object getter tool.
bool m_allowMissing
Property: If true, the input object is allowed to be missing.
std::string m_blockName
Property: the name of this block.
virtual void handle(const Incident &inc)
Handle end of run incidents to save the metadata at that point.
virtual StatusCode configureD3PD(IAddVariable *tree)
Configure the tool.
std::string m_objectName
Property: the name of the D3PDObject that created this tool.
virtual StatusCode book()
Declare tuple variables.
virtual StatusCode fill()
Fill one object.
std::string m_prefix
Property: Variable prefix for this block.
ID3PD * m_tree
Pointer to the ID3PD object used.
bool m_saveMetadata
Property: If true, the metadata about the variables is saved.
ObjFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
ToolHandleArray< IBlockFillerTool > m_blockFillers
Property: The list of block filler tools.
Block filler tool for noisy FEB information.
TChain * tree