ATLAS Offline Software
BlockFillerTool.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  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
13 #ifndef D3PDMAKERUTILS_BLOCKFILLERTOOL_H
14 #define D3PDMAKERUTILS_BLOCKFILLERTOOL_H
15 
16 
18 
19 
20 namespace D3PD {
21 
22 
62 template <class T>
64  : public BlockFillerToolImpl
65 {
66 public:
74 
75 
85  const std::type_info& ti);
86 
87 
93  virtual StatusCode book() = 0;
94 
95 
122  virtual StatusCode fillUntyped (const void* p,
123  bool again = false);
124 
125 
134  virtual StatusCode fill (const T& p) = 0;
135 
136 
148  virtual StatusCode fillAgain (const T& p);
149 };
150 
151 
152 } // namespace D3PD
153 
154 
156 
157 
158 // Make sure we always see the specializations.
159 #ifndef D3PDMAKERUTILS_VOIDBLOCKFILLERTOOL_H // avoid recusive include
161 #endif
162 #ifndef D3PDMAKERUTILS_BLOCKFILLERTOOLMULTI_H
164 #endif
165 
166 
167 #endif // not D3PDMAKERUTILS_BLOCKFILLERTOOL_H
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
tree
TChain * tree
Definition: tile_monitor.h:30
D3PD::BlockFillerToolImpl::BlockFillerToolImpl
BlockFillerToolImpl(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: BlockFillerToolImpl.cxx:27
D3PD::BlockFillerTool::book
virtual StatusCode book()=0
Declare tuple variables.
D3PD::BlockFillerTool::fillUntyped
virtual StatusCode fillUntyped(const void *p, bool again=false)
Fill one block.
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
D3PD::BlockFillerTool::fill
virtual StatusCode fill(const T &p)=0
Fill one block — type-safe version.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:65
BlockFillerToolMulti.h
A specialization of BlockFillerTool that can accept one of several types.
D3PD::BlockFillerToolImpl
Non-template parts of BlockFillerTool.
Definition: BlockFillerToolImpl.h:44
D3PD::BlockFillerTool::configureD3PD
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti)
Configure during initialization: type-check.
BlockFillerToolImpl.h
Non-template parts of BlockFillerTool.
VoidBlockFillerTool.h
Type-safe wrapper for block filler tools, for tools taking no input.
BlockFillerTool.icc
D3PD::BlockFillerTool::fillAgain
virtual StatusCode fillAgain(const T &p)
Fill one block, after AGAIN has been returned (type-safe).