1 #ifndef GAUDIKERNEL_IHISTOGRAMSVC_H 2 #define GAUDIKERNEL_IHISTOGRAMSVC_H 24 class IHistogramFactory;
29 using AIDA::IAnnotation;
31 using AIDA::IBaseHistogram;
32 using AIDA::IHistogram;
33 using AIDA::IHistogram1D;
34 using AIDA::IHistogram2D;
35 using AIDA::IHistogram3D;
36 using AIDA::IHistogramFactory;
37 using AIDA::IProfile1D;
38 using AIDA::IProfile2D;
52 virtual AIDA::IHistogramFactory* histogramFactory() = 0;
77 int binsX,
double lowX,
double highX ) = 0;
79 double lowX,
double highX ) = 0;
81 int binsX,
double lowX,
double highX ) = 0;
92 int binsX,
double lowX,
double highX,
const std::string& opt =
"" ) = 0;
94 double lowX,
double highX,
const std::string& opt =
"" ) = 0;
96 int binsX,
double lowX,
double highX,
const std::string& opt =
"" ) = 0;
105 double highX,
double lowY,
double highY,
const std::string& opt =
"s" ) = 0;
107 int binsX,
double lowX,
double highX,
double lowY,
double highY,
110 double lowX,
double highX,
double lowY,
double highY,
113 int binsX,
double lowX,
double highX,
double lowY,
double highY,
116 double highX,
double lowY,
double highY,
const std::string& opt =
"s" ) = 0;
153 double highX,
int binsY,
double lowY,
double highY ) = 0;
155 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
157 double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
159 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
161 double highX,
int binsY,
double lowY,
double highY ) = 0;
168 double highX,
int binsY,
double lowY,
double highY ) = 0;
170 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
172 double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
174 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY ) = 0;
176 double highX,
int binsY,
double lowY,
double highY ) = 0;
213 double highX,
int binsY,
double lowY,
double highY,
int binsZ,
double lowZ,
216 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY,
217 int binsZ,
double lowZ,
double highZ ) = 0;
219 double lowX,
double highX,
int binsY,
double lowY,
double highY,
int binsZ,
220 double lowZ,
double highZ ) = 0;
222 int binsX,
double lowX,
double highX,
int binsY,
double lowY,
double highY,
223 int binsZ,
double lowZ,
double highZ ) = 0;
225 double highX,
int binsY,
double lowY,
double highY,
int binsZ,
double lowZ,
254 AIDA::IBaseHistogram* hObj ) = 0;
257 return registerObject( parentPath,
std::to_string( item ), hObj );
261 AIDA::IBaseHistogram* hObj ) = 0;
263 AIDA::IBaseHistogram* hObj ) = 0;
278 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj ) = 0;
280 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
const std::string& objectPath ) = 0;
282 virtual StatusCode unregisterObject( AIDA::IBaseHistogram* hObj,
int item ) = 0;
302 AIDA::IHistogram1D*& h1dObj ) = 0;
304 AIDA::IProfile1D*& h1dObj ) = 0;
306 AIDA::IHistogram2D*& h2dObj ) = 0;
308 AIDA::IProfile2D*& h2dObj ) = 0;
310 AIDA::IHistogram3D*& h3dObj ) = 0;
312 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
313 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
314 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
315 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
316 virtual StatusCode retrieveObject(
const std::string& parentPath,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
319 AIDA::IHistogram1D*& h1dObj ) = 0;
322 AIDA::IHistogram2D*& h2dObj ) = 0;
325 AIDA::IHistogram3D*& h3dObj ) = 0;
327 AIDA::IHistogram1D*& h1dObj ) = 0;
329 AIDA::IProfile1D*& h1dObj ) = 0;
331 AIDA::IHistogram2D*& h2dObj ) = 0;
333 AIDA::IProfile2D*& h2dObj ) = 0;
335 AIDA::IHistogram3D*& h3dObj ) = 0;
337 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
338 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
339 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
340 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
341 virtual StatusCode retrieveObject(
DataObject* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
342 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
343 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
344 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
345 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
346 virtual StatusCode retrieveObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
366 AIDA::IHistogram1D*& h1dObj ) = 0;
368 AIDA::IProfile1D*& h1dObj ) = 0;
370 AIDA::IHistogram2D*& h2dObj ) = 0;
372 AIDA::IProfile2D*& h2dObj ) = 0;
374 AIDA::IHistogram3D*& h3dObj ) = 0;
376 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
377 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
378 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
379 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
380 virtual StatusCode findObject(
const std::string& parentPath,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
388 AIDA::IHistogram1D*& h1dObj ) = 0;
390 AIDA::IProfile1D*& h1dObj ) = 0;
392 AIDA::IHistogram2D*& h2dObj ) = 0;
394 AIDA::IProfile2D*& h2dObj ) = 0;
396 AIDA::IHistogram3D*& h3dObj ) = 0;
398 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
399 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
400 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
401 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
402 virtual StatusCode findObject(
DataObject* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
403 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram1D*& h1dObj ) = 0;
404 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile1D*& h1dObj ) = 0;
405 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram2D*& h2dObj ) = 0;
406 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IProfile2D*& h2dObj ) = 0;
407 virtual StatusCode findObject( AIDA::IBaseHistogram* parentObj,
int item, AIDA::IHistogram3D*& h3dObj ) = 0;
425 virtual int write( AIDA::IBaseHistogram* h,
const char* file_name )
const = 0;
441 #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.