| The Gaudi Framework v29r1 (5cd95fa2)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IHistogramSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IHISTOGRAMSVC_H
2 #define GAUDIKERNEL_IHISTOGRAMSVC_H
3
4 // Include files
5 #include "GaudiKernel/IDataProviderSvc.h"
6 #include "GaudiKernel/IService.h"
7 #include <iostream>
8 #include <string>
9 #include <vector>
10
11 // Forward declarations
12 class DataObject;
13
14 // added to allow use of AIDA in applications
15 // without prefix AIDA:: (as before)
16 namespace AIDA
17 {
18 class IBaseHistogram;
19 class IHistogram;
20 class IHistogram1D;
21 class IProfile1D;
22 class IHistogram2D;
23 class IProfile2D;
24 class IHistogram3D;
25 class IHistogramFactory;
26 class IAnnotation;
27 class IAxis;
28 }
29
30 using AIDA::IHistogramFactory;
31 using AIDA::IBaseHistogram;
32 using AIDA::IHistogram;
33 using AIDA::IHistogram1D;
34 using AIDA::IProfile1D;
35 using AIDA::IHistogram2D;
36 using AIDA::IProfile2D;
37 using AIDA::IHistogram3D;
38 using AIDA::IAxis;
39 using AIDA::IAnnotation;
40
47 class GAUDI_API IHistogramSvc : virtual public IDataProviderSvc
48 {
49 public:
51 DeclareInterfaceID( IHistogramSvc, 5, 0 );
52
54 virtual AIDA::IHistogramFactory* histogramFactory() = 0;
55
72 // ==========================================================================
73 // Book 1D histogram with fixed binning
74 // ==========================================================================
75
76 virtual AIDA::IHistogram1D* book( const std::string& fullPath, const std::string& title, int binsX, double lowX,
77 double highX ) = 0;
78 virtual AIDA::IHistogram1D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
79 int binsX, double lowX, double highX ) = 0;
80 virtual AIDA::IHistogram1D* book( const std::string& dirPath, int hID, const std::string& title, int binsX,
81 double lowX, double highX ) = 0;
82 virtual AIDA::IHistogram1D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
83 int binsX, double lowX, double highX ) = 0;
84 virtual AIDA::IHistogram1D* book( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
85 double highX ) = 0;
86
87 // ==========================================================================
88 // Book 1D profile histogram with fixed binning
89 // ==========================================================================
90
91 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath, const std::string& title, int binsX, double lowX,
92 double highX, const std::string& opt = "" ) = 0;
93 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
94 int binsX, double lowX, double highX, const std::string& opt = "" ) = 0;
95 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, int hID, const std::string& title, int binsX,
96 double lowX, double highX, const std::string& opt = "" ) = 0;
97 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
98 int binsX, double lowX, double highX, const std::string& opt = "" ) = 0;
99 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
100 double highX, const std::string& opt = "" ) = 0;
101
102 // ==========================================================================
103 // Book 1D profile histogram with fixed binning & Y-limits
104 // ==========================================================================
105
106 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath, const std::string& title, int binsX, double lowX,
107 double highX, double lowY, double highY, const std::string& opt = "s" ) = 0;
108 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
109 int binsX, double lowX, double highX, double lowY, double highY,
110 const std::string& opt = "s" ) = 0;
111 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, int hID, const std::string& title, int binsX,
112 double lowX, double highX, double lowY, double highY,
113 const std::string& opt = "s" ) = 0;
114 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
115 int binsX, double lowX, double highX, double lowY, double highY,
116 const std::string& opt = "s" ) = 0;
117 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
118 double highX, double lowY, double highY, const std::string& opt = "s" ) = 0;
119
120 // ==========================================================================
121 // Book 1D histogram with variable binning
122 // ==========================================================================
123
124 virtual AIDA::IHistogram1D* book( const std::string& fullPath, const std::string& title,
125 std::vector<double> edges ) = 0;
126 virtual AIDA::IHistogram1D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
127 std::vector<double> edges ) = 0;
128 virtual AIDA::IHistogram1D* book( const std::string& dirPath, int hID, const std::string& title,
129 std::vector<double> edges ) = 0;
130 virtual AIDA::IHistogram1D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
131 std::vector<double> edges ) = 0;
132 virtual AIDA::IHistogram1D* book( DataObject* pParent, int hID, const std::string& title,
133 std::vector<double> edges ) = 0;
134
135 // ==========================================================================
136 // Book 1D profile histogram with variable binning
137 // ==========================================================================
138
139 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath, const std::string& title,
140 std::vector<double> edges ) = 0;
141 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
142 std::vector<double> edges ) = 0;
143 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, int hID, const std::string& title,
144 std::vector<double> edges ) = 0;
145 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
146 std::vector<double> edges ) = 0;
147 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, int hID, const std::string& title,
148 std::vector<double> edges ) = 0;
149
150 // ==========================================================================
151 // Book 2D histogram with fixed binning
152 // ==========================================================================
153
154 virtual AIDA::IHistogram2D* book( const std::string& fullPath, const std::string& title, int binsX, double lowX,
155 double highX, int binsY, double lowY, double highY ) = 0;
156 virtual AIDA::IHistogram2D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
157 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
158 virtual AIDA::IHistogram2D* book( const std::string& dirPath, int hID, const std::string& title, int binsX,
159 double lowX, double highX, int binsY, double lowY, double highY ) = 0;
160 virtual AIDA::IHistogram2D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
161 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
162 virtual AIDA::IHistogram2D* book( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
163 double highX, int binsY, double lowY, double highY ) = 0;
164
165 // ==========================================================================
166 // Book 2D profile histogram with fixed binning
167 // ==========================================================================
168
169 virtual AIDA::IProfile2D* bookProf( const std::string& fullPath, const std::string& title, int binsX, double lowX,
170 double highX, int binsY, double lowY, double highY ) = 0;
171 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
172 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
173 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, int hID, const std::string& title, int binsX,
174 double lowX, double highX, int binsY, double lowY, double highY ) = 0;
175 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
176 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
177 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
178 double highX, int binsY, double lowY, double highY ) = 0;
179
180 // ==========================================================================
181 // Book 2D histogram with variable binning
182 // ==========================================================================
183
184 virtual AIDA::IHistogram2D* book( const std::string& fullPath, const std::string& title, std::vector<double> edgesX,
185 std::vector<double> edgesY ) = 0;
186 virtual AIDA::IHistogram2D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
187 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
188 virtual AIDA::IHistogram2D* book( const std::string& dirPath, int hID, const std::string& title,
189 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
190 virtual AIDA::IHistogram2D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
191 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
192 virtual AIDA::IHistogram2D* book( DataObject* pParent, int hID, const std::string& title, std::vector<double> edgesX,
193 std::vector<double> edgesY ) = 0;
194
195 // ==========================================================================
196 // Book 2D profile histogram with variable binning
197 // ==========================================================================
198
199 virtual AIDA::IProfile2D* bookProf( const std::string& fullPath, const std::string& title, std::vector<double> edgesX,
200 std::vector<double> edgesY ) = 0;
201 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
202 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
203 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, int hID, const std::string& title,
204 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
205 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
206 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
207 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, int hID, const std::string& title,
208 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
209
210 // ==========================================================================
211 // Book 3D histogram with fixed binning
212 // ==========================================================================
213
214 virtual AIDA::IHistogram3D* book( const std::string& fullPath, const std::string& title, int binsX, double lowX,
215 double highX, int binsY, double lowY, double highY, int binsZ, double lowZ,
216 double highZ ) = 0;
217 virtual AIDA::IHistogram3D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
218 int binsX, double lowX, double highX, int binsY, double lowY, double highY,
219 int binsZ, double lowZ, double highZ ) = 0;
220 virtual AIDA::IHistogram3D* book( const std::string& dirPath, int hID, const std::string& title, int binsX,
221 double lowX, double highX, int binsY, double lowY, double highY, int binsZ,
222 double lowZ, double highZ ) = 0;
223 virtual AIDA::IHistogram3D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
224 int binsX, double lowX, double highX, int binsY, double lowY, double highY,
225 int binsZ, double lowZ, double highZ ) = 0;
226 virtual AIDA::IHistogram3D* book( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
227 double highX, int binsY, double lowY, double highY, int binsZ, double lowZ,
228 double highZ ) = 0;
229
230 // ==========================================================================
231 // Book 3D histogram with variable binning
232 // ==========================================================================
233
234 virtual AIDA::IHistogram3D* book( const std::string& fullPath, const std::string& title, std::vector<double> edgesX,
235 std::vector<double> edgesY, std::vector<double> edgesZ ) = 0;
236 virtual AIDA::IHistogram3D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
237 std::vector<double> edgesX, std::vector<double> edgesY,
238 std::vector<double> edgesZ ) = 0;
239 virtual AIDA::IHistogram3D* book( const std::string& dirPath, int hID, const std::string& title,
240 std::vector<double> edgesX, std::vector<double> edgesY,
241 std::vector<double> edgesZ ) = 0;
242 virtual AIDA::IHistogram3D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
243 std::vector<double> edgesX, std::vector<double> edgesY,
244 std::vector<double> edgesZ ) = 0;
245 virtual AIDA::IHistogram3D* book( DataObject* pParent, int hID, const std::string& title, std::vector<double> edgesX,
246 std::vector<double> edgesY, std::vector<double> edgesZ ) = 0;
247
248 // ==========================================================================
249 // Register histogram with the data store
250 // ==========================================================================
251
252 virtual StatusCode registerObject( const std::string& fullPath, AIDA::IBaseHistogram* hObj ) = 0;
253 // ---------------------------
254 virtual StatusCode registerObject( const std::string& parentPath, const std::string& objPath,
255 AIDA::IBaseHistogram* hObj ) = 0;
256 // ---------------------------
257 virtual StatusCode registerObject( const std::string& parentPath, int item, AIDA::IBaseHistogram* hObj ) = 0;
258 // ---------------------------
259 virtual StatusCode registerObject( DataObject* parentObj, const std::string& objPath,
260 AIDA::IBaseHistogram* hObj ) = 0;
261 virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
262 AIDA::IBaseHistogram* hObj ) = 0;
263 // ---------------------------
264 virtual StatusCode registerObject( DataObject* parentObj, int item, AIDA::IBaseHistogram* hObj ) = 0;
265 virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IBaseHistogram* hObj ) = 0;
266
267 // ==========================================================================
268 // Unregister histogram from the data store
269 // ==========================================================================
270
271 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
272 // ---------------------------
273 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj, const std::string& objectPath ) = 0;
274 // ---------------------------
275 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj, int item ) = 0;
276
277 // ==========================================================================
278 // Retrieve histogram from data store
279 // ==========================================================================
280
281 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram1D*& h1dObj ) = 0;
282 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile1D*& h1dObj ) = 0;
283 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram2D*& h2dObj ) = 0;
284 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile2D*& h2dObj ) = 0;
285 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram3D*& h3dObj ) = 0;
286 // ---------------------------
287 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IHistogram1D*& h1dObj ) = 0;
288 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IProfile1D*& h1dObj ) = 0;
289 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IHistogram2D*& h2dObj ) = 0;
290 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IProfile2D*& h2dObj ) = 0;
291 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IHistogram3D*& h3dObj ) = 0;
292 // ---------------------------
293 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
294 AIDA::IHistogram1D*& h1dObj ) = 0;
295 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
296 AIDA::IProfile1D*& h1dObj ) = 0;
297 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
298 AIDA::IHistogram2D*& h2dObj ) = 0;
299 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
300 AIDA::IProfile2D*& h2dObj ) = 0;
301 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
302 AIDA::IHistogram3D*& h3dObj ) = 0;
303 // ---------------------------
304 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
305 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IProfile1D*& h1dObj ) = 0;
306 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
307 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IProfile2D*& h2dObj ) = 0;
308 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
309 // ---------------------------
310 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath,
311 AIDA::IHistogram1D*& h1dObj ) = 0;
312 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile1D*& h1dObj ) = 0;
313 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath,
314 AIDA::IHistogram2D*& h2dObj ) = 0;
315 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile2D*& h2dObj ) = 0;
316 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath,
317 AIDA::IHistogram3D*& h3dObj ) = 0;
318 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
319 AIDA::IHistogram1D*& h1dObj ) = 0;
320 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
321 AIDA::IProfile1D*& h1dObj ) = 0;
322 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
323 AIDA::IHistogram2D*& h2dObj ) = 0;
324 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
325 AIDA::IProfile2D*& h2dObj ) = 0;
326 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
327 AIDA::IHistogram3D*& h3dObj ) = 0;
328 // ---------------------------
329 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
330 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
331 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
332 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
333 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
334 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
335 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
336 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
337 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
338 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
339
340 // ==========================================================================
341 // Find histogram identified by its full path in the data store
342 // ==========================================================================
343
344 virtual StatusCode findObject( const std::string& fullPath, AIDA::IHistogram1D*& h1dObj ) = 0;
345 virtual StatusCode findObject( const std::string& fullPath, AIDA::IProfile1D*& h1dObj ) = 0;
346 virtual StatusCode findObject( const std::string& fullPath, AIDA::IHistogram2D*& h2dObj ) = 0;
347 virtual StatusCode findObject( const std::string& fullPath, AIDA::IProfile2D*& h2dObj ) = 0;
348 virtual StatusCode findObject( const std::string& fullPath, AIDA::IHistogram3D*& h3dObj ) = 0;
349 // ---------------------------
350 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram1D*& h1dObj ) = 0;
351 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile1D*& h1dObj ) = 0;
352 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram2D*& h2dObj ) = 0;
353 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile2D*& h2dObj ) = 0;
354 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram3D*& h2dObj ) = 0;
355 // ---------------------------
356 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
357 AIDA::IHistogram1D*& h1dObj ) = 0;
358 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
359 AIDA::IProfile1D*& h1dObj ) = 0;
360 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
361 AIDA::IHistogram2D*& h2dObj ) = 0;
362 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
363 AIDA::IProfile2D*& h2dObj ) = 0;
364 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
365 AIDA::IHistogram3D*& h3dObj ) = 0;
366 // ---------------------------
367 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
368 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IProfile1D*& h1dObj ) = 0;
369 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
370 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IProfile2D*& h2dObj ) = 0;
371 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
372 // ---------------------------
373 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IHistogram1D*& h1dObj ) = 0;
374 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile1D*& h1dObj ) = 0;
375 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IHistogram2D*& h2dObj ) = 0;
376 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile2D*& h2dObj ) = 0;
377 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IHistogram3D*& h3dObj ) = 0;
378 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
379 AIDA::IHistogram1D*& h1dObj ) = 0;
380 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
381 AIDA::IProfile1D*& h1dObj ) = 0;
382 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
383 AIDA::IHistogram2D*& h2dObj ) = 0;
384 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
385 AIDA::IProfile2D*& h2dObj ) = 0;
386 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
387 AIDA::IHistogram3D*& h3dObj ) = 0;
388 // ---------------------------
389 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
390 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
391 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
392 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
393 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
394 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
395 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
396 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
397 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
398 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
399
400 // ==========================================================================
401 // ASCII output
402 // ==========================================================================
403 // --------------------------------------------------------------------------
404 // Print functions (ASCII graphical representation)
405
406 // Print (ASCII) the histogram into the output stream
407 virtual std::ostream& print( AIDA::IBaseHistogram* h, std::ostream& s = std::cout ) const = 0;
408
409 // --------------------------------------------------------------------------
410 // Write functions (ASCII table containing numbers e.g. bin height)
411
413 virtual std::ostream& write( AIDA::IBaseHistogram* h, std::ostream& s = std::cout ) const = 0;
414
416 virtual int write( AIDA::IBaseHistogram* h, const char* file_name ) const = 0;
417
418 // ==========================================================================
419 // Create all directories in a given full path
420 // ==========================================================================
421
422 virtual DataObject* createPath( const std::string& newPath ) = 0;
423
429 virtual DataObject* createDirectory( const std::string& parentDir, const std::string& subDir ) = 0;
430
432 using IDataProviderSvc::registerObject;
433 using IDataProviderSvc::unregisterObject;
434 using IDataProviderSvc::retrieveObject;
435 using IDataProviderSvc::findObject;
436 };
437
438 #endif // INTERFACES_IHISTOGRAMSVC_H
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:895
Gaudi::Histos::book
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
Definition: HistoDef.cpp:105
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
AIDA
GaudiKernel.
Definition: Fill.h:10
std::string
STL class.
IDataProviderSvc.h
IDataProviderSvc::findObject
virtual StatusCode findObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Find object identified by its directory entry.
IDataProviderSvc::unregisterObject
virtual StatusCode unregisterObject(const std::string &fullPath)=0
Unregister object from the data store.
HiveAlgSequencer.h
h
Definition: HiveAlgSequencer.py:24
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
IHistogramSvc
Definition of the IHistogramSvc interface class.
Definition: IHistogramSvc.h:47
IService.h
std::vector< double >
GaudiPython.HistoUtils.bookProf
def bookProf(args, kwargs)
Definition: HistoUtils.py:252
print
void print(string text)
Definition: mergesort.cpp:30
GaudiPython.GaudiAlgs.write
write
Definition: GaudiAlgs.py:1259
gaudirun.s
string s
Definition: gaudirun.py:253
IDataProviderSvc::registerObject
virtual StatusCode registerObject(const std::string &fullPath, DataObject *pObject)=0
Register object with the data store.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
std::ostream
STL class.
IDataProviderSvc::retrieveObject
virtual StatusCode retrieveObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.