Gaudi Framework, version v23r6

Home   Generated: Wed Jan 30 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IHistogramSvc.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IHistogramSvc.h,v 1.13 2008/10/09 09:59:14 marcocle Exp $
2 #ifndef GAUDIKERNEL_IHISTOGRAMSVC_H
3 #define GAUDIKERNEL_IHISTOGRAMSVC_H
4 
5 
6 // Include files
8 #include "GaudiKernel/IService.h"
9 #include <string>
10 #include <vector>
11 #include <iostream>
12 
13 // Forward declarations
14 class DataObject;
15 
16 // added to allow use of AIDA in applications
17 // without prefix AIDA:: (as before)
18 namespace AIDA {
19  class IBaseHistogram;
20  class IHistogram;
21  class IHistogram1D;
22  class IProfile1D;
23  class IHistogram2D;
24  class IProfile2D;
25  class IHistogram3D;
26  class IHistogramFactory;
27  class IAnnotation;
28  class IAxis;
29 }
30 
31 using AIDA::IHistogramFactory;
32 using AIDA::IBaseHistogram;
33 using AIDA::IHistogram;
34 using AIDA::IHistogram1D;
35 using AIDA::IProfile1D;
36 using AIDA::IHistogram2D;
37 using AIDA::IProfile2D;
38 using AIDA::IHistogram3D;
39 using AIDA::IAxis;
40 using AIDA::IAnnotation;
41 
49 {
50 public:
53 
55  virtual AIDA::IHistogramFactory* histogramFactory() = 0;
56 
73  // ==========================================================================
74  // Book 1D histogram with fixed binning
75  // ==========================================================================
76 
77  virtual AIDA::IHistogram1D* book( const std::string& fullPath,
78  const std::string& title,
79  int binsX, double lowX, double highX ) = 0;
80  virtual AIDA::IHistogram1D* book( const std::string& dirPath,
81  const std::string& relPath,
82  const std::string& title,
83  int binsX, double lowX, double highX ) = 0;
84  virtual AIDA::IHistogram1D* book( const std::string& dirPath,
85  int hID,
86  const std::string& title,
87  int binsX, double lowX, double highX ) = 0;
88  virtual AIDA::IHistogram1D* book( DataObject* pParent,
89  const std::string& relPath,
90  const std::string& title,
91  int binsX, double lowX, double highX ) = 0;
92  virtual AIDA::IHistogram1D* book( DataObject* pParent,
93  int hID,
94  const std::string& title,
95  int binsX, double lowX, double highX ) = 0;
96 
97  // ==========================================================================
98  // Book 1D profile histogram with fixed binning
99  // ==========================================================================
100 
101  virtual AIDA::IProfile1D* bookProf
102  ( const std::string& fullPath,
103  const std::string& title,
104  int binsX, double lowX, double highX ,
105  const std::string& opt = "" ) = 0;
106  virtual AIDA::IProfile1D* bookProf
107  ( const std::string& dirPath,
108  const std::string& relPath,
109  const std::string& title,
110  int binsX, double lowX, double highX ,
111  const std::string& opt = "" ) = 0;
112  virtual AIDA::IProfile1D* bookProf
113  ( const std::string& dirPath,
114  int hID,
115  const std::string& title,
116  int binsX, double lowX, double highX ,
117  const std::string& opt = "" ) = 0;
118  virtual AIDA::IProfile1D* bookProf
119  ( DataObject* pParent,
120  const std::string& relPath,
121  const std::string& title,
122  int binsX, double lowX, double highX ,
123  const std::string& opt = "" ) = 0;
124  virtual AIDA::IProfile1D* bookProf
125  ( DataObject* pParent,
126  int hID,
127  const std::string& title,
128  int binsX, double lowX, double highX ,
129  const std::string& opt = "" ) = 0;
130 
131  // ==========================================================================
132  // Book 1D profile histogram with fixed binning & Y-limits
133  // ==========================================================================
134 
135  virtual AIDA::IProfile1D* bookProf
136  ( const std::string& fullPath ,
137  const std::string& title ,
138  int binsX ,
139  double lowX , double highX ,
140  double lowY , double highY ,
141  const std::string& opt = "s" ) = 0;
142  virtual AIDA::IProfile1D* bookProf
143  ( const std::string& dirPath ,
144  const std::string& relPath ,
145  const std::string& title ,
146  int binsX ,
147  double lowX , double highX ,
148  double lowY , double highY ,
149  const std::string& opt = "s" ) = 0;
150  virtual AIDA::IProfile1D* bookProf
151  ( const std::string& dirPath ,
152  int hID ,
153  const std::string& title ,
154  int binsX ,
155  double lowX , double highX ,
156  double lowY , double highY ,
157  const std::string& opt = "s" ) = 0;
158  virtual AIDA::IProfile1D* bookProf
159  ( DataObject* pParent ,
160  const std::string& relPath ,
161  const std::string& title ,
162  int binsX ,
163  double lowX , double highX ,
164  double lowY , double highY ,
165  const std::string& opt = "s" ) = 0;
166  virtual AIDA::IProfile1D* bookProf
167  ( DataObject* pParent ,
168  int hID ,
169  const std::string& title ,
170  int binsX ,
171  double lowX , double highX ,
172  double lowY , double highY ,
173  const std::string& opt = "s" ) = 0;
174 
175  // ==========================================================================
176  // Book 1D histogram with variable binning
177  // ==========================================================================
178 
179  virtual AIDA::IHistogram1D* book( const std::string& fullPath,
180  const std::string& title,
181  std::vector<double> edges ) = 0;
182  virtual AIDA::IHistogram1D* book( const std::string& dirPath,
183  const std::string& relPath,
184  const std::string& title,
185  std::vector<double> edges ) = 0;
186  virtual AIDA::IHistogram1D* book( const std::string& dirPath,
187  int hID,
188  const std::string& title,
189  std::vector<double> edges ) = 0;
190  virtual AIDA::IHistogram1D* book( DataObject* pParent,
191  const std::string& relPath,
192  const std::string& title,
193  std::vector<double> edges ) = 0;
194  virtual AIDA::IHistogram1D* book( DataObject* pParent,
195  int hID,
196  const std::string& title,
197  std::vector<double> edges ) = 0;
198 
199  // ==========================================================================
200  // Book 1D profile histogram with variable binning
201  // ==========================================================================
202 
203  virtual AIDA::IProfile1D* bookProf( const std::string& fullPath,
204  const std::string& title,
205  std::vector<double> edges ) = 0;
206  virtual AIDA::IProfile1D* bookProf( const std::string& dirPath,
207  const std::string& relPath,
208  const std::string& title,
209  std::vector<double> edges ) = 0;
210  virtual AIDA::IProfile1D* bookProf( const std::string& dirPath,
211  int hID,
212  const std::string& title,
213  std::vector<double> edges ) = 0;
214  virtual AIDA::IProfile1D* bookProf( DataObject* pParent,
215  const std::string& relPath,
216  const std::string& title,
217  std::vector<double> edges ) = 0;
218  virtual AIDA::IProfile1D* bookProf( DataObject* pParent,
219  int hID,
220  const std::string& title,
221  std::vector<double> edges ) = 0;
222 
223  // ==========================================================================
224  // Book 2D histogram with fixed binning
225  // ==========================================================================
226 
227  virtual AIDA::IHistogram2D* book( const std::string& fullPath,
228  const std::string& title,
229  int binsX, double lowX, double highX,
230  int binsY, double lowY, double highY ) = 0;
231  virtual AIDA::IHistogram2D* book( const std::string& dirPath,
232  const std::string& relPath,
233  const std::string& title,
234  int binsX, double lowX, double highX,
235  int binsY, double lowY, double highY ) = 0;
236  virtual AIDA::IHistogram2D* book( const std::string& dirPath,
237  int hID,
238  const std::string& title,
239  int binsX, double lowX, double highX,
240  int binsY, double lowY, double highY ) = 0;
241  virtual AIDA::IHistogram2D* book( DataObject* pParent,
242  const std::string& relPath,
243  const std::string& title,
244  int binsX, double lowX, double highX,
245  int binsY, double lowY, double highY ) = 0;
246  virtual AIDA::IHistogram2D* book( DataObject* pParent,
247  int hID,
248  const std::string& title,
249  int binsX, double lowX, double highX,
250  int binsY, double lowY, double highY ) = 0;
251 
252  // ==========================================================================
253  // Book 2D profile histogram with fixed binning
254  // ==========================================================================
255 
256  virtual AIDA::IProfile2D* bookProf( const std::string& fullPath,
257  const std::string& title,
258  int binsX, double lowX, double highX,
259  int binsY, double lowY, double highY ) = 0;
260  virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
261  const std::string& relPath,
262  const std::string& title,
263  int binsX, double lowX, double highX,
264  int binsY, double lowY, double highY ) = 0;
265  virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
266  int hID,
267  const std::string& title,
268  int binsX, double lowX, double highX,
269  int binsY, double lowY, double highY ) = 0;
270  virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
271  const std::string& relPath,
272  const std::string& title,
273  int binsX, double lowX, double highX,
274  int binsY, double lowY, double highY ) = 0;
275  virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
276  int hID,
277  const std::string& title,
278  int binsX, double lowX, double highX,
279  int binsY, double lowY, double highY ) = 0;
280 
281  // ==========================================================================
282  // Book 2D histogram with variable binning
283  // ==========================================================================
284 
285  virtual AIDA::IHistogram2D* book( const std::string& fullPath,
286  const std::string& title,
287  std::vector<double> edgesX,
288  std::vector<double> edgesY ) = 0;
289  virtual AIDA::IHistogram2D* book( const std::string& dirPath,
290  const std::string& relPath,
291  const std::string& title,
292  std::vector<double> edgesX,
293  std::vector<double> edgesY ) = 0;
294  virtual AIDA::IHistogram2D* book( const std::string& dirPath,
295  int hID,
296  const std::string& title,
297  std::vector<double> edgesX,
298  std::vector<double> edgesY ) = 0;
299  virtual AIDA::IHistogram2D* book( DataObject* pParent,
300  const std::string& relPath,
301  const std::string& title,
302  std::vector<double> edgesX,
303  std::vector<double> edgesY ) = 0;
304  virtual AIDA::IHistogram2D* book( DataObject* pParent,
305  int hID,
306  const std::string& title,
307  std::vector<double> edgesX,
308  std::vector<double> edgesY ) = 0;
309 
310 
311  // ==========================================================================
312  // Book 2D profile histogram with variable binning
313  // ==========================================================================
314 
315  virtual AIDA::IProfile2D* bookProf( const std::string& fullPath,
316  const std::string& title,
317  std::vector<double> edgesX,
318  std::vector<double> edgesY ) = 0;
319  virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
320  const std::string& relPath,
321  const std::string& title,
322  std::vector<double> edgesX,
323  std::vector<double> edgesY ) = 0;
324  virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
325  int hID,
326  const std::string& title,
327  std::vector<double> edgesX,
328  std::vector<double> edgesY ) = 0;
329  virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
330  const std::string& relPath,
331  const std::string& title,
332  std::vector<double> edgesX,
333  std::vector<double> edgesY ) = 0;
334  virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
335  int hID,
336  const std::string& title,
337  std::vector<double> edgesX,
338  std::vector<double> edgesY ) = 0;
339 
340 
341  // ==========================================================================
342  // Book 3D histogram with fixed binning
343  // ==========================================================================
344 
345  virtual AIDA::IHistogram3D* book( const std::string& fullPath,
346  const std::string& title,
347  int binsX, double lowX, double highX,
348  int binsY, double lowY, double highY,
349  int binsZ, double lowZ, double highZ ) = 0;
350  virtual AIDA::IHistogram3D* book( const std::string& dirPath,
351  const std::string& relPath,
352  const std::string& title,
353  int binsX, double lowX, double highX,
354  int binsY, double lowY, double highY,
355  int binsZ, double lowZ, double highZ ) = 0;
356  virtual AIDA::IHistogram3D* book( const std::string& dirPath,
357  int hID,
358  const std::string& title,
359  int binsX, double lowX, double highX,
360  int binsY, double lowY, double highY,
361  int binsZ, double lowZ, double highZ ) = 0;
362  virtual AIDA::IHistogram3D* book( DataObject* pParent,
363  const std::string& relPath,
364  const std::string& title,
365  int binsX, double lowX, double highX,
366  int binsY, double lowY, double highY,
367  int binsZ, double lowZ, double highZ ) = 0;
368  virtual AIDA::IHistogram3D* book( DataObject* pParent,
369  int hID,
370  const std::string& title,
371  int binsX, double lowX, double highX,
372  int binsY, double lowY, double highY,
373  int binsZ, double lowZ, double highZ ) = 0;
374 
375  // ==========================================================================
376  // Book 3D histogram with variable binning
377  // ==========================================================================
378 
379  virtual AIDA::IHistogram3D* book( const std::string& fullPath,
380  const std::string& title,
381  std::vector<double> edgesX,
382  std::vector<double> edgesY,
383  std::vector<double> edgesZ ) = 0;
384  virtual AIDA::IHistogram3D* book( const std::string& dirPath,
385  const std::string& relPath,
386  const std::string& title,
387  std::vector<double> edgesX,
388  std::vector<double> edgesY,
389  std::vector<double> edgesZ ) = 0;
390  virtual AIDA::IHistogram3D* book( const std::string& dirPath,
391  int hID,
392  const std::string& title,
393  std::vector<double> edgesX,
394  std::vector<double> edgesY,
395  std::vector<double> edgesZ ) = 0;
396  virtual AIDA::IHistogram3D* book( DataObject* pParent,
397  const std::string& relPath,
398  const std::string& title,
399  std::vector<double> edgesX,
400  std::vector<double> edgesY,
401  std::vector<double> edgesZ ) = 0;
402  virtual AIDA::IHistogram3D* book( DataObject* pParent,
403  int hID,
404  const std::string& title,
405  std::vector<double> edgesX,
406  std::vector<double> edgesY,
407  std::vector<double> edgesZ ) = 0;
408 
409  // ==========================================================================
410  // Register histogram with the data store
411  // ==========================================================================
412 
413  virtual StatusCode registerObject( const std::string& fullPath,
414  AIDA::IBaseHistogram* hObj ) = 0;
415  // ---------------------------
416  virtual StatusCode registerObject( const std::string& parentPath,
417  const std::string& objPath,
418  AIDA::IBaseHistogram* hObj ) = 0;
419  // ---------------------------
420  virtual StatusCode registerObject( const std::string& parentPath,
421  int item, AIDA::IBaseHistogram* hObj ) = 0;
422  // ---------------------------
423  virtual StatusCode registerObject( DataObject* parentObj,
424  const std::string& objPath,
425  AIDA::IBaseHistogram* hObj ) = 0;
426  virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj,
427  const std::string& objPath,
428  AIDA::IBaseHistogram* hObj ) = 0;
429  // ---------------------------
430  virtual StatusCode registerObject( DataObject* parentObj,
431  int item,
432  AIDA::IBaseHistogram* hObj ) = 0;
433  virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj,
434  int item,
435  AIDA::IBaseHistogram* hObj ) = 0;
436 
437 
438  // ==========================================================================
439  // Unregister histogram from the data store
440  // ==========================================================================
441 
442  virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
443  // ---------------------------
444  virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
445  const std::string& objectPath ) = 0;
446  // ---------------------------
447  virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
448  int item ) = 0;
449 
450 
451  // ==========================================================================
452  // Retrieve histogram from data store
453  // ==========================================================================
454 
455  virtual StatusCode retrieveObject( IRegistry* pDirectory,
456  const std::string& path,
457  AIDA::IHistogram1D*& h1dObj ) = 0;
458  virtual StatusCode retrieveObject( IRegistry* pDirectory,
459  const std::string& path,
460  AIDA::IProfile1D*& h1dObj ) = 0;
461  virtual StatusCode retrieveObject( IRegistry* pDirectory,
462  const std::string& path,
463  AIDA::IHistogram2D*& h2dObj ) = 0;
464  virtual StatusCode retrieveObject( IRegistry* pDirectory,
465  const std::string& path,
466  AIDA::IProfile2D*& h2dObj ) = 0;
467  virtual StatusCode retrieveObject( IRegistry* pDirectory,
468  const std::string& path,
469  AIDA::IHistogram3D*& h3dObj ) = 0;
470  // ---------------------------
471  virtual StatusCode retrieveObject( const std::string& fullPath,
472  AIDA::IHistogram1D*& h1dObj ) = 0;
473  virtual StatusCode retrieveObject( const std::string& fullPath,
474  AIDA::IProfile1D*& h1dObj ) = 0;
475  virtual StatusCode retrieveObject( const std::string& fullPath,
476  AIDA::IHistogram2D*& h2dObj ) = 0;
477  virtual StatusCode retrieveObject( const std::string& fullPath,
478  AIDA::IProfile2D*& h2dObj ) = 0;
479  virtual StatusCode retrieveObject( const std::string& fullPath,
480  AIDA::IHistogram3D*& h3dObj ) = 0;
481  // ---------------------------
482  virtual StatusCode retrieveObject( const std::string& parentPath,
483  const std::string& objPath,
484  AIDA::IHistogram1D*& h1dObj ) = 0;
485  virtual StatusCode retrieveObject( const std::string& parentPath,
486  const std::string& objPath,
487  AIDA::IProfile1D*& h1dObj ) = 0;
488  virtual StatusCode retrieveObject( const std::string& parentPath,
489  const std::string& objPath,
490  AIDA::IHistogram2D*& h2dObj ) = 0;
491  virtual StatusCode retrieveObject( const std::string& parentPath,
492  const std::string& objPath,
493  AIDA::IProfile2D*& h2dObj ) = 0;
494  virtual StatusCode retrieveObject( const std::string& parentPath,
495  const std::string& objPath,
496  AIDA::IHistogram3D*& h3dObj ) = 0;
497  // ---------------------------
498  virtual StatusCode retrieveObject( const std::string& parentPath,
499  int item,
500  AIDA::IHistogram1D*& h1dObj ) = 0;
501  virtual StatusCode retrieveObject( const std::string& parentPath,
502  int item,
503  AIDA::IProfile1D*& h1dObj ) = 0;
504  virtual StatusCode retrieveObject( const std::string& parentPath,
505  int item,
506  AIDA::IHistogram2D*& h2dObj ) = 0;
507  virtual StatusCode retrieveObject( const std::string& parentPath,
508  int item,
509  AIDA::IProfile2D*& h2dObj ) = 0;
510  virtual StatusCode retrieveObject( const std::string& parentPath,
511  int item,
512  AIDA::IHistogram3D*& h3dObj ) = 0;
513  // ---------------------------
514  virtual StatusCode retrieveObject( DataObject* parentObj,
515  const std::string& objPath,
516  AIDA::IHistogram1D*& h1dObj ) = 0;
517  virtual StatusCode retrieveObject( DataObject* parentObj,
518  const std::string& objPath,
519  AIDA::IProfile1D*& h1dObj ) = 0;
520  virtual StatusCode retrieveObject( DataObject* parentObj,
521  const std::string& objPath,
522  AIDA::IHistogram2D*& h2dObj ) = 0;
523  virtual StatusCode retrieveObject( DataObject* parentObj,
524  const std::string& objPath,
525  AIDA::IProfile2D*& h2dObj ) = 0;
526  virtual StatusCode retrieveObject( DataObject* parentObj,
527  const std::string& objPath,
528  AIDA::IHistogram3D*& h3dObj ) = 0;
529  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
530  const std::string& objPath,
531  AIDA::IHistogram1D*& h1dObj ) = 0;
532  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
533  const std::string& objPath,
534  AIDA::IProfile1D*& h1dObj ) = 0;
535  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
536  const std::string& objPath,
537  AIDA::IHistogram2D*& h2dObj ) = 0;
538  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
539  const std::string& objPath,
540  AIDA::IProfile2D*& h2dObj ) = 0;
541  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
542  const std::string& objPath,
543  AIDA::IHistogram3D*& h3dObj ) = 0;
544  // ---------------------------
545  virtual StatusCode retrieveObject( DataObject* parentObj,
546  int item,
547  AIDA::IHistogram1D*& h1dObj ) = 0;
548  virtual StatusCode retrieveObject( DataObject* parentObj,
549  int item,
550  AIDA::IProfile1D*& h1dObj ) = 0;
551  virtual StatusCode retrieveObject( DataObject* parentObj,
552  int item,
553  AIDA::IHistogram2D*& h2dObj ) = 0;
554  virtual StatusCode retrieveObject( DataObject* parentObj,
555  int item,
556  AIDA::IProfile2D*& h2dObj ) = 0;
557  virtual StatusCode retrieveObject( DataObject* parentObj,
558  int item,
559  AIDA::IHistogram3D*& h3dObj ) = 0;
560  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
561  int item,
562  AIDA::IHistogram1D*& h1dObj ) = 0;
563  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
564  int item,
565  AIDA::IProfile1D*& h1dObj ) = 0;
566  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
567  int item,
568  AIDA::IHistogram2D*& h2dObj ) = 0;
569  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
570  int item,
571  AIDA::IProfile2D*& h2dObj ) = 0;
572  virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
573  int item,
574  AIDA::IHistogram3D*& h3dObj ) = 0;
575 
576 
577  // ==========================================================================
578  // Find histogram identified by its full path in the data store
579  // ==========================================================================
580 
581  virtual StatusCode findObject( const std::string& fullPath,
582  AIDA::IHistogram1D*& h1dObj ) = 0;
583  virtual StatusCode findObject( const std::string& fullPath,
584  AIDA::IProfile1D*& h1dObj ) = 0;
585  virtual StatusCode findObject( const std::string& fullPath,
586  AIDA::IHistogram2D*& h2dObj ) = 0;
587  virtual StatusCode findObject( const std::string& fullPath,
588  AIDA::IProfile2D*& h2dObj ) = 0;
589  virtual StatusCode findObject( const std::string& fullPath,
590  AIDA::IHistogram3D*& h3dObj ) = 0;
591  // ---------------------------
592  virtual StatusCode findObject( IRegistry* pDirectory,
593  const std::string& path,
594  AIDA::IHistogram1D*& h1dObj ) = 0;
595  virtual StatusCode findObject( IRegistry* pDirectory,
596  const std::string& path,
597  AIDA::IProfile1D*& h1dObj ) = 0;
598  virtual StatusCode findObject( IRegistry* pDirectory,
599  const std::string& path,
600  AIDA::IHistogram2D*& h2dObj ) = 0;
601  virtual StatusCode findObject( IRegistry* pDirectory,
602  const std::string& path,
603  AIDA::IProfile2D*& h2dObj ) = 0;
604  virtual StatusCode findObject( IRegistry* pDirectory,
605  const std::string& path,
606  AIDA::IHistogram3D*& h2dObj ) = 0;
607  // ---------------------------
608  virtual StatusCode findObject( const std::string& parentPath,
609  const std::string& objPath,
610  AIDA::IHistogram1D*& h1dObj ) = 0;
611  virtual StatusCode findObject( const std::string& parentPath,
612  const std::string& objPath,
613  AIDA::IProfile1D*& h1dObj ) = 0;
614  virtual StatusCode findObject( const std::string& parentPath,
615  const std::string& objPath,
616  AIDA::IHistogram2D*& h2dObj ) = 0;
617  virtual StatusCode findObject( const std::string& parentPath,
618  const std::string& objPath,
619  AIDA::IProfile2D*& h2dObj ) = 0;
620  virtual StatusCode findObject( const std::string& parentPath,
621  const std::string& objPath,
622  AIDA::IHistogram3D*& h3dObj ) = 0;
623  // ---------------------------
624  virtual StatusCode findObject( const std::string& parentPath,
625  int item,
626  AIDA::IHistogram1D*& h1dObj ) = 0;
627  virtual StatusCode findObject( const std::string& parentPath,
628  int item,
629  AIDA::IProfile1D*& h1dObj ) = 0;
630  virtual StatusCode findObject( const std::string& parentPath,
631  int item,
632  AIDA::IHistogram2D*& h2dObj ) = 0;
633  virtual StatusCode findObject( const std::string& parentPath,
634  int item,
635  AIDA::IProfile2D*& h2dObj ) = 0;
636  virtual StatusCode findObject( const std::string& parentPath,
637  int item,
638  AIDA::IHistogram3D*& h3dObj ) = 0;
639  // ---------------------------
640  virtual StatusCode findObject( DataObject* parentObj,
641  const std::string& objPath,
642  AIDA::IHistogram1D*& h1dObj ) = 0;
643  virtual StatusCode findObject( DataObject* parentObj,
644  const std::string& objPath,
645  AIDA::IProfile1D*& h1dObj ) = 0;
646  virtual StatusCode findObject( DataObject* parentObj,
647  const std::string& objPath,
648  AIDA::IHistogram2D*& h2dObj ) = 0;
649  virtual StatusCode findObject( DataObject* parentObj,
650  const std::string& objPath,
651  AIDA::IProfile2D*& h2dObj ) = 0;
652  virtual StatusCode findObject( DataObject* parentObj,
653  const std::string& objPath,
654  AIDA::IHistogram3D*& h3dObj ) = 0;
655  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
656  const std::string& objPath,
657  AIDA::IHistogram1D*& h1dObj ) = 0;
658  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
659  const std::string& objPath,
660  AIDA::IProfile1D*& h1dObj ) = 0;
661  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
662  const std::string& objPath,
663  AIDA::IHistogram2D*& h2dObj ) = 0;
664  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
665  const std::string& objPath,
666  AIDA::IProfile2D*& h2dObj ) = 0;
667  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
668  const std::string& objPath,
669  AIDA::IHistogram3D*& h3dObj ) = 0;
670  // ---------------------------
671  virtual StatusCode findObject( DataObject* parentObj,
672  int item,
673  AIDA::IHistogram1D*& h1dObj ) = 0;
674  virtual StatusCode findObject( DataObject* parentObj,
675  int item,
676  AIDA::IProfile1D*& h1dObj ) = 0;
677  virtual StatusCode findObject( DataObject* parentObj,
678  int item,
679  AIDA::IHistogram2D*& h2dObj ) = 0;
680  virtual StatusCode findObject( DataObject* parentObj,
681  int item,
682  AIDA::IProfile2D*& h2dObj ) = 0;
683  virtual StatusCode findObject( DataObject* parentObj,
684  int item,
685  AIDA::IHistogram3D*& h3dObj ) = 0;
686  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
687  int item,
688  AIDA::IHistogram1D*& h1dObj ) = 0;
689  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
690  int item,
691  AIDA::IProfile1D*& h1dObj ) = 0;
692  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
693  int item,
694  AIDA::IHistogram2D*& h2dObj ) = 0;
695  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
696  int item,
697  AIDA::IProfile2D*& h2dObj ) = 0;
698  virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
699  int item,
700  AIDA::IHistogram3D*& h3dObj ) = 0;
701 
702 
703  // ==========================================================================
704  // ASCII output
705  // ==========================================================================
706  // --------------------------------------------------------------------------
707  // Print functions (ASCII graphical representation)
708 
709  // Print (ASCII) the histogram into the output stream
710  virtual std::ostream& print( AIDA::IBaseHistogram* h,
711  std::ostream& s = std::cout) const = 0;
712 
713  // --------------------------------------------------------------------------
714  // Write functions (ASCII table containing numbers e.g. bin height)
715 
717  virtual std::ostream& write( AIDA::IBaseHistogram* h,
718  std::ostream& s = std::cout) const = 0;
719 
721  virtual int write( AIDA::IBaseHistogram* h, const char* file_name ) const = 0;
722 
723  // ==========================================================================
724  // Create all directories in a given full path
725  // ==========================================================================
726 
727  virtual DataObject* createPath( const std::string& newPath ) = 0;
728 
734  virtual DataObject* createDirectory (
735  const std::string& parentDir,
736  const std::string& subDir ) = 0;
737 
743 
744 };
745 
746 
747 #endif // INTERFACES_IHISTOGRAMSVC_H

Generated at Wed Jan 30 2013 17:13:39 for Gaudi Framework, version v23r6 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004