ATLAS Offline Software
IAddVariable.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_IADDVARIABLE_H
16 #define D3PDMAKERINTERFACES_IADDVARIABLE_H
17 
18 #include "GaudiKernel/StatusCode.h"
19 #include <typeinfo>
20 #include <string>
21 
22 
23 namespace D3PD {
24 
25 
70 {
71 public:
73  virtual ~IAddVariable() {}
74 
75 
87  template <class T>
88  StatusCode addVariable (const std::string& name,
89  T* & ptr,
90  const std::string& docstring = "");
91 
92 
106  template <class T, class U>
107  StatusCode addVariable (const std::string& name,
108  T* & ptr,
109  const std::string& docstring,
110  const U& defval);
111 
112 
126  template <class T>
128  T* & ptr,
129  const std::string& dim,
130  const std::string& docstring = "");
131 
132 
148  template <class T, class U>
150  T* & ptr,
151  const std::string& dim,
152  const std::string& docstring,
153  const U& defval);
154 
155 
172  virtual StatusCode addVariable (const std::string& name,
173  const std::type_info& ti,
174  void* & ptr,
175  const std::string& docstring = "",
176  const void* defval = 0) = 0;
177 
178 
197  virtual StatusCode
198  addDimensionedVariable (const std::string& name,
199  const std::type_info& ti,
200  void* & ptr,
201  const std::string& dim,
202  const std::string& docstring = "",
203  const void* defval = 0) = 0;
204 };
205 
206 
207 } // namespace D3PD
208 
209 
211 
212 
213 #endif // not D3PDMAKERINTERFACES_IADDVARIABLE_H
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
D3PD::IAddVariable::addDimensionedVariable
virtual StatusCode addDimensionedVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)=0
Add a variable to the tuple.
D3PD::IAddVariable::~IAddVariable
virtual ~IAddVariable()
Destructor.
Definition: IAddVariable.h:73
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IAddVariable.icc
D3PD::IAddVariable::addVariable
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)=0
Add a variable to the tuple.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::IAddVariable::addDimensionedVariable
StatusCode addDimensionedVariable(const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval)
Add a variable to the tuple.
D3PD::IAddVariable::addVariable
StatusCode addVariable(const std::string &name, T *&ptr, const std::string &docstring="")
Add a variable to the tuple.
D3PD::IAddVariable::addDimensionedVariable
StatusCode addDimensionedVariable(const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="")
Add a variable to the tuple.
D3PD::IAddVariable::addVariable
StatusCode addVariable(const std::string &name, T *&ptr, const std::string &docstring, const U &defval)
Add a variable to the tuple.