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
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
Data provider interface definition.
virtual StatusCode findObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Find object identified by its directory entry.
DeclareInterfaceID(IDataProviderSvc, 3, 0)
InterfaceID.
virtual StatusCode unregisterObject(const std::string &fullPath)=0
Unregister object from the data store.
This class is used for returning status codes from appropriate routines.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition of the IHistogramSvc interface class.
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
virtual ~IHistogramSvc()
virtual destructor
virtual StatusCode registerObject(const std::string &fullPath, DataObject *pObject)=0
Register object with the data store.
def bookProf
The trivial function to book 1D&2D profile histograms:
A DataObject is the base class of any identifiable object on any data store.
virtual StatusCode retrieveObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.