00001
00002 #ifndef GAUDIKERNEL_IHISTOGRAMSVC_H
00003 #define GAUDIKERNEL_IHISTOGRAMSVC_H
00004
00005
00006
00007 #include "GaudiKernel/IDataProviderSvc.h"
00008 #include "GaudiKernel/IService.h"
00009 #include <string>
00010 #include <vector>
00011 #include <iostream>
00012
00013
00014 class DataObject;
00015
00016
00017
00018 namespace AIDA {
00019 class IBaseHistogram;
00020 class IHistogram;
00021 class IHistogram1D;
00022 class IProfile1D;
00023 class IHistogram2D;
00024 class IProfile2D;
00025 class IHistogram3D;
00026 class IHistogramFactory;
00027 class IAnnotation;
00028 class IAxis;
00029 }
00030
00031 using AIDA::IHistogramFactory;
00032 using AIDA::IBaseHistogram;
00033 using AIDA::IHistogram;
00034 using AIDA::IHistogram1D;
00035 using AIDA::IProfile1D;
00036 using AIDA::IHistogram2D;
00037 using AIDA::IProfile2D;
00038 using AIDA::IHistogram3D;
00039 using AIDA::IAxis;
00040 using AIDA::IAnnotation;
00041
00048 class GAUDI_API IHistogramSvc: virtual public IDataProviderSvc
00049 {
00050 public:
00052 DeclareInterfaceID(IHistogramSvc,5,0);
00053
00055 virtual AIDA::IHistogramFactory* histogramFactory() = 0;
00056
00073
00074
00075
00076
00077 virtual AIDA::IHistogram1D* book( const std::string& fullPath,
00078 const std::string& title,
00079 int binsX, double lowX, double highX ) = 0;
00080 virtual AIDA::IHistogram1D* book( const std::string& dirPath,
00081 const std::string& relPath,
00082 const std::string& title,
00083 int binsX, double lowX, double highX ) = 0;
00084 virtual AIDA::IHistogram1D* book( const std::string& dirPath,
00085 int hID,
00086 const std::string& title,
00087 int binsX, double lowX, double highX ) = 0;
00088 virtual AIDA::IHistogram1D* book( DataObject* pParent,
00089 const std::string& relPath,
00090 const std::string& title,
00091 int binsX, double lowX, double highX ) = 0;
00092 virtual AIDA::IHistogram1D* book( DataObject* pParent,
00093 int hID,
00094 const std::string& title,
00095 int binsX, double lowX, double highX ) = 0;
00096
00097
00098
00099
00100
00101 virtual AIDA::IProfile1D* bookProf
00102 ( const std::string& fullPath,
00103 const std::string& title,
00104 int binsX, double lowX, double highX ,
00105 const std::string& opt = "" ) = 0;
00106 virtual AIDA::IProfile1D* bookProf
00107 ( const std::string& dirPath,
00108 const std::string& relPath,
00109 const std::string& title,
00110 int binsX, double lowX, double highX ,
00111 const std::string& opt = "" ) = 0;
00112 virtual AIDA::IProfile1D* bookProf
00113 ( const std::string& dirPath,
00114 int hID,
00115 const std::string& title,
00116 int binsX, double lowX, double highX ,
00117 const std::string& opt = "" ) = 0;
00118 virtual AIDA::IProfile1D* bookProf
00119 ( DataObject* pParent,
00120 const std::string& relPath,
00121 const std::string& title,
00122 int binsX, double lowX, double highX ,
00123 const std::string& opt = "" ) = 0;
00124 virtual AIDA::IProfile1D* bookProf
00125 ( DataObject* pParent,
00126 int hID,
00127 const std::string& title,
00128 int binsX, double lowX, double highX ,
00129 const std::string& opt = "" ) = 0;
00130
00131
00132
00133
00134
00135 virtual AIDA::IProfile1D* bookProf
00136 ( const std::string& fullPath ,
00137 const std::string& title ,
00138 int binsX ,
00139 double lowX , double highX ,
00140 double lowY , double highY ,
00141 const std::string& opt = "s" ) = 0;
00142 virtual AIDA::IProfile1D* bookProf
00143 ( const std::string& dirPath ,
00144 const std::string& relPath ,
00145 const std::string& title ,
00146 int binsX ,
00147 double lowX , double highX ,
00148 double lowY , double highY ,
00149 const std::string& opt = "s" ) = 0;
00150 virtual AIDA::IProfile1D* bookProf
00151 ( const std::string& dirPath ,
00152 int hID ,
00153 const std::string& title ,
00154 int binsX ,
00155 double lowX , double highX ,
00156 double lowY , double highY ,
00157 const std::string& opt = "s" ) = 0;
00158 virtual AIDA::IProfile1D* bookProf
00159 ( DataObject* pParent ,
00160 const std::string& relPath ,
00161 const std::string& title ,
00162 int binsX ,
00163 double lowX , double highX ,
00164 double lowY , double highY ,
00165 const std::string& opt = "s" ) = 0;
00166 virtual AIDA::IProfile1D* bookProf
00167 ( DataObject* pParent ,
00168 int hID ,
00169 const std::string& title ,
00170 int binsX ,
00171 double lowX , double highX ,
00172 double lowY , double highY ,
00173 const std::string& opt = "s" ) = 0;
00174
00175
00176
00177
00178
00179 virtual AIDA::IHistogram1D* book( const std::string& fullPath,
00180 const std::string& title,
00181 std::vector<double> edges ) = 0;
00182 virtual AIDA::IHistogram1D* book( const std::string& dirPath,
00183 const std::string& relPath,
00184 const std::string& title,
00185 std::vector<double> edges ) = 0;
00186 virtual AIDA::IHistogram1D* book( const std::string& dirPath,
00187 int hID,
00188 const std::string& title,
00189 std::vector<double> edges ) = 0;
00190 virtual AIDA::IHistogram1D* book( DataObject* pParent,
00191 const std::string& relPath,
00192 const std::string& title,
00193 std::vector<double> edges ) = 0;
00194 virtual AIDA::IHistogram1D* book( DataObject* pParent,
00195 int hID,
00196 const std::string& title,
00197 std::vector<double> edges ) = 0;
00198
00199
00200
00201
00202
00203 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath,
00204 const std::string& title,
00205 std::vector<double> edges ) = 0;
00206 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath,
00207 const std::string& relPath,
00208 const std::string& title,
00209 std::vector<double> edges ) = 0;
00210 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath,
00211 int hID,
00212 const std::string& title,
00213 std::vector<double> edges ) = 0;
00214 virtual AIDA::IProfile1D* bookProf( DataObject* pParent,
00215 const std::string& relPath,
00216 const std::string& title,
00217 std::vector<double> edges ) = 0;
00218 virtual AIDA::IProfile1D* bookProf( DataObject* pParent,
00219 int hID,
00220 const std::string& title,
00221 std::vector<double> edges ) = 0;
00222
00223
00224
00225
00226
00227 virtual AIDA::IHistogram2D* book( const std::string& fullPath,
00228 const std::string& title,
00229 int binsX, double lowX, double highX,
00230 int binsY, double lowY, double highY ) = 0;
00231 virtual AIDA::IHistogram2D* book( const std::string& dirPath,
00232 const std::string& relPath,
00233 const std::string& title,
00234 int binsX, double lowX, double highX,
00235 int binsY, double lowY, double highY ) = 0;
00236 virtual AIDA::IHistogram2D* book( const std::string& dirPath,
00237 int hID,
00238 const std::string& title,
00239 int binsX, double lowX, double highX,
00240 int binsY, double lowY, double highY ) = 0;
00241 virtual AIDA::IHistogram2D* book( DataObject* pParent,
00242 const std::string& relPath,
00243 const std::string& title,
00244 int binsX, double lowX, double highX,
00245 int binsY, double lowY, double highY ) = 0;
00246 virtual AIDA::IHistogram2D* book( DataObject* pParent,
00247 int hID,
00248 const std::string& title,
00249 int binsX, double lowX, double highX,
00250 int binsY, double lowY, double highY ) = 0;
00251
00252
00253
00254
00255
00256 virtual AIDA::IProfile2D* bookProf( const std::string& fullPath,
00257 const std::string& title,
00258 int binsX, double lowX, double highX,
00259 int binsY, double lowY, double highY ) = 0;
00260 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
00261 const std::string& relPath,
00262 const std::string& title,
00263 int binsX, double lowX, double highX,
00264 int binsY, double lowY, double highY ) = 0;
00265 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
00266 int hID,
00267 const std::string& title,
00268 int binsX, double lowX, double highX,
00269 int binsY, double lowY, double highY ) = 0;
00270 virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
00271 const std::string& relPath,
00272 const std::string& title,
00273 int binsX, double lowX, double highX,
00274 int binsY, double lowY, double highY ) = 0;
00275 virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
00276 int hID,
00277 const std::string& title,
00278 int binsX, double lowX, double highX,
00279 int binsY, double lowY, double highY ) = 0;
00280
00281
00282
00283
00284
00285 virtual AIDA::IHistogram2D* book( const std::string& fullPath,
00286 const std::string& title,
00287 std::vector<double> edgesX,
00288 std::vector<double> edgesY ) = 0;
00289 virtual AIDA::IHistogram2D* book( const std::string& dirPath,
00290 const std::string& relPath,
00291 const std::string& title,
00292 std::vector<double> edgesX,
00293 std::vector<double> edgesY ) = 0;
00294 virtual AIDA::IHistogram2D* book( const std::string& dirPath,
00295 int hID,
00296 const std::string& title,
00297 std::vector<double> edgesX,
00298 std::vector<double> edgesY ) = 0;
00299 virtual AIDA::IHistogram2D* book( DataObject* pParent,
00300 const std::string& relPath,
00301 const std::string& title,
00302 std::vector<double> edgesX,
00303 std::vector<double> edgesY ) = 0;
00304 virtual AIDA::IHistogram2D* book( DataObject* pParent,
00305 int hID,
00306 const std::string& title,
00307 std::vector<double> edgesX,
00308 std::vector<double> edgesY ) = 0;
00309
00310
00311
00312
00313
00314
00315 virtual AIDA::IProfile2D* bookProf( const std::string& fullPath,
00316 const std::string& title,
00317 std::vector<double> edgesX,
00318 std::vector<double> edgesY ) = 0;
00319 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
00320 const std::string& relPath,
00321 const std::string& title,
00322 std::vector<double> edgesX,
00323 std::vector<double> edgesY ) = 0;
00324 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath,
00325 int hID,
00326 const std::string& title,
00327 std::vector<double> edgesX,
00328 std::vector<double> edgesY ) = 0;
00329 virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
00330 const std::string& relPath,
00331 const std::string& title,
00332 std::vector<double> edgesX,
00333 std::vector<double> edgesY ) = 0;
00334 virtual AIDA::IProfile2D* bookProf( DataObject* pParent,
00335 int hID,
00336 const std::string& title,
00337 std::vector<double> edgesX,
00338 std::vector<double> edgesY ) = 0;
00339
00340
00341
00342
00343
00344
00345 virtual AIDA::IHistogram3D* book( const std::string& fullPath,
00346 const std::string& title,
00347 int binsX, double lowX, double highX,
00348 int binsY, double lowY, double highY,
00349 int binsZ, double lowZ, double highZ ) = 0;
00350 virtual AIDA::IHistogram3D* book( const std::string& dirPath,
00351 const std::string& relPath,
00352 const std::string& title,
00353 int binsX, double lowX, double highX,
00354 int binsY, double lowY, double highY,
00355 int binsZ, double lowZ, double highZ ) = 0;
00356 virtual AIDA::IHistogram3D* book( const std::string& dirPath,
00357 int hID,
00358 const std::string& title,
00359 int binsX, double lowX, double highX,
00360 int binsY, double lowY, double highY,
00361 int binsZ, double lowZ, double highZ ) = 0;
00362 virtual AIDA::IHistogram3D* book( DataObject* pParent,
00363 const std::string& relPath,
00364 const std::string& title,
00365 int binsX, double lowX, double highX,
00366 int binsY, double lowY, double highY,
00367 int binsZ, double lowZ, double highZ ) = 0;
00368 virtual AIDA::IHistogram3D* book( DataObject* pParent,
00369 int hID,
00370 const std::string& title,
00371 int binsX, double lowX, double highX,
00372 int binsY, double lowY, double highY,
00373 int binsZ, double lowZ, double highZ ) = 0;
00374
00375
00376
00377
00378
00379 virtual AIDA::IHistogram3D* book( const std::string& fullPath,
00380 const std::string& title,
00381 std::vector<double> edgesX,
00382 std::vector<double> edgesY,
00383 std::vector<double> edgesZ ) = 0;
00384 virtual AIDA::IHistogram3D* book( const std::string& dirPath,
00385 const std::string& relPath,
00386 const std::string& title,
00387 std::vector<double> edgesX,
00388 std::vector<double> edgesY,
00389 std::vector<double> edgesZ ) = 0;
00390 virtual AIDA::IHistogram3D* book( const std::string& dirPath,
00391 int hID,
00392 const std::string& title,
00393 std::vector<double> edgesX,
00394 std::vector<double> edgesY,
00395 std::vector<double> edgesZ ) = 0;
00396 virtual AIDA::IHistogram3D* book( DataObject* pParent,
00397 const std::string& relPath,
00398 const std::string& title,
00399 std::vector<double> edgesX,
00400 std::vector<double> edgesY,
00401 std::vector<double> edgesZ ) = 0;
00402 virtual AIDA::IHistogram3D* book( DataObject* pParent,
00403 int hID,
00404 const std::string& title,
00405 std::vector<double> edgesX,
00406 std::vector<double> edgesY,
00407 std::vector<double> edgesZ ) = 0;
00408
00409
00410
00411
00412
00413 virtual StatusCode registerObject( const std::string& fullPath,
00414 AIDA::IBaseHistogram* hObj ) = 0;
00415
00416 virtual StatusCode registerObject( const std::string& parentPath,
00417 const std::string& objPath,
00418 AIDA::IBaseHistogram* hObj ) = 0;
00419
00420 virtual StatusCode registerObject( const std::string& parentPath,
00421 int item, AIDA::IBaseHistogram* hObj ) = 0;
00422
00423 virtual StatusCode registerObject( DataObject* parentObj,
00424 const std::string& objPath,
00425 AIDA::IBaseHistogram* hObj ) = 0;
00426 virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj,
00427 const std::string& objPath,
00428 AIDA::IBaseHistogram* hObj ) = 0;
00429
00430 virtual StatusCode registerObject( DataObject* parentObj,
00431 int item,
00432 AIDA::IBaseHistogram* hObj ) = 0;
00433 virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj,
00434 int item,
00435 AIDA::IBaseHistogram* hObj ) = 0;
00436
00437
00438
00439
00440
00441
00442 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
00443
00444 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
00445 const std::string& objectPath ) = 0;
00446
00447 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
00448 int item ) = 0;
00449
00450
00451
00452
00453
00454
00455 virtual StatusCode retrieveObject( IRegistry* pDirectory,
00456 const std::string& path,
00457 AIDA::IHistogram1D*& h1dObj ) = 0;
00458 virtual StatusCode retrieveObject( IRegistry* pDirectory,
00459 const std::string& path,
00460 AIDA::IProfile1D*& h1dObj ) = 0;
00461 virtual StatusCode retrieveObject( IRegistry* pDirectory,
00462 const std::string& path,
00463 AIDA::IHistogram2D*& h2dObj ) = 0;
00464 virtual StatusCode retrieveObject( IRegistry* pDirectory,
00465 const std::string& path,
00466 AIDA::IProfile2D*& h2dObj ) = 0;
00467 virtual StatusCode retrieveObject( IRegistry* pDirectory,
00468 const std::string& path,
00469 AIDA::IHistogram3D*& h3dObj ) = 0;
00470
00471 virtual StatusCode retrieveObject( const std::string& fullPath,
00472 AIDA::IHistogram1D*& h1dObj ) = 0;
00473 virtual StatusCode retrieveObject( const std::string& fullPath,
00474 AIDA::IProfile1D*& h1dObj ) = 0;
00475 virtual StatusCode retrieveObject( const std::string& fullPath,
00476 AIDA::IHistogram2D*& h2dObj ) = 0;
00477 virtual StatusCode retrieveObject( const std::string& fullPath,
00478 AIDA::IProfile2D*& h2dObj ) = 0;
00479 virtual StatusCode retrieveObject( const std::string& fullPath,
00480 AIDA::IHistogram3D*& h3dObj ) = 0;
00481
00482 virtual StatusCode retrieveObject( const std::string& parentPath,
00483 const std::string& objPath,
00484 AIDA::IHistogram1D*& h1dObj ) = 0;
00485 virtual StatusCode retrieveObject( const std::string& parentPath,
00486 const std::string& objPath,
00487 AIDA::IProfile1D*& h1dObj ) = 0;
00488 virtual StatusCode retrieveObject( const std::string& parentPath,
00489 const std::string& objPath,
00490 AIDA::IHistogram2D*& h2dObj ) = 0;
00491 virtual StatusCode retrieveObject( const std::string& parentPath,
00492 const std::string& objPath,
00493 AIDA::IProfile2D*& h2dObj ) = 0;
00494 virtual StatusCode retrieveObject( const std::string& parentPath,
00495 const std::string& objPath,
00496 AIDA::IHistogram3D*& h3dObj ) = 0;
00497
00498 virtual StatusCode retrieveObject( const std::string& parentPath,
00499 int item,
00500 AIDA::IHistogram1D*& h1dObj ) = 0;
00501 virtual StatusCode retrieveObject( const std::string& parentPath,
00502 int item,
00503 AIDA::IProfile1D*& h1dObj ) = 0;
00504 virtual StatusCode retrieveObject( const std::string& parentPath,
00505 int item,
00506 AIDA::IHistogram2D*& h2dObj ) = 0;
00507 virtual StatusCode retrieveObject( const std::string& parentPath,
00508 int item,
00509 AIDA::IProfile2D*& h2dObj ) = 0;
00510 virtual StatusCode retrieveObject( const std::string& parentPath,
00511 int item,
00512 AIDA::IHistogram3D*& h3dObj ) = 0;
00513
00514 virtual StatusCode retrieveObject( DataObject* parentObj,
00515 const std::string& objPath,
00516 AIDA::IHistogram1D*& h1dObj ) = 0;
00517 virtual StatusCode retrieveObject( DataObject* parentObj,
00518 const std::string& objPath,
00519 AIDA::IProfile1D*& h1dObj ) = 0;
00520 virtual StatusCode retrieveObject( DataObject* parentObj,
00521 const std::string& objPath,
00522 AIDA::IHistogram2D*& h2dObj ) = 0;
00523 virtual StatusCode retrieveObject( DataObject* parentObj,
00524 const std::string& objPath,
00525 AIDA::IProfile2D*& h2dObj ) = 0;
00526 virtual StatusCode retrieveObject( DataObject* parentObj,
00527 const std::string& objPath,
00528 AIDA::IHistogram3D*& h3dObj ) = 0;
00529 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00530 const std::string& objPath,
00531 AIDA::IHistogram1D*& h1dObj ) = 0;
00532 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00533 const std::string& objPath,
00534 AIDA::IProfile1D*& h1dObj ) = 0;
00535 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00536 const std::string& objPath,
00537 AIDA::IHistogram2D*& h2dObj ) = 0;
00538 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00539 const std::string& objPath,
00540 AIDA::IProfile2D*& h2dObj ) = 0;
00541 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00542 const std::string& objPath,
00543 AIDA::IHistogram3D*& h3dObj ) = 0;
00544
00545 virtual StatusCode retrieveObject( DataObject* parentObj,
00546 int item,
00547 AIDA::IHistogram1D*& h1dObj ) = 0;
00548 virtual StatusCode retrieveObject( DataObject* parentObj,
00549 int item,
00550 AIDA::IProfile1D*& h1dObj ) = 0;
00551 virtual StatusCode retrieveObject( DataObject* parentObj,
00552 int item,
00553 AIDA::IHistogram2D*& h2dObj ) = 0;
00554 virtual StatusCode retrieveObject( DataObject* parentObj,
00555 int item,
00556 AIDA::IProfile2D*& h2dObj ) = 0;
00557 virtual StatusCode retrieveObject( DataObject* parentObj,
00558 int item,
00559 AIDA::IHistogram3D*& h3dObj ) = 0;
00560 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00561 int item,
00562 AIDA::IHistogram1D*& h1dObj ) = 0;
00563 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00564 int item,
00565 AIDA::IProfile1D*& h1dObj ) = 0;
00566 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00567 int item,
00568 AIDA::IHistogram2D*& h2dObj ) = 0;
00569 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00570 int item,
00571 AIDA::IProfile2D*& h2dObj ) = 0;
00572 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
00573 int item,
00574 AIDA::IHistogram3D*& h3dObj ) = 0;
00575
00576
00577
00578
00579
00580
00581 virtual StatusCode findObject( const std::string& fullPath,
00582 AIDA::IHistogram1D*& h1dObj ) = 0;
00583 virtual StatusCode findObject( const std::string& fullPath,
00584 AIDA::IProfile1D*& h1dObj ) = 0;
00585 virtual StatusCode findObject( const std::string& fullPath,
00586 AIDA::IHistogram2D*& h2dObj ) = 0;
00587 virtual StatusCode findObject( const std::string& fullPath,
00588 AIDA::IProfile2D*& h2dObj ) = 0;
00589 virtual StatusCode findObject( const std::string& fullPath,
00590 AIDA::IHistogram3D*& h3dObj ) = 0;
00591
00592 virtual StatusCode findObject( IRegistry* pDirectory,
00593 const std::string& path,
00594 AIDA::IHistogram1D*& h1dObj ) = 0;
00595 virtual StatusCode findObject( IRegistry* pDirectory,
00596 const std::string& path,
00597 AIDA::IProfile1D*& h1dObj ) = 0;
00598 virtual StatusCode findObject( IRegistry* pDirectory,
00599 const std::string& path,
00600 AIDA::IHistogram2D*& h2dObj ) = 0;
00601 virtual StatusCode findObject( IRegistry* pDirectory,
00602 const std::string& path,
00603 AIDA::IProfile2D*& h2dObj ) = 0;
00604 virtual StatusCode findObject( IRegistry* pDirectory,
00605 const std::string& path,
00606 AIDA::IHistogram3D*& h2dObj ) = 0;
00607
00608 virtual StatusCode findObject( const std::string& parentPath,
00609 const std::string& objPath,
00610 AIDA::IHistogram1D*& h1dObj ) = 0;
00611 virtual StatusCode findObject( const std::string& parentPath,
00612 const std::string& objPath,
00613 AIDA::IProfile1D*& h1dObj ) = 0;
00614 virtual StatusCode findObject( const std::string& parentPath,
00615 const std::string& objPath,
00616 AIDA::IHistogram2D*& h2dObj ) = 0;
00617 virtual StatusCode findObject( const std::string& parentPath,
00618 const std::string& objPath,
00619 AIDA::IProfile2D*& h2dObj ) = 0;
00620 virtual StatusCode findObject( const std::string& parentPath,
00621 const std::string& objPath,
00622 AIDA::IHistogram3D*& h3dObj ) = 0;
00623
00624 virtual StatusCode findObject( const std::string& parentPath,
00625 int item,
00626 AIDA::IHistogram1D*& h1dObj ) = 0;
00627 virtual StatusCode findObject( const std::string& parentPath,
00628 int item,
00629 AIDA::IProfile1D*& h1dObj ) = 0;
00630 virtual StatusCode findObject( const std::string& parentPath,
00631 int item,
00632 AIDA::IHistogram2D*& h2dObj ) = 0;
00633 virtual StatusCode findObject( const std::string& parentPath,
00634 int item,
00635 AIDA::IProfile2D*& h2dObj ) = 0;
00636 virtual StatusCode findObject( const std::string& parentPath,
00637 int item,
00638 AIDA::IHistogram3D*& h3dObj ) = 0;
00639
00640 virtual StatusCode findObject( DataObject* parentObj,
00641 const std::string& objPath,
00642 AIDA::IHistogram1D*& h1dObj ) = 0;
00643 virtual StatusCode findObject( DataObject* parentObj,
00644 const std::string& objPath,
00645 AIDA::IProfile1D*& h1dObj ) = 0;
00646 virtual StatusCode findObject( DataObject* parentObj,
00647 const std::string& objPath,
00648 AIDA::IHistogram2D*& h2dObj ) = 0;
00649 virtual StatusCode findObject( DataObject* parentObj,
00650 const std::string& objPath,
00651 AIDA::IProfile2D*& h2dObj ) = 0;
00652 virtual StatusCode findObject( DataObject* parentObj,
00653 const std::string& objPath,
00654 AIDA::IHistogram3D*& h3dObj ) = 0;
00655 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00656 const std::string& objPath,
00657 AIDA::IHistogram1D*& h1dObj ) = 0;
00658 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00659 const std::string& objPath,
00660 AIDA::IProfile1D*& h1dObj ) = 0;
00661 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00662 const std::string& objPath,
00663 AIDA::IHistogram2D*& h2dObj ) = 0;
00664 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00665 const std::string& objPath,
00666 AIDA::IProfile2D*& h2dObj ) = 0;
00667 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00668 const std::string& objPath,
00669 AIDA::IHistogram3D*& h3dObj ) = 0;
00670
00671 virtual StatusCode findObject( DataObject* parentObj,
00672 int item,
00673 AIDA::IHistogram1D*& h1dObj ) = 0;
00674 virtual StatusCode findObject( DataObject* parentObj,
00675 int item,
00676 AIDA::IProfile1D*& h1dObj ) = 0;
00677 virtual StatusCode findObject( DataObject* parentObj,
00678 int item,
00679 AIDA::IHistogram2D*& h2dObj ) = 0;
00680 virtual StatusCode findObject( DataObject* parentObj,
00681 int item,
00682 AIDA::IProfile2D*& h2dObj ) = 0;
00683 virtual StatusCode findObject( DataObject* parentObj,
00684 int item,
00685 AIDA::IHistogram3D*& h3dObj ) = 0;
00686 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00687 int item,
00688 AIDA::IHistogram1D*& h1dObj ) = 0;
00689 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00690 int item,
00691 AIDA::IProfile1D*& h1dObj ) = 0;
00692 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00693 int item,
00694 AIDA::IHistogram2D*& h2dObj ) = 0;
00695 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00696 int item,
00697 AIDA::IProfile2D*& h2dObj ) = 0;
00698 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
00699 int item,
00700 AIDA::IHistogram3D*& h3dObj ) = 0;
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710 virtual std::ostream& print( AIDA::IBaseHistogram* h,
00711 std::ostream& s = std::cout) const = 0;
00712
00713
00714
00715
00717 virtual std::ostream& write( AIDA::IBaseHistogram* h,
00718 std::ostream& s = std::cout) const = 0;
00719
00721 virtual int write( AIDA::IBaseHistogram* h, const char* file_name ) const = 0;
00722
00723
00724
00725
00726
00727 virtual DataObject* createPath( const std::string& newPath ) = 0;
00728
00734 virtual DataObject* createDirectory (
00735 const std::string& parentDir,
00736 const std::string& subDir ) = 0;
00737
00739 using IDataProviderSvc::registerObject;
00740 using IDataProviderSvc::unregisterObject;
00741 using IDataProviderSvc::retrieveObject;
00742 using IDataProviderSvc::findObject;
00743
00744 };
00745
00746
00747 #endif // INTERFACES_IHISTOGRAMSVC_H