ATLAS Offline Software
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 $
16 #ifndef D3PDMAKERCORECOMPS_OBJFILLERTOOL_H
17 #define D3PDMAKERCORECOMPS_OBJFILLERTOOL_H
18 
19 
26 #include "GaudiKernel/ToolHandle.h"
27 #include "GaudiKernel/IIncidentListener.h"
28 
29 
30 namespace D3PD {
31 
32 // Forward declaration(s):
33 class ID3PD;
34 
50  : public extends<AthAlgTool, IObjFillerTool, IIncidentListener>,
51  public AddVariable
52 {
53 public:
60  ObjFillerTool (const std::string& type,
61  const std::string& name,
62  const IInterface* parent);
63 
64 
66  virtual StatusCode initialize();
67 
68 
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 
112 private:
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
D3PD::ObjFillerTool::fill
virtual StatusCode fill()
Fill one object.
Definition: ObjFillerTool.cxx:131
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
D3PD::ID3PD
Define an abstract interface for building a D3PD tree.
Definition: ID3PD.h:37
D3PD::AddVariable
Common implementation of IAddVariable.
Definition: AddVariable.h:38
tree
TChain * tree
Definition: tile_monitor.h:30
D3PD::ObjFillerTool::m_objectName
std::string m_objectName
Property: the name of the D3PDObject that created this tool.
Definition: ObjFillerTool.h:126
IObjFillerTool.h
Abstract interface for tool to fill an object in the D3PD.
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::ObjFillerTool::m_allowMissing
bool m_allowMissing
Property: If true, the input object is allowed to be missing.
Definition: ObjFillerTool.h:129
D3PD::ObjFillerTool
Object filler tool for a single object.
Definition: ObjFillerTool.h:52
D3PD::ObjFillerTool::m_prefix
std::string m_prefix
Property: Variable prefix for this block.
Definition: ObjFillerTool.h:120
D3PD::ObjFillerTool::configureD3PD
virtual StatusCode configureD3PD(IAddVariable *tree)
Configure the tool.
Definition: ObjFillerTool.cxx:84
D3PD::ObjFillerTool::ObjFillerTool
ObjFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: ObjFillerTool.cxx:30
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
IObjGetterTool.h
Abstract interface to get an object to put in the tuple.
errorcheck.h
Helpers for checking error return status codes and reporting errors.
D3PD::ObjFillerTool::m_getter
ToolHandle< IObjGetterTool > m_getter
Property: The object getter tool.
Definition: ObjFillerTool.h:114
D3PD::ObjFillerTool::m_tree
ID3PD * m_tree
Pointer to the ID3PD object used.
Definition: ObjFillerTool.h:135
IBlockFillerTool.h
Abstract interface for tool to fill a block in the D3PD.
AddVariable.h
Common implementation of IAddVariable.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::ObjFillerTool::m_saveMetadata
bool m_saveMetadata
Property: If true, the metadata about the variables is saved.
Definition: ObjFillerTool.h:132
D3PD::ObjFillerTool::isContainerFiller
virtual bool isContainerFiller() const
Find out if the filler handles containers or single objects.
Definition: ObjFillerTool.cxx:156
D3PD::ObjFillerTool::m_blockName
std::string m_blockName
Property: the name of this block.
Definition: ObjFillerTool.h:123
D3PD::ObjFillerTool::handle
virtual void handle(const Incident &inc)
Handle end of run incidents to save the metadata at that point.
Definition: ObjFillerTool.cxx:170
D3PD::ObjFillerTool::m_blockFillers
ToolHandleArray< IBlockFillerTool > m_blockFillers
Property: The list of block filler tools.
Definition: ObjFillerTool.h:117
D3PD::ObjFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: ObjFillerTool.cxx:105
D3PD::ObjFillerTool::initialize
virtual StatusCode initialize()
Standard Gaudi initialize method.
Definition: ObjFillerTool.cxx:62