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