File indexing completed on 2025-01-18 09:57:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef GAUDIKERNEL_IHISTOGRAMSVC_H
0012 #define GAUDIKERNEL_IHISTOGRAMSVC_H
0013
0014
0015 #include "GaudiKernel/IDataProviderSvc.h"
0016 #include "GaudiKernel/IService.h"
0017 #include <iostream>
0018 #include <string>
0019 #include <vector>
0020
0021
0022 class DataObject;
0023
0024
0025
0026 namespace AIDA {
0027 class IBaseHistogram;
0028 class IHistogram;
0029 class IHistogram1D;
0030 class IProfile1D;
0031 class IHistogram2D;
0032 class IProfile2D;
0033 class IHistogram3D;
0034 class IHistogramFactory;
0035 class IAnnotation;
0036 class IAxis;
0037 }
0038
0039 using AIDA::IAnnotation;
0040 using AIDA::IAxis;
0041 using AIDA::IBaseHistogram;
0042 using AIDA::IHistogram;
0043 using AIDA::IHistogram1D;
0044 using AIDA::IHistogram2D;
0045 using AIDA::IHistogram3D;
0046 using AIDA::IHistogramFactory;
0047 using AIDA::IProfile1D;
0048 using AIDA::IProfile2D;
0049
0050
0051
0052
0053
0054
0055
0056 class GAUDI_API IHistogramSvc : virtual public IDataProviderSvc {
0057 public:
0058
0059 DeclareInterfaceID( IHistogramSvc, 5, 0 );
0060
0061
0062 virtual AIDA::IHistogramFactory* histogramFactory() = 0;
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084 virtual AIDA::IHistogram1D* book( const std::string& fullPath, const std::string& title, int binsX, double lowX,
0085 double highX ) = 0;
0086 virtual AIDA::IHistogram1D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
0087 int binsX, double lowX, double highX ) = 0;
0088 virtual AIDA::IHistogram1D* book( const std::string& dirPath, int hID, const std::string& title, int binsX,
0089 double lowX, double highX ) = 0;
0090 virtual AIDA::IHistogram1D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
0091 int binsX, double lowX, double highX ) = 0;
0092 virtual AIDA::IHistogram1D* book( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
0093 double highX ) = 0;
0094
0095
0096
0097
0098
0099 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath, const std::string& title, int binsX, double lowX,
0100 double highX, const std::string& opt = "" ) = 0;
0101 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
0102 int binsX, double lowX, double highX, const std::string& opt = "" ) = 0;
0103 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, int hID, const std::string& title, int binsX,
0104 double lowX, double highX, const std::string& opt = "" ) = 0;
0105 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
0106 int binsX, double lowX, double highX, const std::string& opt = "" ) = 0;
0107 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
0108 double highX, const std::string& opt = "" ) = 0;
0109
0110
0111
0112
0113
0114 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath, const std::string& title, int binsX, double lowX,
0115 double highX, double lowY, double highY, const std::string& opt = "s" ) = 0;
0116 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
0117 int binsX, double lowX, double highX, double lowY, double highY,
0118 const std::string& opt = "s" ) = 0;
0119 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, int hID, const std::string& title, int binsX,
0120 double lowX, double highX, double lowY, double highY,
0121 const std::string& opt = "s" ) = 0;
0122 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
0123 int binsX, double lowX, double highX, double lowY, double highY,
0124 const std::string& opt = "s" ) = 0;
0125 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
0126 double highX, double lowY, double highY, const std::string& opt = "s" ) = 0;
0127
0128
0129
0130
0131
0132 virtual AIDA::IHistogram1D* book( const std::string& fullPath, const std::string& title,
0133 std::vector<double> edges ) = 0;
0134 virtual AIDA::IHistogram1D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
0135 std::vector<double> edges ) = 0;
0136 virtual AIDA::IHistogram1D* book( const std::string& dirPath, int hID, const std::string& title,
0137 std::vector<double> edges ) = 0;
0138 virtual AIDA::IHistogram1D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
0139 std::vector<double> edges ) = 0;
0140 virtual AIDA::IHistogram1D* book( DataObject* pParent, int hID, const std::string& title,
0141 std::vector<double> edges ) = 0;
0142
0143
0144
0145
0146
0147 virtual AIDA::IProfile1D* bookProf( const std::string& fullPath, const std::string& title,
0148 std::vector<double> edges ) = 0;
0149 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
0150 std::vector<double> edges ) = 0;
0151 virtual AIDA::IProfile1D* bookProf( const std::string& dirPath, int hID, const std::string& title,
0152 std::vector<double> edges ) = 0;
0153 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
0154 std::vector<double> edges ) = 0;
0155 virtual AIDA::IProfile1D* bookProf( DataObject* pParent, int hID, const std::string& title,
0156 std::vector<double> edges ) = 0;
0157
0158
0159
0160
0161
0162 virtual AIDA::IHistogram2D* book( const std::string& fullPath, const std::string& title, int binsX, double lowX,
0163 double highX, int binsY, double lowY, double highY ) = 0;
0164 virtual AIDA::IHistogram2D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
0165 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
0166 virtual AIDA::IHistogram2D* book( const std::string& dirPath, int hID, const std::string& title, int binsX,
0167 double lowX, double highX, int binsY, double lowY, double highY ) = 0;
0168 virtual AIDA::IHistogram2D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
0169 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
0170 virtual AIDA::IHistogram2D* book( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
0171 double highX, int binsY, double lowY, double highY ) = 0;
0172
0173
0174
0175
0176
0177 virtual AIDA::IProfile2D* bookProf( const std::string& fullPath, const std::string& title, int binsX, double lowX,
0178 double highX, int binsY, double lowY, double highY ) = 0;
0179 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
0180 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
0181 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, int hID, const std::string& title, int binsX,
0182 double lowX, double highX, int binsY, double lowY, double highY ) = 0;
0183 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
0184 int binsX, double lowX, double highX, int binsY, double lowY, double highY ) = 0;
0185 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
0186 double highX, int binsY, double lowY, double highY ) = 0;
0187
0188
0189
0190
0191
0192 virtual AIDA::IHistogram2D* book( const std::string& fullPath, const std::string& title, std::vector<double> edgesX,
0193 std::vector<double> edgesY ) = 0;
0194 virtual AIDA::IHistogram2D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
0195 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0196 virtual AIDA::IHistogram2D* book( const std::string& dirPath, int hID, const std::string& title,
0197 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0198 virtual AIDA::IHistogram2D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
0199 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0200 virtual AIDA::IHistogram2D* book( DataObject* pParent, int hID, const std::string& title, std::vector<double> edgesX,
0201 std::vector<double> edgesY ) = 0;
0202
0203
0204
0205
0206
0207 virtual AIDA::IProfile2D* bookProf( const std::string& fullPath, const std::string& title, std::vector<double> edgesX,
0208 std::vector<double> edgesY ) = 0;
0209 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, const std::string& relPath, const std::string& title,
0210 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0211 virtual AIDA::IProfile2D* bookProf( const std::string& dirPath, int hID, const std::string& title,
0212 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0213 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, const std::string& relPath, const std::string& title,
0214 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0215 virtual AIDA::IProfile2D* bookProf( DataObject* pParent, int hID, const std::string& title,
0216 std::vector<double> edgesX, std::vector<double> edgesY ) = 0;
0217
0218
0219
0220
0221
0222 virtual AIDA::IHistogram3D* book( const std::string& fullPath, const std::string& title, int binsX, double lowX,
0223 double highX, int binsY, double lowY, double highY, int binsZ, double lowZ,
0224 double highZ ) = 0;
0225 virtual AIDA::IHistogram3D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
0226 int binsX, double lowX, double highX, int binsY, double lowY, double highY,
0227 int binsZ, double lowZ, double highZ ) = 0;
0228 virtual AIDA::IHistogram3D* book( const std::string& dirPath, int hID, const std::string& title, int binsX,
0229 double lowX, double highX, int binsY, double lowY, double highY, int binsZ,
0230 double lowZ, double highZ ) = 0;
0231 virtual AIDA::IHistogram3D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
0232 int binsX, double lowX, double highX, int binsY, double lowY, double highY,
0233 int binsZ, double lowZ, double highZ ) = 0;
0234 virtual AIDA::IHistogram3D* book( DataObject* pParent, int hID, const std::string& title, int binsX, double lowX,
0235 double highX, int binsY, double lowY, double highY, int binsZ, double lowZ,
0236 double highZ ) = 0;
0237
0238
0239
0240
0241
0242 virtual AIDA::IHistogram3D* book( const std::string& fullPath, const std::string& title, std::vector<double> edgesX,
0243 std::vector<double> edgesY, std::vector<double> edgesZ ) = 0;
0244 virtual AIDA::IHistogram3D* book( const std::string& dirPath, const std::string& relPath, const std::string& title,
0245 std::vector<double> edgesX, std::vector<double> edgesY,
0246 std::vector<double> edgesZ ) = 0;
0247 virtual AIDA::IHistogram3D* book( const std::string& dirPath, int hID, const std::string& title,
0248 std::vector<double> edgesX, std::vector<double> edgesY,
0249 std::vector<double> edgesZ ) = 0;
0250 virtual AIDA::IHistogram3D* book( DataObject* pParent, const std::string& relPath, const std::string& title,
0251 std::vector<double> edgesX, std::vector<double> edgesY,
0252 std::vector<double> edgesZ ) = 0;
0253 virtual AIDA::IHistogram3D* book( DataObject* pParent, int hID, const std::string& title, std::vector<double> edgesX,
0254 std::vector<double> edgesY, std::vector<double> edgesZ ) = 0;
0255
0256
0257
0258
0259
0260 using IDataProviderSvc::registerObject;
0261 virtual StatusCode registerObject( const std::string& fullPath, AIDA::IBaseHistogram* hObj ) = 0;
0262
0263 virtual StatusCode registerObject( const std::string& parentPath, const std::string& objPath,
0264 AIDA::IBaseHistogram* hObj ) = 0;
0265
0266 StatusCode registerObject( const std::string& parentPath, int item, AIDA::IBaseHistogram* hObj ) {
0267 return registerObject( parentPath, std::to_string( item ), hObj );
0268 }
0269
0270 virtual StatusCode registerObject( DataObject* parentObj, const std::string& objPath,
0271 AIDA::IBaseHistogram* hObj ) = 0;
0272 virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0273 AIDA::IBaseHistogram* hObj ) = 0;
0274
0275 StatusCode registerObject( DataObject* parentObj, int item, AIDA::IBaseHistogram* hObj ) {
0276 return registerObject( parentObj, std::to_string( item ), hObj );
0277 }
0278
0279 StatusCode registerObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IBaseHistogram* hObj ) {
0280 return registerObject( parentObj, std::to_string( item ), hObj );
0281 }
0282
0283
0284
0285
0286
0287 using IDataProviderSvc::unregisterObject;
0288 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
0289
0290 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj, const std::string& objectPath ) = 0;
0291
0292 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj, int item ) = 0;
0293
0294
0295
0296
0297
0298 using IDataProviderSvc::retrieveObject;
0299 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram1D*& h1dObj ) = 0;
0300 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile1D*& h1dObj ) = 0;
0301 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram2D*& h2dObj ) = 0;
0302 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile2D*& h2dObj ) = 0;
0303 virtual StatusCode retrieveObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram3D*& h3dObj ) = 0;
0304
0305 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IHistogram1D*& h1dObj ) = 0;
0306 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IProfile1D*& h1dObj ) = 0;
0307 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IHistogram2D*& h2dObj ) = 0;
0308 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IProfile2D*& h2dObj ) = 0;
0309 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::IHistogram3D*& h3dObj ) = 0;
0310
0311 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
0312 AIDA::IHistogram1D*& h1dObj ) = 0;
0313 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
0314 AIDA::IProfile1D*& h1dObj ) = 0;
0315 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
0316 AIDA::IHistogram2D*& h2dObj ) = 0;
0317 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
0318 AIDA::IProfile2D*& h2dObj ) = 0;
0319 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
0320 AIDA::IHistogram3D*& h3dObj ) = 0;
0321
0322 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
0323 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IProfile1D*& h1dObj ) = 0;
0324 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
0325 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IProfile2D*& h2dObj ) = 0;
0326 virtual StatusCode retrieveObject( const std::string& parentPath, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
0327
0328 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath,
0329 AIDA::IHistogram1D*& h1dObj ) = 0;
0330 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile1D*& h1dObj ) = 0;
0331 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath,
0332 AIDA::IHistogram2D*& h2dObj ) = 0;
0333 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile2D*& h2dObj ) = 0;
0334 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath,
0335 AIDA::IHistogram3D*& h3dObj ) = 0;
0336 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0337 AIDA::IHistogram1D*& h1dObj ) = 0;
0338 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0339 AIDA::IProfile1D*& h1dObj ) = 0;
0340 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0341 AIDA::IHistogram2D*& h2dObj ) = 0;
0342 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0343 AIDA::IProfile2D*& h2dObj ) = 0;
0344 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0345 AIDA::IHistogram3D*& h3dObj ) = 0;
0346
0347 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
0348 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
0349 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
0350 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
0351 virtual StatusCode retrieveObject( DataObject* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
0352 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
0353 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
0354 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
0355 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
0356 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
0357
0358
0359
0360
0361
0362 using IDataProviderSvc::findObject;
0363 virtual StatusCode findObject( const std::string& fullPath, AIDA::IHistogram1D*& h1dObj ) = 0;
0364 virtual StatusCode findObject( const std::string& fullPath, AIDA::IProfile1D*& h1dObj ) = 0;
0365 virtual StatusCode findObject( const std::string& fullPath, AIDA::IHistogram2D*& h2dObj ) = 0;
0366 virtual StatusCode findObject( const std::string& fullPath, AIDA::IProfile2D*& h2dObj ) = 0;
0367 virtual StatusCode findObject( const std::string& fullPath, AIDA::IHistogram3D*& h3dObj ) = 0;
0368
0369 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram1D*& h1dObj ) = 0;
0370 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile1D*& h1dObj ) = 0;
0371 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram2D*& h2dObj ) = 0;
0372 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IProfile2D*& h2dObj ) = 0;
0373 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::IHistogram3D*& h2dObj ) = 0;
0374
0375 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
0376 AIDA::IHistogram1D*& h1dObj ) = 0;
0377 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
0378 AIDA::IProfile1D*& h1dObj ) = 0;
0379 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
0380 AIDA::IHistogram2D*& h2dObj ) = 0;
0381 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
0382 AIDA::IProfile2D*& h2dObj ) = 0;
0383 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath,
0384 AIDA::IHistogram3D*& h3dObj ) = 0;
0385
0386 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
0387 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IProfile1D*& h1dObj ) = 0;
0388 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
0389 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IProfile2D*& h2dObj ) = 0;
0390 virtual StatusCode findObject( const std::string& parentPath, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
0391
0392 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IHistogram1D*& h1dObj ) = 0;
0393 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile1D*& h1dObj ) = 0;
0394 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IHistogram2D*& h2dObj ) = 0;
0395 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IProfile2D*& h2dObj ) = 0;
0396 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::IHistogram3D*& h3dObj ) = 0;
0397 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0398 AIDA::IHistogram1D*& h1dObj ) = 0;
0399 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0400 AIDA::IProfile1D*& h1dObj ) = 0;
0401 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0402 AIDA::IHistogram2D*& h2dObj ) = 0;
0403 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0404 AIDA::IProfile2D*& h2dObj ) = 0;
0405 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, const std::string& objPath,
0406 AIDA::IHistogram3D*& h3dObj ) = 0;
0407
0408 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
0409 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
0410 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
0411 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
0412 virtual StatusCode findObject( DataObject* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
0413 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram1D*& h1dObj ) = 0;
0414 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile1D*& h1dObj ) = 0;
0415 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram2D*& h2dObj ) = 0;
0416 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IProfile2D*& h2dObj ) = 0;
0417 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj, int item, AIDA::IHistogram3D*& h3dObj ) = 0;
0418
0419
0420
0421
0422
0423
0424
0425
0426 virtual std::ostream& print( AIDA::IBaseHistogram* h, std::ostream& s = std::cout ) const = 0;
0427
0428
0429
0430
0431
0432 virtual std::ostream& write( AIDA::IBaseHistogram* h, std::ostream& s = std::cout ) const = 0;
0433
0434
0435 virtual int write( AIDA::IBaseHistogram* h, const char* file_name ) const = 0;
0436
0437
0438
0439
0440
0441 virtual DataObject* createPath( const std::string& newPath ) = 0;
0442
0443
0444
0445
0446
0447
0448 virtual DataObject* createDirectory( const std::string& parentDir, const std::string& subDir ) = 0;
0449 };
0450
0451 #endif