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 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef D3PDMAKERUTILS_BLOCKFILLERTOOL_H
17 #define D3PDMAKERUTILS_BLOCKFILLERTOOL_H
18 
19 
21 
22 
23 namespace D3PD {
24 
25 
65 template <class T>
67  : public BlockFillerToolImpl
68 {
69 public:
76  BlockFillerTool (const std::string& type,
77  const std::string& name,
78  const IInterface* parent);
79 
80 
90  const std::type_info& ti);
91 
92 
98  virtual StatusCode book() = 0;
99 
100 
127  virtual StatusCode fillUntyped (const void* p,
128  bool again = false);
129 
130 
139  virtual StatusCode fill (const T& p) = 0;
140 
141 
153  virtual StatusCode fillAgain (const T& p);
154 };
155 
156 
157 } // namespace D3PD
158 
159 
161 
162 
163 // Make sure we always see the specializations.
164 #ifndef D3PDMAKERUTILS_VOIDBLOCKFILLERTOOL_H // avoid recusive include
166 #endif
167 #ifndef D3PDMAKERUTILS_BLOCKFILLERTOOLMULTI_H
169 #endif
170 
171 
172 #endif // not D3PDMAKERUTILS_BLOCKFILLERTOOL_H
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
tree
TChain * tree
Definition: tile_monitor.h:30
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: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
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
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
BlockFillerToolMulti.h
A specialization of BlockFillerTool that can accept one of several types.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::BlockFillerTool::BlockFillerTool
BlockFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
D3PD::BlockFillerToolImpl
Non-template parts of BlockFillerTool.
Definition: BlockFillerToolImpl.h:44
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
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).