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;
79 int binsX,
double lowX,
double highX ) = 0;
81 double lowX,
double highX ) = 0;
83 int binsX,
double lowX,
double highX ) = 0;
94 int binsX,
double lowX,
double highX,
const std::string& opt =
"" ) = 0;
96 double lowX,
double highX,
const std::string& opt =
"" ) = 0;
98 int binsX,
double lowX,
double highX,
const std::string& opt =
"" ) = 0;
107 double highX,
double lowY,
double highY,
const std::string& opt =
"s" ) = 0;
109 int binsX,
double lowX,
double highX,
double lowY,
double highY,
112 double lowX,
double highX,
double lowY,
double highY,
115 int binsX,
double lowX,
double highX,
double lowY,
double highY,
118 double highX,
double lowY,
double highY,
const std::string& opt =
"s" ) = 0;
155 double highX,
int binsY,
double lowY,
double highY ) = 0;
157 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
159 double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
161 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
163 double highX,
int binsY,
double lowY,
double highY ) = 0;
170 double highX,
int binsY,
double lowY,
double highY ) = 0;
172 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
174 double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
176 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
178 double highX,
int binsY,
double lowY,
double highY ) = 0;
215 double highX,
int binsY,
double lowY,
double highY,
int binsZ,
double lowZ,
218 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY,
219 int binsZ,
double lowZ,
double highZ ) = 0;
221 double lowX,
double highX,
int binsY,
double lowY,
double highY,
int binsZ,
222 double lowZ,
double highZ ) = 0;
224 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY,
225 int binsZ,
double lowZ,
double highZ ) = 0;
227 double highX,
int binsY,
double lowY,
double highY,
int binsZ,
double lowZ,
255 AIDA::IBaseHistogram* hObj ) = 0;
257 virtual StatusCode registerObject(
const std::string& parentPath,
int item, AIDA::IBaseHistogram* hObj ) = 0;
260 AIDA::IBaseHistogram* hObj ) = 0;
262 AIDA::IBaseHistogram* hObj ) = 0;
264 virtual StatusCode registerObject(
DataObject* parentObj,
int item, AIDA::IBaseHistogram* hObj ) = 0;
265 virtual StatusCode registerObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IBaseHistogram* hObj ) = 0;
271 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
273 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
const std::string& objectPath ) = 0;
275 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
int item ) = 0;
294 AIDA::IHistogram1D*& h1dObj ) = 0;
296 AIDA::IProfile1D*& h1dObj ) = 0;
298 AIDA::IHistogram2D*& h2dObj ) = 0;
300 AIDA::IProfile2D*& h2dObj ) = 0;
302 AIDA::IHistogram3D*& h3dObj ) = 0;
304 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
305 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
306 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
307 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
308 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
311 AIDA::IHistogram1D*& h1dObj ) = 0;
314 AIDA::IHistogram2D*& h2dObj ) = 0;
317 AIDA::IHistogram3D*& h3dObj ) = 0;
319 AIDA::IHistogram1D*& h1dObj ) = 0;
321 AIDA::IProfile1D*& h1dObj ) = 0;
323 AIDA::IHistogram2D*& h2dObj ) = 0;
325 AIDA::IProfile2D*& h2dObj ) = 0;
327 AIDA::IHistogram3D*& h3dObj ) = 0;
329 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
330 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
331 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
332 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
333 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
334 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
335 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
336 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
337 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
338 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
357 AIDA::IHistogram1D*& h1dObj ) = 0;
359 AIDA::IProfile1D*& h1dObj ) = 0;
361 AIDA::IHistogram2D*& h2dObj ) = 0;
363 AIDA::IProfile2D*& h2dObj ) = 0;
365 AIDA::IHistogram3D*& h3dObj ) = 0;
367 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
368 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
369 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
370 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
371 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
379 AIDA::IHistogram1D*& h1dObj ) = 0;
381 AIDA::IProfile1D*& h1dObj ) = 0;
383 AIDA::IHistogram2D*& h2dObj ) = 0;
385 AIDA::IProfile2D*& h2dObj ) = 0;
387 AIDA::IHistogram3D*& h3dObj ) = 0;
389 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
390 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
391 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
392 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
393 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
394 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
395 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
396 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
397 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
398 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
416 virtual int write( AIDA::IBaseHistogram* h,
const char* file_name )
const = 0;
438 #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
virtual StatusCode findObject(IRegistry *pDirectory, boost::string_ref path, DataObject *&pObject)=0
Find object identified by its directory entry.
Data provider interface definition.
This class is used for returning status codes from appropriate routines.
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition of the IHistogramSvc interface class.
virtual StatusCode retrieveObject(IRegistry *pDirectory, boost::string_ref path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
virtual StatusCode unregisterObject(boost::string_ref fullPath)=0
Unregister object from the data store.
def bookProf(args, kwargs)
virtual StatusCode registerObject(boost::string_ref fullPath, DataObject *pObject)=0
Register object with the data store.
A DataObject is the base class of any identifiable object on any data store.