ATLAS Offline Software
Loading...
Searching...
No Matches
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$
14
15#ifndef D3PDMAKERINTERFACES_IADDVARIABLE_H
16#define D3PDMAKERINTERFACES_IADDVARIABLE_H
17
18#include "GaudiKernel/StatusCode.h"
19#include <typeinfo>
20#include <string>
21
22
23namespace D3PD {
24
25
70{
71public:
73 virtual ~IAddVariable() {}
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>
127 StatusCode addDimensionedVariable (const std::string& name,
128 T* & ptr,
129 const std::string& dim,
130 const std::string& docstring = "");
131
132
148 template <class T, class U>
149 StatusCode addDimensionedVariable (const std::string& name,
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
Common interface for adding a variable to a tuple.
StatusCode addVariable(const std::string &name, T *&ptr, const std::string &docstring, const U &defval)
Add a variable to the tuple.
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.
StatusCode addVariable(const std::string &name, T *&ptr, const std::string &docstring="")
Add a variable to the tuple.
StatusCode addDimensionedVariable(const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="")
Add a variable to the tuple.
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.
virtual ~IAddVariable()
Destructor.
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.
Block filler tool for noisy FEB information.