1 #ifndef GAUDIKERNEL_IHISTOGRAMSVC_H
2 #define GAUDIKERNEL_IHISTOGRAMSVC_H
25 class IHistogramFactory;
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;
39 using AIDA::IAnnotation;
54 virtual AIDA::IHistogramFactory* histogramFactory() = 0;
76 virtual AIDA::IHistogram1D*
book(
const std::string& fullPath,
77 const std::string& title,
78 int binsX,
double lowX,
double highX ) = 0;
79 virtual AIDA::IHistogram1D*
book(
const std::string& dirPath,
80 const std::string& relPath,
81 const std::string& title,
82 int binsX,
double lowX,
double highX ) = 0;
83 virtual AIDA::IHistogram1D*
book(
const std::string& dirPath,
85 const std::string& title,
86 int binsX,
double lowX,
double highX ) = 0;
88 const std::string& relPath,
89 const std::string& title,
90 int binsX,
double lowX,
double highX ) = 0;
93 const std::string& title,
94 int binsX,
double lowX,
double highX ) = 0;
101 (
const std::string& fullPath,
102 const std::string& title,
103 int binsX,
double lowX,
double highX ,
104 const std::string&
opt =
"" ) = 0;
106 (
const std::string& dirPath,
107 const std::string& relPath,
108 const std::string& title,
109 int binsX,
double lowX,
double highX ,
110 const std::string&
opt =
"" ) = 0;
112 (
const std::string& dirPath,
114 const std::string& title,
115 int binsX,
double lowX,
double highX ,
116 const std::string&
opt =
"" ) = 0;
119 const std::string& relPath,
120 const std::string& title,
121 int binsX,
double lowX,
double highX ,
122 const std::string&
opt =
"" ) = 0;
126 const std::string& title,
127 int binsX,
double lowX,
double highX ,
128 const std::string&
opt =
"" ) = 0;
135 (
const std::string& fullPath ,
136 const std::string& title ,
138 double lowX ,
double highX ,
139 double lowY ,
double highY ,
140 const std::string&
opt =
"s" ) = 0;
142 (
const std::string& dirPath ,
143 const std::string& relPath ,
144 const std::string& title ,
146 double lowX ,
double highX ,
147 double lowY ,
double highY ,
148 const std::string&
opt =
"s" ) = 0;
150 (
const std::string& dirPath ,
152 const std::string& title ,
154 double lowX ,
double highX ,
155 double lowY ,
double highY ,
156 const std::string&
opt =
"s" ) = 0;
159 const std::string& relPath ,
160 const std::string& title ,
162 double lowX ,
double highX ,
163 double lowY ,
double highY ,
164 const std::string&
opt =
"s" ) = 0;
168 const std::string& title ,
170 double lowX ,
double highX ,
171 double lowY ,
double highY ,
172 const std::string&
opt =
"s" ) = 0;
178 virtual AIDA::IHistogram1D*
book(
const std::string& fullPath,
179 const std::string& title,
180 std::vector<double> edges ) = 0;
181 virtual AIDA::IHistogram1D*
book(
const std::string& dirPath,
182 const std::string& relPath,
183 const std::string& title,
184 std::vector<double> edges ) = 0;
185 virtual AIDA::IHistogram1D*
book(
const std::string& dirPath,
187 const std::string& title,
188 std::vector<double> edges ) = 0;
190 const std::string& relPath,
191 const std::string& title,
192 std::vector<double> edges ) = 0;
195 const std::string& title,
196 std::vector<double> edges ) = 0;
202 virtual AIDA::IProfile1D*
bookProf(
const std::string& fullPath,
203 const std::string& title,
204 std::vector<double> edges ) = 0;
205 virtual AIDA::IProfile1D*
bookProf(
const std::string& dirPath,
206 const std::string& relPath,
207 const std::string& title,
208 std::vector<double> edges ) = 0;
209 virtual AIDA::IProfile1D*
bookProf(
const std::string& dirPath,
211 const std::string& title,
212 std::vector<double> edges ) = 0;
214 const std::string& relPath,
215 const std::string& title,
216 std::vector<double> edges ) = 0;
219 const std::string& title,
220 std::vector<double> edges ) = 0;
226 virtual AIDA::IHistogram2D*
book(
const std::string& fullPath,
227 const std::string& title,
228 int binsX,
double lowX,
double highX,
229 int binsY,
double lowY,
double highY ) = 0;
230 virtual AIDA::IHistogram2D*
book(
const std::string& dirPath,
231 const std::string& relPath,
232 const std::string& title,
233 int binsX,
double lowX,
double highX,
234 int binsY,
double lowY,
double highY ) = 0;
235 virtual AIDA::IHistogram2D*
book(
const std::string& dirPath,
237 const std::string& title,
238 int binsX,
double lowX,
double highX,
239 int binsY,
double lowY,
double highY ) = 0;
241 const std::string& relPath,
242 const std::string& title,
243 int binsX,
double lowX,
double highX,
244 int binsY,
double lowY,
double highY ) = 0;
247 const std::string& title,
248 int binsX,
double lowX,
double highX,
249 int binsY,
double lowY,
double highY ) = 0;
255 virtual AIDA::IProfile2D*
bookProf(
const std::string& fullPath,
256 const std::string& title,
257 int binsX,
double lowX,
double highX,
258 int binsY,
double lowY,
double highY ) = 0;
259 virtual AIDA::IProfile2D*
bookProf(
const std::string& dirPath,
260 const std::string& relPath,
261 const std::string& title,
262 int binsX,
double lowX,
double highX,
263 int binsY,
double lowY,
double highY ) = 0;
264 virtual AIDA::IProfile2D*
bookProf(
const std::string& dirPath,
266 const std::string& title,
267 int binsX,
double lowX,
double highX,
268 int binsY,
double lowY,
double highY ) = 0;
270 const std::string& relPath,
271 const std::string& title,
272 int binsX,
double lowX,
double highX,
273 int binsY,
double lowY,
double highY ) = 0;
276 const std::string& title,
277 int binsX,
double lowX,
double highX,
278 int binsY,
double lowY,
double highY ) = 0;
284 virtual AIDA::IHistogram2D*
book(
const std::string& fullPath,
285 const std::string& title,
286 std::vector<double> edgesX,
287 std::vector<double> edgesY ) = 0;
288 virtual AIDA::IHistogram2D*
book(
const std::string& dirPath,
289 const std::string& relPath,
290 const std::string& title,
291 std::vector<double> edgesX,
292 std::vector<double> edgesY ) = 0;
293 virtual AIDA::IHistogram2D*
book(
const std::string& dirPath,
295 const std::string& title,
296 std::vector<double> edgesX,
297 std::vector<double> edgesY ) = 0;
299 const std::string& relPath,
300 const std::string& title,
301 std::vector<double> edgesX,
302 std::vector<double> edgesY ) = 0;
305 const std::string& title,
306 std::vector<double> edgesX,
307 std::vector<double> edgesY ) = 0;
314 virtual AIDA::IProfile2D*
bookProf(
const std::string& fullPath,
315 const std::string& title,
316 std::vector<double> edgesX,
317 std::vector<double> edgesY ) = 0;
318 virtual AIDA::IProfile2D*
bookProf(
const std::string& dirPath,
319 const std::string& relPath,
320 const std::string& title,
321 std::vector<double> edgesX,
322 std::vector<double> edgesY ) = 0;
323 virtual AIDA::IProfile2D*
bookProf(
const std::string& dirPath,
325 const std::string& title,
326 std::vector<double> edgesX,
327 std::vector<double> edgesY ) = 0;
329 const std::string& relPath,
330 const std::string& title,
331 std::vector<double> edgesX,
332 std::vector<double> edgesY ) = 0;
335 const std::string& title,
336 std::vector<double> edgesX,
337 std::vector<double> edgesY ) = 0;
344 virtual AIDA::IHistogram3D*
book(
const std::string& fullPath,
345 const std::string& title,
346 int binsX,
double lowX,
double highX,
347 int binsY,
double lowY,
double highY,
348 int binsZ,
double lowZ,
double highZ ) = 0;
349 virtual AIDA::IHistogram3D*
book(
const std::string& dirPath,
350 const std::string& relPath,
351 const std::string& title,
352 int binsX,
double lowX,
double highX,
353 int binsY,
double lowY,
double highY,
354 int binsZ,
double lowZ,
double highZ ) = 0;
355 virtual AIDA::IHistogram3D*
book(
const std::string& dirPath,
357 const std::string& title,
358 int binsX,
double lowX,
double highX,
359 int binsY,
double lowY,
double highY,
360 int binsZ,
double lowZ,
double highZ ) = 0;
362 const std::string& relPath,
363 const std::string& title,
364 int binsX,
double lowX,
double highX,
365 int binsY,
double lowY,
double highY,
366 int binsZ,
double lowZ,
double highZ ) = 0;
369 const std::string& title,
370 int binsX,
double lowX,
double highX,
371 int binsY,
double lowY,
double highY,
372 int binsZ,
double lowZ,
double highZ ) = 0;
378 virtual AIDA::IHistogram3D*
book(
const std::string& fullPath,
379 const std::string& title,
380 std::vector<double> edgesX,
381 std::vector<double> edgesY,
382 std::vector<double> edgesZ ) = 0;
383 virtual AIDA::IHistogram3D*
book(
const std::string& dirPath,
384 const std::string& relPath,
385 const std::string& title,
386 std::vector<double> edgesX,
387 std::vector<double> edgesY,
388 std::vector<double> edgesZ ) = 0;
389 virtual AIDA::IHistogram3D*
book(
const std::string& dirPath,
391 const std::string& title,
392 std::vector<double> edgesX,
393 std::vector<double> edgesY,
394 std::vector<double> edgesZ ) = 0;
396 const std::string& relPath,
397 const std::string& title,
398 std::vector<double> edgesX,
399 std::vector<double> edgesY,
400 std::vector<double> edgesZ ) = 0;
403 const std::string& title,
404 std::vector<double> edgesX,
405 std::vector<double> edgesY,
406 std::vector<double> edgesZ ) = 0;
413 AIDA::IBaseHistogram* hObj ) = 0;
416 const std::string& objPath,
417 AIDA::IBaseHistogram* hObj ) = 0;
420 int item, AIDA::IBaseHistogram* hObj ) = 0;
423 const std::string& objPath,
424 AIDA::IBaseHistogram* hObj ) = 0;
426 const std::string& objPath,
427 AIDA::IBaseHistogram* hObj ) = 0;
431 AIDA::IBaseHistogram* hObj ) = 0;
434 AIDA::IBaseHistogram* hObj ) = 0;
444 const std::string& objectPath ) = 0;
455 const std::string&
path,
456 AIDA::IHistogram1D*& h1dObj ) = 0;
458 const std::string& path,
459 AIDA::IProfile1D*& h1dObj ) = 0;
461 const std::string& path,
462 AIDA::IHistogram2D*& h2dObj ) = 0;
464 const std::string& path,
465 AIDA::IProfile2D*& h2dObj ) = 0;
467 const std::string& path,
468 AIDA::IHistogram3D*& h3dObj ) = 0;
471 AIDA::IHistogram1D*& h1dObj ) = 0;
473 AIDA::IProfile1D*& h1dObj ) = 0;
475 AIDA::IHistogram2D*& h2dObj ) = 0;
477 AIDA::IProfile2D*& h2dObj ) = 0;
479 AIDA::IHistogram3D*& h3dObj ) = 0;
482 const std::string& objPath,
483 AIDA::IHistogram1D*& h1dObj ) = 0;
485 const std::string& objPath,
486 AIDA::IProfile1D*& h1dObj ) = 0;
488 const std::string& objPath,
489 AIDA::IHistogram2D*& h2dObj ) = 0;
491 const std::string& objPath,
492 AIDA::IProfile2D*& h2dObj ) = 0;
494 const std::string& objPath,
495 AIDA::IHistogram3D*& h3dObj ) = 0;
499 AIDA::IHistogram1D*& h1dObj ) = 0;
502 AIDA::IProfile1D*& h1dObj ) = 0;
505 AIDA::IHistogram2D*& h2dObj ) = 0;
508 AIDA::IProfile2D*& h2dObj ) = 0;
511 AIDA::IHistogram3D*& h3dObj ) = 0;
514 const std::string& objPath,
515 AIDA::IHistogram1D*& h1dObj ) = 0;
517 const std::string& objPath,
518 AIDA::IProfile1D*& h1dObj ) = 0;
520 const std::string& objPath,
521 AIDA::IHistogram2D*& h2dObj ) = 0;
523 const std::string& objPath,
524 AIDA::IProfile2D*& h2dObj ) = 0;
526 const std::string& objPath,
527 AIDA::IHistogram3D*& h3dObj ) = 0;
529 const std::string& objPath,
530 AIDA::IHistogram1D*& h1dObj ) = 0;
532 const std::string& objPath,
533 AIDA::IProfile1D*& h1dObj ) = 0;
535 const std::string& objPath,
536 AIDA::IHistogram2D*& h2dObj ) = 0;
538 const std::string& objPath,
539 AIDA::IProfile2D*& h2dObj ) = 0;
541 const std::string& objPath,
542 AIDA::IHistogram3D*& h3dObj ) = 0;
546 AIDA::IHistogram1D*& h1dObj ) = 0;
549 AIDA::IProfile1D*& h1dObj ) = 0;
552 AIDA::IHistogram2D*& h2dObj ) = 0;
555 AIDA::IProfile2D*& h2dObj ) = 0;
558 AIDA::IHistogram3D*& h3dObj ) = 0;
561 AIDA::IHistogram1D*& h1dObj ) = 0;
564 AIDA::IProfile1D*& h1dObj ) = 0;
567 AIDA::IHistogram2D*& h2dObj ) = 0;
570 AIDA::IProfile2D*& h2dObj ) = 0;
573 AIDA::IHistogram3D*& h3dObj ) = 0;
581 AIDA::IHistogram1D*& h1dObj ) = 0;
583 AIDA::IProfile1D*& h1dObj ) = 0;
585 AIDA::IHistogram2D*& h2dObj ) = 0;
587 AIDA::IProfile2D*& h2dObj ) = 0;
589 AIDA::IHistogram3D*& h3dObj ) = 0;
592 const std::string& path,
593 AIDA::IHistogram1D*& h1dObj ) = 0;
595 const std::string& path,
596 AIDA::IProfile1D*& h1dObj ) = 0;
598 const std::string& path,
599 AIDA::IHistogram2D*& h2dObj ) = 0;
601 const std::string& path,
602 AIDA::IProfile2D*& h2dObj ) = 0;
604 const std::string& path,
605 AIDA::IHistogram3D*& h2dObj ) = 0;
608 const std::string& objPath,
609 AIDA::IHistogram1D*& h1dObj ) = 0;
611 const std::string& objPath,
612 AIDA::IProfile1D*& h1dObj ) = 0;
614 const std::string& objPath,
615 AIDA::IHistogram2D*& h2dObj ) = 0;
617 const std::string& objPath,
618 AIDA::IProfile2D*& h2dObj ) = 0;
620 const std::string& objPath,
621 AIDA::IHistogram3D*& h3dObj ) = 0;
625 AIDA::IHistogram1D*& h1dObj ) = 0;
628 AIDA::IProfile1D*& h1dObj ) = 0;
631 AIDA::IHistogram2D*& h2dObj ) = 0;
634 AIDA::IProfile2D*& h2dObj ) = 0;
637 AIDA::IHistogram3D*& h3dObj ) = 0;
640 const std::string& objPath,
641 AIDA::IHistogram1D*& h1dObj ) = 0;
643 const std::string& objPath,
644 AIDA::IProfile1D*& h1dObj ) = 0;
646 const std::string& objPath,
647 AIDA::IHistogram2D*& h2dObj ) = 0;
649 const std::string& objPath,
650 AIDA::IProfile2D*& h2dObj ) = 0;
652 const std::string& objPath,
653 AIDA::IHistogram3D*& h3dObj ) = 0;
655 const std::string& objPath,
656 AIDA::IHistogram1D*& h1dObj ) = 0;
658 const std::string& objPath,
659 AIDA::IProfile1D*& h1dObj ) = 0;
661 const std::string& objPath,
662 AIDA::IHistogram2D*& h2dObj ) = 0;
664 const std::string& objPath,
665 AIDA::IProfile2D*& h2dObj ) = 0;
667 const std::string& objPath,
668 AIDA::IHistogram3D*& h3dObj ) = 0;
672 AIDA::IHistogram1D*& h1dObj ) = 0;
675 AIDA::IProfile1D*& h1dObj ) = 0;
678 AIDA::IHistogram2D*& h2dObj ) = 0;
681 AIDA::IProfile2D*& h2dObj ) = 0;
684 AIDA::IHistogram3D*& h3dObj ) = 0;
687 AIDA::IHistogram1D*& h1dObj ) = 0;
690 AIDA::IProfile1D*& h1dObj ) = 0;
693 AIDA::IHistogram2D*& h2dObj ) = 0;
696 AIDA::IProfile2D*& h2dObj ) = 0;
699 AIDA::IHistogram3D*& h3dObj ) = 0;
709 virtual std::ostream& print( AIDA::IBaseHistogram* h,
710 std::ostream&
s = std::cout)
const = 0;
716 virtual std::ostream& write( AIDA::IBaseHistogram* h,
717 std::ostream&
s = std::cout)
const = 0;
720 virtual int write( AIDA::IBaseHistogram* h,
const char* file_name )
const = 0;
726 virtual DataObject* createPath(
const std::string& newPath ) = 0;
734 const std::string& parentDir,
735 const std::string& subDir ) = 0;
749 #endif // INTERFACES_IHISTOGRAMSVC_H