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,
256 AIDA::IBaseHistogram* hObj ) = 0;
260 return registerObject( parentPath,
std::to_string( item ), hObj );
264 AIDA::IBaseHistogram* hObj ) = 0;
266 AIDA::IBaseHistogram* hObj ) = 0;
283 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
285 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
const std::string& objectPath ) = 0;
287 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
int item ) = 0;
307 AIDA::IHistogram1D*& h1dObj ) = 0;
309 AIDA::IProfile1D*& h1dObj ) = 0;
311 AIDA::IHistogram2D*& h2dObj ) = 0;
313 AIDA::IProfile2D*& h2dObj ) = 0;
315 AIDA::IHistogram3D*& h3dObj ) = 0;
317 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
318 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
319 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
320 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
321 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
324 AIDA::IHistogram1D*& h1dObj ) = 0;
327 AIDA::IHistogram2D*& h2dObj ) = 0;
330 AIDA::IHistogram3D*& h3dObj ) = 0;
332 AIDA::IHistogram1D*& h1dObj ) = 0;
334 AIDA::IProfile1D*& h1dObj ) = 0;
336 AIDA::IHistogram2D*& h2dObj ) = 0;
338 AIDA::IProfile2D*& h2dObj ) = 0;
340 AIDA::IHistogram3D*& h3dObj ) = 0;
342 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
343 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
344 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
345 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
346 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
347 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
348 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
349 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
350 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
351 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
371 AIDA::IHistogram1D*& h1dObj ) = 0;
373 AIDA::IProfile1D*& h1dObj ) = 0;
375 AIDA::IHistogram2D*& h2dObj ) = 0;
377 AIDA::IProfile2D*& h2dObj ) = 0;
379 AIDA::IHistogram3D*& h3dObj ) = 0;
381 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
382 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
383 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
384 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
385 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
393 AIDA::IHistogram1D*& h1dObj ) = 0;
395 AIDA::IProfile1D*& h1dObj ) = 0;
397 AIDA::IHistogram2D*& h2dObj ) = 0;
399 AIDA::IProfile2D*& h2dObj ) = 0;
401 AIDA::IHistogram3D*& h3dObj ) = 0;
403 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
404 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
405 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
406 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
407 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
408 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
409 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
410 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
411 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
412 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
430 virtual int write( AIDA::IBaseHistogram* h,
const char* file_name )
const = 0;
446 #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.
StatusCode registerObject(DataObject *parentObj, int item, AIDA::IBaseHistogram *hObj)
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...
StatusCode registerObject(const std::string &parentPath, int item, AIDA::IBaseHistogram *hObj)
StatusCode registerObject(AIDA::IBaseHistogram *parentObj, int item, AIDA::IBaseHistogram *hObj)
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.
StatusCode registerObject(boost::string_ref fullPath, DataObject *pObject)
Register object with the data store.
virtual StatusCode unregisterObject(boost::string_ref fullPath)=0
Unregister object from the data store.
def bookProf(args, kwargs)
A DataObject is the base class of any identifiable object on any data store.