ATLAS Offline Software
ID3PD.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$
15 #ifndef D3PDMAKERINTERFACES_ID3PD_H
16 #define D3PDMAKERINTERFACES_ID3PD_H
17 
19 #include "GaudiKernel/StatusCode.h"
20 #include <typeinfo>
21 #include <string>
22 
23 
24 namespace D3PD {
25 
26 
35 class ID3PD
36  : public IAddVariable
37 {
38 public:
42  virtual StatusCode capture () = 0;
43 
44 
48  virtual StatusCode clear () = 0;
49 
50 
52  typedef unsigned int Dim_t;
53  virtual StatusCode redim (const Dim_t* ptr) = 0;
54 
55 
69  virtual StatusCode addMetadata (const std::string& key,
70  const void* obj,
71  const std::type_info& ti) = 0;
72 
73 
86  template <class T>
87  StatusCode addMetadata (const std::string& key, const T* obj);
88 };
89 
90 
91 } // namespace D3PD
92 
93 
95 
96 
97 #endif // not D3PDMAKERINTERFACES_ID3PD_H
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
D3PD::ID3PD::addMetadata
virtual StatusCode addMetadata(const std::string &key, const void *obj, const std::type_info &ti)=0
Add a new piece of metadata to the tuple.
D3PD::ID3PD
Define an abstract interface for building a D3PD tree.
Definition: ID3PD.h:37
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::ID3PD::redim
virtual StatusCode redim(const Dim_t *ptr)=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::ID3PD::addMetadata
StatusCode addMetadata(const std::string &key, const T *obj)
Add a new piece of metadata to the tuple.
D3PD::ID3PD::capture
virtual StatusCode capture()=0
Capture the current state of all variables and write to the tuple.
D3PD::ID3PD::Dim_t
unsigned int Dim_t
Currently unimplemented — see design note.
Definition: ID3PD.h:52
ID3PD.icc
IAddVariable.h
Common interface for adding a variable to a tuple.
python.PyAthena.obj
obj
Definition: PyAthena.py:135
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
D3PD::ID3PD::clear
virtual StatusCode clear()=0
Clear all the tuple variables.