The Gaudi Framework  v36r9p1 (5c15b2bb)
HistogramSvc Class Reference

#include </builds/gaudi/Gaudi/GaudiCommonSvc/include/GaudiCommonSvc/HistogramSvc.h>

Inheritance diagram for HistogramSvc:
Collaboration diagram for HistogramSvc:

Classes

struct  Helper
 

Public Types

using Edges = std::vector< double >
 
using DBaseEntries = std::vector< std::string >
 
typedef std::map< std::string, Gaudi::Histo1DDefHisto1DMap
 
- Public Types inherited from extends< DataSvc, IHistogramSvc >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
- Public Types inherited from extends< Service, IDataProviderSvc, IDataManagerSvc >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
- Public Types inherited from Service
using Factory = Gaudi::PluginService::Factory< IService *(const std::string &, ISvcLocator *)>
 
- Public Types inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
using PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
 Typedef used to refer to this class from derived classes, as in. More...
 
- Public Types inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
using base_class = CommonMessaging
 
- Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
 take union of the ext_iids of all Interfaces... More...
 

Public Member Functions

 HistogramSvc (const std::string &name, ISvcLocator *svc)
 Statndard Constructor. More...
 
 ~HistogramSvc () override
 Destructor. More...
 
std::pair< std::string, std::stringi_splitPath (const std::string &full)
 Split full path into its components. More...
 
StatusCode connectInput (const std::string &ident)
 Connect input histogram file to the service. More...
 
template<class T >
T * i_book (DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
 
AIDA::IHistogram2D * i_project (const std::string &nameAndTitle, const AIDA::IHistogram3D &h, const std::string &dir)
 Helper for 2D projections. More...
 
StatusCode initialize () override
 Initialise the service. More...
 
StatusCode reinitialize () override
 Initialise the service. More...
 
StatusCode finalize () override
 finalize the service More...
 
AIDA::IHistogramFactory * histogramFactory () override
 Retrieve the AIDA HistogramFactory interface. More...
 
AIDA::IHistogram1D * book (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IHistogram1D * book (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx) override
 
AIDA::IHistogram1D * book (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx) override
 
AIDA::IHistogram1D * book (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx) override
 
virtual AIDA::IHistogram1D * book (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx)
 
AIDA::IHistogram1D * book (const std::string &full, const std::string &title, int nx, double lowx, double upx) override
 
AIDA::IProfile1D * bookProf (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IProfile1D * bookProf (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
 
AIDA::IProfile1D * bookProf (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
 
virtual AIDA::IProfile1D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx, const std::string &opt)
 
AIDA::IProfile1D * bookProf (const std::string &full, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
 
AIDA::IProfile1D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
 
AIDA::IProfile1D * bookProf (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt) override
 
AIDA::IProfile1D * bookProf (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt) override
 
AIDA::IProfile1D * bookProf (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt) override
 
virtual AIDA::IProfile1D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt)
 
AIDA::IProfile1D * bookProf (const std::string &full, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt) override
 
AIDA::IProfile1D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt) override
 
AIDA::IHistogram1D * book (const std::string &par, int hID, const std::string &title, Edges e) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IHistogram1D * book (DataObject *pPar, int hID, const std::string &title, Edges e) override
 
AIDA::IHistogram1D * book (const std::string &par, const std::string &rel, const std::string &title, Edges e) override
 
virtual AIDA::IHistogram1D * book (const std::pair< std::string, std::string > &loc, const std::string &title, Edges e)
 
AIDA::IHistogram1D * book (const std::string &full, const std::string &title, Edges e) override
 
AIDA::IHistogram1D * book (DataObject *pPar, const std::string &rel, const std::string &title, Edges e) override
 
AIDA::IProfile1D * bookProf (const std::string &full, const std::string &title, Edges e) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IProfile1D * bookProf (const std::string &par, const std::string &rel, const std::string &title, Edges e) override
 
AIDA::IProfile1D * bookProf (const std::string &par, int hID, const std::string &title, Edges e) override
 
AIDA::IProfile1D * bookProf (DataObject *pPar, int hID, const std::string &title, Edges e) override
 
virtual AIDA::IProfile1D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, Edges e)
 
AIDA::IProfile1D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, Edges e) override
 
virtual AIDA::IProfile1D * bookProf (const std::string &full, const std::string &title, Edges e, double upper, double lower)
 
virtual AIDA::IProfile1D * bookProf (const std::string &par, const std::string &rel, const std::string &title, Edges e, double upper, double lower)
 
virtual AIDA::IProfile1D * bookProf (const std::string &par, int hID, const std::string &title, Edges e, double upper, double lower)
 
virtual AIDA::IProfile1D * bookProf (DataObject *pPar, int hID, const std::string &title, Edges e, double upper, double lower)
 
virtual AIDA::IProfile1D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, Edges e, double upper, double lower)
 
virtual AIDA::IProfile1D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, Edges e, double upper, double lower)
 
AIDA::IHistogram2D * book (const std::string &full, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IHistogram2D * book (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IHistogram2D * book (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
virtual AIDA::IHistogram2D * book (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy)
 
AIDA::IHistogram2D * book (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IHistogram2D * book (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
virtual AIDA::IProfile2D * bookProf (const std::string &full, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 Book histogram and register it with the histogram data store. More...
 
virtual AIDA::IProfile2D * bookProf (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 
AIDA::IProfile2D * bookProf (const std::string &full, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IProfile2D * bookProf (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
virtual AIDA::IProfile2D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy)
 
AIDA::IProfile2D * bookProf (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IProfile2D * bookProf (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IProfile2D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IHistogram2D * book (const std::string &full, const std::string &title, Edges x, Edges y) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IHistogram2D * book (const std::string &par, const std::string &rel, const std::string &title, Edges x, Edges y) override
 
AIDA::IHistogram2D * book (const std::string &par, int hID, const std::string &title, Edges x, Edges y) override
 
virtual AIDA::IHistogram2D * book (const std::pair< std::string, std::string > &loc, const std::string &title, Edges x, Edges y)
 
AIDA::IHistogram2D * book (DataObject *pPar, int hID, const std::string &title, Edges x, Edges y) override
 
AIDA::IHistogram2D * book (DataObject *pPar, const std::string &rel, const std::string &title, Edges x, Edges y) override
 
AIDA::IProfile2D * bookProf (const std::string &full, const std::string &title, Edges x, Edges y) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IProfile2D * bookProf (const std::string &par, const std::string &rel, const std::string &title, Edges x, Edges y) override
 
AIDA::IProfile2D * bookProf (const std::string &par, int hID, const std::string &title, Edges x, Edges y) override
 
AIDA::IProfile2D * bookProf (DataObject *pPar, int hID, const std::string &title, Edges x, Edges y) override
 
virtual AIDA::IProfile2D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, Edges x, Edges y)
 
AIDA::IProfile2D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, Edges x, Edges y) override
 
virtual AIDA::IProfile2D * bookProf (const std::string &full, const std::string &title, Edges x, Edges y, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (const std::string &par, const std::string &rel, const std::string &title, Edges x, Edges y, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (const std::string &par, int hID, const std::string &title, Edges x, Edges y, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (DataObject *pPar, int hID, const std::string &title, Edges x, Edges y, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (const std::pair< std::string, std::string > &loc, const std::string &title, Edges x, Edges y, double upper, double lower)
 
virtual AIDA::IProfile2D * bookProf (DataObject *pPar, const std::string &rel, const std::string &title, Edges x, Edges y, double upper, double lower)
 
AIDA::IHistogram3D * book (const std::string &full, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IHistogram3D * book (const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz) override
 
AIDA::IHistogram3D * book (const std::string &par, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz) override
 
AIDA::IHistogram3D * book (DataObject *pPar, int hID, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz) override
 
virtual AIDA::IHistogram3D * book (const std::pair< std::string, std::string > &loc, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz)
 
AIDA::IHistogram3D * book (DataObject *pPar, const std::string &rel, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz) override
 
AIDA::IHistogram3D * book (const std::string &full, const std::string &title, Edges x, Edges y, Edges z) override
 Book histogram and register it with the histogram data store. More...
 
AIDA::IHistogram3D * book (const std::string &par, const std::string &rel, const std::string &title, Edges x, Edges y, Edges z) override
 
AIDA::IHistogram3D * book (const std::string &par, int hID, const std::string &title, Edges x, Edges y, Edges z) override
 
AIDA::IHistogram3D * book (DataObject *pPar, int hID, const std::string &title, Edges x, Edges y, Edges z) override
 
virtual AIDA::IHistogram3D * book (const std::pair< std::string, std::string > &loc, const std::string &title, Edges x, Edges y, Edges z)
 
AIDA::IHistogram3D * book (DataObject *pPar, const std::string &rel, const std::string &title, Edges x, Edges y, Edges z) override
 
StatusCode registerObject (const std::string &parent, const std::string &rel, Base *obj) override
 
StatusCode registerObject (Base *pPar, const std::string &rel, Base *obj) override
 
StatusCode registerObject (const std::string &full, Base *obj) override
 
StatusCode registerObject (DataObject *pPar, const std::string &rel, Base *obj) override
 
StatusCode unregisterObject (Base *obj) override
 
StatusCode unregisterObject (Base *obj, const std::string &objectPath) override
 
StatusCode unregisterObject (Base *obj, int item) override
 
StatusCode retrieveObject (IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, const std::string &path, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, const std::string &path, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, const std::string &path, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (const std::string &full, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (const std::string &full, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (const std::string &full, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (const std::string &full, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (const std::string &full, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, const std::string &rel, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, const std::string &rel, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, const std::string &rel, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, const std::string &rel, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, const std::string &rel, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, int item, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, int item, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, int item, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, int item, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (const std::string &parent, int item, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (DataObject *par, const std::string &item, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, const std::string &item, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, const std::string &item, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, const std::string &item, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, const std::string &item, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, AIDA::IHistogram3D *&obj) override
 
StatusCode retrieveObject (Base *par, const std::string &item, AIDA::IProfile1D *&obj) override
 
StatusCode retrieveObject (Base *par, const std::string &item, AIDA::IProfile2D *&obj) override
 
StatusCode retrieveObject (Base *par, const std::string &item, AIDA::IHistogram1D *&obj) override
 
StatusCode retrieveObject (Base *par, const std::string &item, AIDA::IHistogram2D *&obj) override
 
StatusCode retrieveObject (Base *par, const std::string &item, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (IRegistry *pReg, const std::string &path, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (IRegistry *pReg, const std::string &path, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (IRegistry *pReg, const std::string &path, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (const std::string &full, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (const std::string &full, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (const std::string &full, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (const std::string &full, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (const std::string &full, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (const std::string &par, const std::string &rel, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (const std::string &par, const std::string &rel, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (const std::string &par, const std::string &rel, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (const std::string &par, const std::string &rel, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (const std::string &par, const std::string &rel, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (const std::string &par, int item, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (const std::string &par, int item, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (const std::string &par, int item, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (const std::string &par, int item, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (const std::string &par, int item, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (DataObject *par, int item, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (DataObject *par, int item, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (DataObject *par, int item, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (DataObject *par, int item, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (DataObject *par, int item, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (DataObject *par, const std::string &item, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (DataObject *par, const std::string &item, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (DataObject *par, const std::string &item, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (DataObject *par, const std::string &item, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (DataObject *par, const std::string &item, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (Base *par, int item, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (Base *par, int item, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (Base *par, int item, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (Base *par, int item, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (Base *par, int item, AIDA::IHistogram3D *&obj) override
 
StatusCode findObject (Base *par, const std::string &item, AIDA::IProfile1D *&obj) override
 
StatusCode findObject (Base *par, const std::string &item, AIDA::IProfile2D *&obj) override
 
StatusCode findObject (Base *par, const std::string &item, AIDA::IHistogram1D *&obj) override
 
StatusCode findObject (Base *par, const std::string &item, AIDA::IHistogram2D *&obj) override
 
StatusCode findObject (Base *par, const std::string &item, AIDA::IHistogram3D *&obj) override
 
AIDA::IHistogram1D * projectionX (const std::string &name, const AIDA::IHistogram2D &h) override
 
AIDA::IHistogram1D * projectionY (const std::string &name, const AIDA::IHistogram2D &h) override
 
AIDA::IHistogram1D * sliceX (const std::string &name, const AIDA::IHistogram2D &h, int indexY) override
 
AIDA::IHistogram1D * sliceY (const std::string &name, const AIDA::IHistogram2D &h, int indexX) override
 
AIDA::IHistogram1D * sliceX (const std::string &name, const AIDA::IHistogram2D &h, int indexY1, int indexY2) override
 
AIDA::IHistogram1D * sliceY (const std::string &name, const AIDA::IHistogram2D &h, int indexX1, int indexX2) override
 
bool destroy (IBaseHistogram *hist) override
 
AIDA::IHistogram1D * add (const std::string &nameAndTitle, const AIDA::IHistogram1D &a, const AIDA::IHistogram1D &b) override
 
AIDA::IHistogram1D * subtract (const std::string &nameAndTitle, const AIDA::IHistogram1D &a, const AIDA::IHistogram1D &b) override
 
AIDA::IHistogram1D * multiply (const std::string &nameAndTitle, const AIDA::IHistogram1D &a, const AIDA::IHistogram1D &b) override
 
AIDA::IHistogram1D * divide (const std::string &nameAndTitle, const AIDA::IHistogram1D &a, const AIDA::IHistogram1D &b) override
 
AIDA::IHistogram2D * add (const std::string &nameAndTitle, const AIDA::IHistogram2D &a, const AIDA::IHistogram2D &b) override
 
AIDA::IHistogram2D * subtract (const std::string &nameAndTitle, const AIDA::IHistogram2D &a, const AIDA::IHistogram2D &b) override
 
AIDA::IHistogram2D * multiply (const std::string &nameAndTitle, const AIDA::IHistogram2D &a, const AIDA::IHistogram2D &b) override
 
AIDA::IHistogram2D * divide (const std::string &nameAndTitle, const AIDA::IHistogram2D &a, const AIDA::IHistogram2D &b) override
 
AIDA::IHistogram3D * add (const std::string &nameAndTitle, const AIDA::IHistogram3D &a, const AIDA::IHistogram3D &b) override
 
AIDA::IHistogram3D * subtract (const std::string &nameAndTitle, const AIDA::IHistogram3D &a, const AIDA::IHistogram3D &b) override
 
AIDA::IHistogram3D * multiply (const std::string &nameAndTitle, const AIDA::IHistogram3D &a, const AIDA::IHistogram3D &b) override
 
AIDA::IHistogram3D * divide (const std::string &nameAndTitle, const AIDA::IHistogram3D &a, const AIDA::IHistogram3D &b) override
 
AIDA::IHistogram2D * projectionXY (const std::string &nameAndTitle, const AIDA::IHistogram3D &h) override
 
AIDA::IHistogram2D * projectionXZ (const std::string &nameAndTitle, const AIDA::IHistogram3D &h) override
 
AIDA::IHistogram2D * projectionYZ (const std::string &nameAndTitle, const AIDA::IHistogram3D &h) override
 
AIDA::IHistogram2D * sliceXY (const std::string &, const AIDA::IHistogram3D &, int, int) override
 
AIDA::IHistogram2D * sliceXZ (const std::string &, const AIDA::IHistogram3D &, int, int) override
 
AIDA::IHistogram2D * sliceYZ (const std::string &, const AIDA::IHistogram3D &, int, int) override
 
AIDA::IHistogram1D * createHistogram1D (const std::string &name, const std::string &title, int nx, double lowx, double upx)
 
AIDA::IHistogram1D * createHistogram1D (const std::string &name, const std::string &title, int nx, double lowx, double upx, const std::string &) override
 
AIDA::IHistogram1D * createHistogram1D (const std::string &name, const std::string &title, const Edges &x, const std::string &) override
 
AIDA::IHistogram1D * createHistogram1D (const std::string &nameAndTitle, int nx, double lowx, double upx) override
 
AIDA::IHistogram1D * createCopy (const std::string &full, const AIDA::IHistogram1D &h) override
 
AIDA::IHistogram1D * createCopy (const std::string &par, const std::string &rel, const AIDA::IHistogram1D &h)
 
AIDA::IHistogram1D * createCopy (const std::pair< std::string, std::string > &loc, const AIDA::IHistogram1D &h)
 
AIDA::IHistogram1D * createCopy (DataObject *pPar, const std::string &rel, const AIDA::IHistogram1D &h)
 
AIDA::IHistogram2D * createHistogram2D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy)
 
AIDA::IHistogram2D * createHistogram2D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, const std::string &) override
 
AIDA::IHistogram2D * createHistogram2D (const std::string &name, const std::string &title, const Edges &x, const Edges &y, const std::string &) override
 
AIDA::IHistogram2D * createHistogram2D (const std::string &nameAndTitle, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IHistogram2D * createCopy (const std::string &full, const AIDA::IHistogram2D &h) override
 
AIDA::IHistogram2D * createCopy (const std::string &par, const std::string &rel, const AIDA::IHistogram2D &h)
 
AIDA::IHistogram2D * createCopy (const std::pair< std::string, std::string > &loc, const AIDA::IHistogram2D &h)
 
AIDA::IHistogram2D * createCopy (DataObject *pPar, const std::string &rel, const AIDA::IHistogram2D &h)
 
AIDA::IHistogram3D * createHistogram3D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz)
 
AIDA::IHistogram3D * createHistogram3D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz, const std::string &) override
 
AIDA::IHistogram3D * createHistogram3D (const std::string &name, const std::string &title, const Edges &x, const Edges &y, const Edges &z, const std::string &) override
 
AIDA::IHistogram3D * createHistogram3D (const std::string &nameAndTitle, int nx, double lowx, double upx, int ny, double lowy, double upy, int nz, double lowz, double upz) override
 
AIDA::IHistogram3D * createCopy (const std::string &full, const AIDA::IHistogram3D &h) override
 
AIDA::IHistogram3D * createCopy (const std::string &par, const std::string &rel, const AIDA::IHistogram3D &h)
 
AIDA::IHistogram3D * createCopy (const std::pair< std::string, std::string > &loc, const AIDA::IHistogram3D &h)
 
AIDA::IHistogram3D * createCopy (DataObject *pPar, const std::string &rel, const AIDA::IHistogram3D &h)
 
AIDA::IProfile1D * createProfile1D (const std::string &name, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
 
AIDA::IProfile1D * createProfile1D (const std::string &name, const std::string &title, int nx, double lowx, double upx, double upper, double lower, const std::string &opt) override
 
AIDA::IProfile1D * createProfile1D (const std::string &name, const std::string &title, const Edges &x, const std::string &) override
 
AIDA::IProfile1D * createProfile1D (const std::string &name, const std::string &title, const Edges &x, double upper, double lower, const std::string &) override
 
AIDA::IProfile1D * createProfile1D (const std::string &nametit, int nx, double lowx, double upx) override
 
AIDA::IProfile1D * createProfile1D (const std::string &nametit, int nx, double lowx, double upx, double upper, double lower) override
 
AIDA::IProfile1D * createCopy (const std::string &full, const AIDA::IProfile1D &h) override
 
AIDA::IProfile1D * createCopy (const std::string &par, const std::string &rel, const AIDA::IProfile1D &h)
 
AIDA::IProfile1D * createCopy (const std::pair< std::string, std::string > &loc, const AIDA::IProfile1D &h)
 
AIDA::IProfile1D * createCopy (DataObject *pPar, const std::string &rel, const AIDA::IProfile1D &h)
 
AIDA::IProfile2D * createProfile2D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy)
 
AIDA::IProfile2D * createProfile2D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, const std::string &) override
 
AIDA::IProfile2D * createProfile2D (const std::string &name, const std::string &title, const Edges &x, const Edges &y, const std::string &) override
 
AIDA::IProfile2D * createProfile2D (const std::string &nameAndTitle, int nx, double lowx, double upx, int ny, double lowy, double upy) override
 
AIDA::IProfile2D * createProfile2D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower)
 
AIDA::IProfile2D * createProfile2D (const std::string &name, const std::string &title, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower, const std::string &) override
 
AIDA::IProfile2D * createProfile2D (const std::string &name, const std::string &title, const Edges &x, const Edges &y, double upper, double lower, const std::string &) override
 
AIDA::IProfile2D * createProfile2D (const std::string &nameAndTitle, int nx, double lowx, double upx, int ny, double lowy, double upy, double upper, double lower) override
 
AIDA::IProfile2D * createCopy (const std::string &full, const AIDA::IProfile2D &h) override
 
AIDA::IProfile2D * createCopy (const std::string &par, const std::string &rel, const AIDA::IProfile2D &h)
 
AIDA::IProfile2D * createCopy (const std::pair< std::string, std::string > &loc, const AIDA::IProfile2D &h)
 
AIDA::IProfile2D * createCopy (DataObject *pPar, const std::string &rel, const AIDA::IProfile2D &h)
 
AIDA::ICloud1D * createCloud1D (const std::string &, const std::string &, int, const std::string &) override
 
AIDA::ICloud1D * createCloud1D (const std::string &) override
 
AIDA::ICloud1D * createCopy (const std::string &, const AIDA::ICloud1D &) override
 
AIDA::ICloud2D * createCloud2D (const std::string &, const std::string &, int, const std::string &) override
 
AIDA::ICloud2D * createCloud2D (const std::string &) override
 
AIDA::ICloud2D * createCopy (const std::string &, const AIDA::ICloud2D &) override
 
AIDA::ICloud3D * createCloud3D (const std::string &, const std::string &, int, const std::string &) override
 
AIDA::ICloud3D * createCloud3D (const std::string &) override
 
AIDA::ICloud3D * createCopy (const std::string &, const AIDA::ICloud3D &) override
 
std::ostreamprint (Base *h, std::ostream &s=std::cout) const override
 Print (ASCII) the 1D histogram into the output stream. More...
 
std::ostreamwrite (Base *h, std::ostream &s=std::cout) const override
 Write (ASCII) the 1D histogram table into the output stream. More...
 
int write (Base *h, const char *file_name) const override
 Write (ASCII) the 1D histogram table into a file. More...
 
DataObjectcreatePath (const std::string &newPath) override
 Create all directories in a given full path. More...
 
DataObjectcreateDirectory (const std::string &parentDir, const std::string &subDir) override
 Create a sub-directory in a directory. More...
 
StatusCode registerObject (std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, std::string_view objPath, DataObject *pObject) override
 Register object with the data store. More...
 
virtual StatusCode findObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Avoids a compiler warning about hidden functions. More...
 
virtual StatusCode findObject (std::string_view fullPath, DataObject *&pObject)=0
 Avoids a compiler warning about hidden functions. More...
 
StatusCode findObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Avoids a compiler warning about hidden functions. More...
 
StatusCode findObject (std::string_view parentPath, int item, DataObject *&pObject)
 Avoids a compiler warning about hidden functions. More...
 
StatusCode findObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Avoids a compiler warning about hidden functions. More...
 
StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Avoids a compiler warning about hidden functions. More...
 
StatusCode registerObject (std::string_view fullPath, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode registerObject (std::string_view parentPath, std::string_view objectPath, DataObject *pObject)=0
 Register object with the data store. More...
 
StatusCode registerObject (std::string_view parentPath, int item, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode registerObject (DataObject *parentObj, std::string_view objectPath, DataObject *pObject)=0
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode retrieveObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Retrieve object identified by its directory entry. More...
 
StatusCode retrieveObject (std::string_view fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store. More...
 
StatusCode retrieveObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (std::string_view parentPath, int item, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store. More...
 
virtual StatusCode unregisterObject (std::string_view fullPath)=0
 Unregister object from the data store. More...
 
StatusCode unregisterObject (std::string_view parentPath, std::string_view objPath)
 Unregister object from the data store. More...
 
StatusCode unregisterObject (std::string_view parentPath, int item)
 Unregister object from the data store. More...
 
virtual StatusCode unregisterObject (DataObject *pObject)=0
 Unregister object from the data store. More...
 
virtual StatusCode unregisterObject (DataObject *pParent, std::string_view objPath)=0
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pParent, int item)
 Unregister object from the data store. More...
 
- Public Member Functions inherited from extends< DataSvc, IHistogramSvc >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
- Public Member Functions inherited from DataSvc
CLID rootCLID () const override
 IDataManagerSvc: Accessor for root event CLID. More...
 
const std::stringrootName () const override
 IDataManagerSvc: Accessor for root event name. More...
 
StatusCode registerAddress (std::string_view fullPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode registerAddress (IRegistry *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode unregisterAddress (std::string_view fullPath) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode unregisterAddress (IRegistry *pParent, std::string_view objPath) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &refLeaves) override
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object. More...
 
StatusCode objectLeaves (const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves) override
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object. More...
 
StatusCode objectParent (const DataObject *pObject, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent. More...
 
StatusCode objectParent (const IRegistry *pRegistry, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent. More...
 
StatusCode clearSubTree (std::string_view sub_tree_path) override
 IDataManagerSvc: Remove all data objects below the sub tree identified by its full path name. More...
 
StatusCode clearSubTree (DataObject *pObject) override
 IDataManagerSvc: Remove all data objects below the sub tree identified by the object. More...
 
StatusCode clearStore () override
 IDataManagerSvc: Remove all data objects in the data store. More...
 
StatusCode traverseSubTree (std::string_view sub_tree_path, IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree identified by its full path name. More...
 
StatusCode traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree. More...
 
StatusCode traverseTree (IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects in the data store. More...
 
StatusCode setRoot (std::string root_name, DataObject *pRootObj) override
 Initialize data store for new event by giving new event path and root object. More...
 
virtual StatusCode i_setRoot (std::string root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object. More...
 
StatusCode setRoot (std::string root_path, IOpaqueAddress *pRootAddr) override
 Initialize data store for new event by giving new event path and address of root object. More...
 
virtual StatusCode i_setRoot (std::string root_path, IOpaqueAddress *pRootAddr)
 Initialize data store for new event by giving new event path and address of root object. More...
 
StatusCode setDataLoader (IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr) override
 IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service and optionally a data provider. More...
 
StatusCode addPreLoadItem (const DataStoreItem &item) override
 Add an item to the preload list. More...
 
StatusCode removePreLoadItem (const DataStoreItem &item) override
 Remove an item from the preload list. More...
 
StatusCode resetPreLoad () override
 Clear the preload list. More...
 
virtual StatusCode preLoad (int depth, int load_depth, DataObject *pObject)
 Execute one level of preloading and recursively load until the final level is reached. More...
 
StatusCode preLoad () override
 load all preload items of the list More...
 
StatusCode registerObject (std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, std::string_view objPath, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode unregisterObject (std::string_view fullPath) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObject) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObject, std::string_view objectPath) override
 Unregister object from the data store. More...
 
StatusCode retrieveObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject) override
 Retrieve object from data store. More...
 
StatusCode findObject (std::string_view fullPath, DataObject *&pObject) override
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject) override
 Find object identified by its full path in the data store. More...
 
StatusCode linkObject (IRegistry *from, std::string_view objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (std::string_view fullPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode unlinkObject (IRegistry *from, std::string_view objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (DataObject *fromObj, std::string_view objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (std::string_view fullPath) override
 Remove a link to another object. More...
 
StatusCode updateObject (IRegistry *pDirectory) override
 Update object identified by its directory entry. More...
 
StatusCode updateObject (DataObject *toUpdate) override
 Update object. More...
 
StatusCode initialize () override
 Service initialization. More...
 
StatusCode reinitialize () override
 Service initialization. More...
 
StatusCode finalize () override
 Service initialization. More...
 
 DataSvc (const DataSvc &)=delete
 copy constructor disabled More...
 
DataSvcoperator= (const DataSvc &)=delete
 Fake assignment operator (never implemented). More...
 
virtual StatusCode registerAddress (std::string_view fullPath, IOpaqueAddress *pAddress)=0
 Register object address with the data store. More...
 
StatusCode registerAddress (DataObject *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress)
 Register object address with the data store. More...
 
virtual StatusCode registerAddress (IRegistry *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress)=0
 Register object address with the data store. More...
 
virtual StatusCode unregisterAddress (std::string_view fullPath)=0
 Unregister object address from the data store. More...
 
StatusCode unregisterAddress (DataObject *pParent, std::string_view objPath)
 Unregister object address from the data store. More...
 
virtual StatusCode unregisterAddress (IRegistry *pParent, std::string_view objPath)=0
 Unregister object address from the data store. More...
 
StatusCode registerObject (std::string_view fullPath, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode registerObject (std::string_view parentPath, std::string_view objectPath, DataObject *pObject)=0
 Register object with the data store. More...
 
StatusCode registerObject (std::string_view parentPath, int item, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode registerObject (DataObject *parentObj, std::string_view objectPath, DataObject *pObject)=0
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode retrieveObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Retrieve object identified by its directory entry. More...
 
StatusCode retrieveObject (std::string_view fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store. More...
 
StatusCode retrieveObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (std::string_view parentPath, int item, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store. More...
 
virtual StatusCode findObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Find object identified by its directory entry. More...
 
virtual StatusCode findObject (std::string_view fullPath, DataObject *&pObject)=0
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Find object identified by its parent object and the path to the object relative to the parent. More...
 
StatusCode findObject (std::string_view parentPath, int item, DataObject *&pObject)
 Find object identified by its parent object and an integer identifier in the data store. More...
 
StatusCode findObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Find object identified by its parent object and the path to the object relative to the parent. More...
 
StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Find object identified by its parent object and an integer identifier in the data store. More...
 
virtual StatusCode linkObject (IRegistry *from, std::string_view objPath, DataObject *toObj)=0
 Add a link to another object. More...
 
StatusCode linkObject (std::string_view fromPath, std::string_view objPath, DataObject *toObj)
 Add a link to another object. More...
 
StatusCode linkObject (DataObject *fromObj, std::string_view objPath, DataObject *toObj)
 Add a link to another object. More...
 
virtual StatusCode linkObject (std::string_view fullPath, DataObject *toObj)=0
 Add a link to another object. More...
 
virtual StatusCode unlinkObject (IRegistry *from, std::string_view objPath)=0
 Remove a link to another object. More...
 
StatusCode unlinkObject (std::string_view fromPath, std::string_view objPath)
 Remove a link to another object. More...
 
virtual StatusCode unlinkObject (DataObject *fromObj, std::string_view objPath)=0
 Remove a link to another object. More...
 
virtual StatusCode unlinkObject (std::string_view fullPath)=0
 Remove a link to another object. More...
 
- Public Member Functions inherited from extends< Service, IDataProviderSvc, IDataManagerSvc >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
- Public Member Functions inherited from Service
const std::stringname () const override
 Retrieve name of the service
More...
 
StatusCode configure () override
 
StatusCode initialize () override
 
StatusCode start () override
 
StatusCode stop () override
 
StatusCode finalize () override
 
StatusCode terminate () override
 
Gaudi::StateMachine::State FSMState () const override
 
Gaudi::StateMachine::State targetFSMState () const override
 
StatusCode reinitialize () override
 
StatusCode restart () override
 
StatusCode sysInitialize () override
 Initialize Service
More...
 
StatusCode sysStart () override
 Initialize Service
More...
 
StatusCode sysStop () override
 Initialize Service
More...
 
StatusCode sysFinalize () override
 Finalize Service
More...
 
StatusCode sysReinitialize () override
 Re-initialize the Service. More...
 
StatusCode sysRestart () override
 Re-initialize the Service. More...
 
 Service (std::string name, ISvcLocator *svcloc)
 Standard Constructor
More...
 
SmartIF< ISvcLocator > & serviceLocator () const override
 Retrieve pointer to service locator
More...
 
template<class T >
StatusCode service (const std::string &name, const T *&psvc, bool createIf=true) const
 Access a service by name, creating it if it doesn't already exist. More...
 
template<class T >
StatusCode service (const std::string &name, T *&psvc, bool createIf=true) const
 
template<typename IFace = IService>
SmartIF< IFace > service (const std::string &name, bool createIf=true) const
 
template<class T >
StatusCode service (const std::string &svcType, const std::string &svcName, T *&psvc) const
 Access a service by name and type, creating it if it doesn't already exist. More...
 
template<class T >
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
 
template<class T >
StatusCode declareTool (ToolHandle< T > &handle, bool createIf=true)
 
template<class T >
StatusCode declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true)
 Declare used tool. More...
 
template<class T >
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none")
 
template<class T >
void addToolsArray (ToolHandleArray< T > &hndlArr)
 
const std::vector< IAlgTool * > & tools () const
 
SmartIF< IAuditorSvc > & auditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
 PropertyHolder ()=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
 Helper to wrap a regular data member and use it as a regular property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
 Declare a PropertyBase instance setting name and documentation. More...
 
Gaudi::Details::PropertyBasedeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property. More...
 
StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override
 set the property from another property with a different name More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property. More...
 
virtual StatusCode setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0
 Set the property from a property with a different name. More...
 
virtual StatusCode setProperty (const std::string &s)=0
 Set the property by string. More...
 
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals. More...
 
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string. More...
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode setPropertyRepr (const std::string &n, const std::string &r) override
 set the property from name and value string representation More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (std::string_view name) const override
 get the property by name More...
 
StatusCode getProperty (std::string_view n, std::string &v) const override
 convert the property to the string More...
 
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties More...
 
bool hasProperty (std::string_view name) const override
 Return true if we have a property with the given name. More...
 
Gaudi::Details::PropertyBaseproperty (std::string_view name) const
 \fixme property and bindPropertiesTo should be protected More...
 
void bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc)
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
- Public Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream) More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 

Protected Types

typedef AIDA::IHistogram3D H3D
 
typedef AIDA::IProfile2D P2D
 
typedef AIDA::IBaseHistogram Base
 

Private Member Functions

void not_implemented () const
 
void update1Ddefs ()
 handler to be invoked for updating property m_defs1D More...
 

Private Attributes

Gaudi::Property< DBaseEntriesm_input { this, "Input", {}, "input streams" }
 
Gaudi::Property< Histo1DMapm_defs1D
 
std::set< std::stringm_mods1D
 

Additional Inherited Members

- Protected Member Functions inherited from DataSvc
bool checkRoot ()
 Check if root path is valid. More...
 
virtual IConversionSvcgetDataLoader (IRegistry *pReg)
 Retrieve customizable data loader according to registry entry to be retrieved. More...
 
virtual DataObjectcreateDefaultObject () const
 Create default objects in case forced creation of leaves is requested. More...
 
virtual StatusCode loadObject (IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation. More...
 
virtual StatusCode loadObject (IConversionSvc *pLoader, IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation. More...
 
StatusCode retrieveEntry (DataSvcHelpers::RegistryEntry *pNode, std::string_view path, DataSvcHelpers::RegistryEntry *&pEntry)
 Retrieve registry entry from store. More...
 
DataObjecthandleDataFault (IRegistry *pReg, std::string_view path="")
 Invoke data fault handling if enabled. More...
 
- Protected Member Functions inherited from Service
std::vector< IAlgTool * > & tools ()
 
 ~Service () override
 Standard Destructor
More...
 
int outputLevel () const
 get the Service's output level More...
 
- Protected Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
MSG::Level setUpMessaging () const
 Set up local caches. More...
 
MSG::Level resetMessaging ()
 Reinitialize internal states. More...
 
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 
- Protected Attributes inherited from DataSvc
SmartIF< IIncidentSvcm_incidentSvc = nullptr
 Pointer to incident service. More...
 
Gaudi::Property< CLIDm_rootCLID { this, "RootCLID", 110 , "CLID of root entry" }
 
Gaudi::Property< std::stringm_rootName { this, "RootName", "/Event", "name of root entry" }
 
std::unique_ptr< DataSvcHelpers::RegistryEntrym_root
 Pointer to root entry. More...
 
- Protected Attributes inherited from Service
Gaudi::StateMachine::State m_state = Gaudi::StateMachine::OFFLINE
 Service state
More...
 
Gaudi::StateMachine::State m_targetState = Gaudi::StateMachine::OFFLINE
 Service state
More...
 
Gaudi::Property< int > m_outputLevel { this, "OutputLevel", MSG::NIL, "output level" }
 flag indicating whether ToolHandle tools have been added to m_tools More...
 
Gaudi::Property< bool > m_auditInit { this, "AuditServices", false, "[[deprecated]] unused" }
 
Gaudi::Property< bool > m_auditorInitialize { this, "AuditInitialize", false, "trigger auditor on initialize()" }
 
Gaudi::Property< bool > m_auditorStart { this, "AuditStart", false, "trigger auditor on start()" }
 
Gaudi::Property< bool > m_auditorStop { this, "AuditStop", false, "trigger auditor on stop()" }
 
Gaudi::Property< bool > m_auditorFinalize { this, "AuditFinalize", false, "trigger auditor on finalize()" }
 
Gaudi::Property< bool > m_auditorReinitialize { this, "AuditReinitialize", false, "trigger auditor on reinitialize()" }
 
Gaudi::Property< bool > m_auditorRestart { this, "AuditRestart", false, "trigger auditor on restart()" }
 
Gaudi::Property< bool > m_autoRetrieveTools
 
Gaudi::Property< bool > m_checkToolDeps
 
SmartIF< IAuditorSvcm_pAuditorSvc
 Auditor Service
More...
 

Detailed Description

HistogramSvc class definition

Definition at line 61 of file HistogramSvc.h.

Member Typedef Documentation

◆ Base

typedef AIDA::IBaseHistogram HistogramSvc::Base
protected

Definition at line 69 of file HistogramSvc.h.

◆ DBaseEntries

◆ Edges

Definition at line 145 of file HistogramSvc.h.

◆ H3D

typedef AIDA::IHistogram3D HistogramSvc::H3D
protected

Definition at line 67 of file HistogramSvc.h.

◆ Histo1DMap

◆ P2D

typedef AIDA::IProfile2D HistogramSvc::P2D
protected

Definition at line 68 of file HistogramSvc.h.

Constructor & Destructor Documentation

◆ HistogramSvc()

HistogramSvc::HistogramSvc ( const std::string name,
ISvcLocator svc 
)

Statndard Constructor.

Parameters
nameservice name
pointerto service locator interface

Definition at line 338 of file HistogramSvc.cpp.

338  : base_class( nam, svc ) {
339  m_rootName = "/stat";
340  m_rootCLID = CLID_DataObject;
341 }

◆ ~HistogramSvc()

HistogramSvc::~HistogramSvc ( )
override

Destructor.

Definition at line 187 of file HistogramSvc.cpp.

187  {
188  setDataLoader( nullptr ).ignore();
189  clearStore().ignore();
190 }

Member Function Documentation

◆ add() [1/3]

AIDA::IHistogram1D * HistogramSvc::add ( const std::string nameAndTitle,
const AIDA::IHistogram1D &  a,
const AIDA::IHistogram1D &  b 
)
override

Definition at line 1295 of file HistogramSvc.cpp.

1296  {
1297  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Add, 1. );
1298 }

◆ add() [2/3]

AIDA::IHistogram2D * HistogramSvc::add ( const std::string nameAndTitle,
const AIDA::IHistogram2D &  a,
const AIDA::IHistogram2D &  b 
)
override

Definition at line 1319 of file HistogramSvc.cpp.

1320  {
1321  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, 1. );
1322 }

◆ add() [3/3]

AIDA::IHistogram3D * HistogramSvc::add ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  a,
const AIDA::IHistogram3D &  b 
)
override

Definition at line 1343 of file HistogramSvc.cpp.

1344  {
1345  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, 1. );
1346 }

◆ book() [1/36]

AIDA::IHistogram1D * HistogramSvc::book ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  e 
)
virtual

Definition at line 483 of file HistogramSvc.cpp.

484  {
485  return book( loc.first, loc.second, title, e );
486 }

◆ book() [2/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  x,
Edges  y 
)
virtual

Definition at line 696 of file HistogramSvc.cpp.

697  {
698  return book( loc.first, loc.second, title, x, y );
699 }

◆ book() [3/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  x,
Edges  y,
Edges  z 
)
virtual

Definition at line 845 of file HistogramSvc.cpp.

846  {
847  return book( loc.first, loc.second, title, x, y, z );
848 }

◆ book() [4/36]

virtual AIDA::IHistogram1D* HistogramSvc::book ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx 
)
virtual

◆ book() [5/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
virtual

Definition at line 586 of file HistogramSvc.cpp.

587  {
588  return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
589 }

◆ book() [6/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
virtual

Definition at line 808 of file HistogramSvc.cpp.

810  {
811  return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
812 }

◆ book() [7/36]

AIDA::IHistogram1D * HistogramSvc::book ( const std::string full,
const std::string title,
Edges  e 
)
override

Definition at line 489 of file HistogramSvc.cpp.

489  {
490  return book( i_splitPath( full ), title, e );
491 }

◆ book() [8/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::string full,
const std::string title,
Edges  x,
Edges  y 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
x/yBin edges for variable binned histogram in X/Y.

Definition at line 680 of file HistogramSvc.cpp.

680  {
681  return book( i_splitPath( full ), title, x, y );
682 }

◆ book() [9/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::string full,
const std::string title,
Edges  x,
Edges  y,
Edges  z 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
binsX/Y/ZNumber of bins on the axis X/Y/Z
lowX/Y/ZLower histogram edge on the axis X/Y/Z
highX/Y/ZUpper histogram edge on the axis X/Y/Z

Definition at line 822 of file HistogramSvc.cpp.

822  {
823  return book( i_splitPath( full ), title, x, y, z );
824 }

◆ book() [10/36]

AIDA::IHistogram1D* HistogramSvc::book ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx 
)
override

◆ book() [11/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
nxNumber of bins on the X-axis
lxLower histogram edge on the X-axis
uxUpper histogram edge on the X-axis
nyNumber of bins on the Y-axis
lyLower histogram edge on the Y-axis
uyUpper histogram edge on the Y-axis

Definition at line 568 of file HistogramSvc.cpp.

569  {
570  return book( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
571 }

◆ book() [12/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
n{x,y,z}Number of bins on the axis X/Y/Z
l{x,y,z}Lower histogram edge on the axis X/Y/Z
u{x,y,z}Upper histogram edge on the axis X/Y/Z

Definition at line 783 of file HistogramSvc.cpp.

784  {
785  return book( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
786 }

◆ book() [13/36]

AIDA::IHistogram1D * HistogramSvc::book ( const std::string par,
const std::string rel,
const std::string title,
Edges  e 
)
override

Definition at line 477 of file HistogramSvc.cpp.

478  {
479  return book( createPath( par ), rel, title, e );
480 }

◆ book() [14/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::string par,
const std::string rel,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 685 of file HistogramSvc.cpp.

686  {
687  return book( createPath( par ), rel, title, x, y );
688 }

◆ book() [15/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::string par,
const std::string rel,
const std::string title,
Edges  x,
Edges  y,
Edges  z 
)
override

Definition at line 827 of file HistogramSvc.cpp.

828  {
829  return book( createPath( par ), rel, title, x, y, z );
830 }

◆ book() [16/36]

AIDA::IHistogram1D* HistogramSvc::book ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the fullpath) has to be an integer number otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
nxNumber of bins on the axis X/Y
lxLower histogram edge on the axis X/Y
uxUpper histogram edge on the axis X/Y

◆ book() [17/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 574 of file HistogramSvc.cpp.

575  {
576  return book( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy );
577 }

◆ book() [18/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
override

Definition at line 789 of file HistogramSvc.cpp.

791  {
792  return book( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
793 }

◆ book() [19/36]

AIDA::IHistogram1D * HistogramSvc::book ( const std::string par,
int  hID,
const std::string title,
Edges  e 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the fullpath) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
eBin edges for variable binned histogram.

Definition at line 467 of file HistogramSvc.cpp.

467  {
468  return book( par, std::to_string( hID ), title, e );
469 }

◆ book() [20/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::string par,
int  hID,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 691 of file HistogramSvc.cpp.

691  {
692  return book( par, std::to_string( hID ), title, x, y );
693 }

◆ book() [21/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::string par,
int  hID,
const std::string title,
Edges  x,
Edges  y,
Edges  z 
)
override

Definition at line 833 of file HistogramSvc.cpp.

834  {
835  return book( par, std::to_string( hID ), title, x, y, z );
836 }

◆ book() [22/36]

AIDA::IHistogram1D* HistogramSvc::book ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx 
)
override

◆ book() [23/36]

AIDA::IHistogram2D * HistogramSvc::book ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 580 of file HistogramSvc.cpp.

581  {
582  return book( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
583 }

◆ book() [24/36]

AIDA::IHistogram3D * HistogramSvc::book ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
override

Definition at line 796 of file HistogramSvc.cpp.

797  {
798  return book( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
799 }

◆ book() [25/36]

AIDA::IHistogram1D * HistogramSvc::book ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  e 
)
override

Definition at line 494 of file HistogramSvc.cpp.

494  {
495  return i_book( pPar, rel, title, Gaudi::createH1D( title, e ) );
496 }

◆ book() [26/36]

AIDA::IHistogram2D * HistogramSvc::book ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 707 of file HistogramSvc.cpp.

708  {
709  return i_book( pPar, rel, title, Gaudi::createH2D( title, x, y ) );
710 }

◆ book() [27/36]

AIDA::IHistogram3D * HistogramSvc::book ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  x,
Edges  y,
Edges  z 
)
override

Definition at line 851 of file HistogramSvc.cpp.

852  {
853  return i_book( pPar, rel, title, Gaudi::createH3D( title, x, y, z ) );
854 }

◆ book() [28/36]

AIDA::IHistogram1D* HistogramSvc::book ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx 
)
override

◆ book() [29/36]

AIDA::IHistogram2D * HistogramSvc::book ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 598 of file HistogramSvc.cpp.

599  {
600  return i_book( pPar, rel, title, Gaudi::createH2D( title, nx, lowx, upx, ny, lowy, upy ) );
601 }

◆ book() [30/36]

AIDA::IHistogram3D * HistogramSvc::book ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
override

Definition at line 815 of file HistogramSvc.cpp.

817  {
818  return i_book( pPar, rel, title, Gaudi::createH3D( title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz ) );
819 }

◆ book() [31/36]

AIDA::IHistogram1D * HistogramSvc::book ( DataObject pPar,
int  hID,
const std::string title,
Edges  e 
)
override

Definition at line 472 of file HistogramSvc.cpp.

472  {
473  return book( pPar, std::to_string( hID ), title, e );
474 }

◆ book() [32/36]

AIDA::IHistogram2D * HistogramSvc::book ( DataObject pPar,
int  hID,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 702 of file HistogramSvc.cpp.

702  {
703  return book( pPar, std::to_string( hID ), title, x, y );
704 }

◆ book() [33/36]

AIDA::IHistogram3D * HistogramSvc::book ( DataObject pPar,
int  hID,
const std::string title,
Edges  x,
Edges  y,
Edges  z 
)
override

Definition at line 839 of file HistogramSvc.cpp.

840  {
841  return book( pPar, std::to_string( hID ), title, x, y, z );
842 }

◆ book() [34/36]

AIDA::IHistogram1D* HistogramSvc::book ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx 
)
override

◆ book() [35/36]

AIDA::IHistogram2D * HistogramSvc::book ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 592 of file HistogramSvc.cpp.

593  {
594  return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
595 }

◆ book() [36/36]

AIDA::IHistogram3D * HistogramSvc::book ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
override

Definition at line 802 of file HistogramSvc.cpp.

803  {
804  return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
805 }

◆ bookProf() [1/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  e 
)
virtual

Definition at line 520 of file HistogramSvc.cpp.

521  {
522  return bookProf( loc.first, loc.second, title, e );
523 }

◆ bookProf() [2/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  e,
double  upper,
double  lower 
)
virtual

Definition at line 556 of file HistogramSvc.cpp.

557  {
558  return bookProf( loc.first, loc.second, title, e, upper, lower );
559 }

◆ bookProf() [3/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  x,
Edges  y 
)
virtual

Definition at line 735 of file HistogramSvc.cpp.

736  {
737  return bookProf( loc.first, loc.second, title, x, y );
738 }

◆ bookProf() [4/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
virtual

Definition at line 771 of file HistogramSvc.cpp.

772  {
773  return bookProf( loc.first, loc.second, title, x, y, upper, lower );
774 }

◆ bookProf() [5/48]

virtual AIDA::IProfile1D* HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
virtual

◆ bookProf() [6/48]

virtual AIDA::IProfile1D* HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
virtual

◆ bookProf() [7/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
virtual

Definition at line 656 of file HistogramSvc.cpp.

657  {
658  return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
659 }

◆ bookProf() [8/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::pair< std::string, std::string > &  loc,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
virtual

Definition at line 617 of file HistogramSvc.cpp.

619  {
620  return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
621 }

◆ bookProf() [9/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::string full,
const std::string title,
Edges  e 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
eBin edges for variable binned histogram.

Definition at line 499 of file HistogramSvc.cpp.

499  {
500  return bookProf( i_splitPath( full ), title, e );
501 }

◆ bookProf() [10/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::string full,
const std::string title,
Edges  e,
double  upper,
double  lower 
)
virtual

Definition at line 532 of file HistogramSvc.cpp.

533  {
534  return bookProf( i_splitPath( full ), title, e, upper, lower );
535 }

◆ bookProf() [11/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string full,
const std::string title,
Edges  x,
Edges  y 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
x/yBin edges for variable binned histogram in X/Y.

Definition at line 713 of file HistogramSvc.cpp.

713  {
714  return bookProf( i_splitPath( full ), title, x, y );
715 }

◆ bookProf() [12/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string full,
const std::string title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
virtual

Definition at line 747 of file HistogramSvc.cpp.

748  {
749  return bookProf( i_splitPath( full ), title, x, y, upper, lower );
750 }

◆ bookProf() [13/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
override

◆ bookProf() [14/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
override

◆ bookProf() [15/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 644 of file HistogramSvc.cpp.

645  {
646  return bookProf( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
647 }

◆ bookProf() [16/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string full,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
virtual

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
nxNumber of bins on the X-axis
lxLower histogram edge on the X-axis
uxUpper histogram edge on the X-axis
nyNumber of bins on the Y-axis
lyLower histogram edge on the Y-axis
uyUpper histogram edge on the Y-axis

Definition at line 604 of file HistogramSvc.cpp.

605  {
606  return bookProf( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
607 }

◆ bookProf() [17/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
Edges  e 
)
override

Definition at line 504 of file HistogramSvc.cpp.

505  {
506  return bookProf( createPath( par ), rel, title, e );
507 }

◆ bookProf() [18/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
Edges  e,
double  upper,
double  lower 
)
virtual

Definition at line 538 of file HistogramSvc.cpp.

539  {
540  return bookProf( createPath( par ), rel, title, e, upper, lower );
541 }

◆ bookProf() [19/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 718 of file HistogramSvc.cpp.

719  {
720  return bookProf( createPath( par ), rel, title, x, y );
721 }

◆ bookProf() [20/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
virtual

Definition at line 753 of file HistogramSvc.cpp.

754  {
755  return bookProf( createPath( par ), rel, title, x, y, upper, lower );
756 }

◆ bookProf() [21/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
override

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the fullpath) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
nxNumber of bins on the axis X/Y
lxLower histogram edge on the axis X/Y
uxUpper histogram edge on the axis X/Y

◆ bookProf() [22/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
override

◆ bookProf() [23/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 650 of file HistogramSvc.cpp.

651  {
652  return bookProf( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy );
653 }

◆ bookProf() [24/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
virtual

Definition at line 610 of file HistogramSvc.cpp.

612  {
613  return bookProf( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
614 }

◆ bookProf() [25/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
Edges  e 
)
override

Definition at line 510 of file HistogramSvc.cpp.

510  {
511  return bookProf( par, std::to_string( hID ), title, e );
512 }

◆ bookProf() [26/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
Edges  e,
double  upper,
double  lower 
)
virtual

Definition at line 544 of file HistogramSvc.cpp.

545  {
546  return bookProf( par, std::to_string( hID ), title, e, upper, lower );
547 }

◆ bookProf() [27/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 724 of file HistogramSvc.cpp.

725  {
726  return bookProf( par, std::to_string( hID ), title, x, y );
727 }

◆ bookProf() [28/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
virtual

Definition at line 759 of file HistogramSvc.cpp.

760  {
761  return bookProf( par, std::to_string( hID ), title, x, y, upper, lower );
762 }

◆ bookProf() [29/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
override

◆ bookProf() [30/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
override

◆ bookProf() [31/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 662 of file HistogramSvc.cpp.

663  {
664  return bookProf( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
665 }

◆ bookProf() [32/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( const std::string par,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
virtual

Definition at line 624 of file HistogramSvc.cpp.

626  {
627  return bookProf( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
628 }

◆ bookProf() [33/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  e 
)
override

Definition at line 526 of file HistogramSvc.cpp.

527  {
528  return i_book( pPar, rel, title, Gaudi::createProf1D( title, e, 0, 0 ) );
529 }

◆ bookProf() [34/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  e,
double  upper,
double  lower 
)
virtual

Definition at line 562 of file HistogramSvc.cpp.

563  {
564  return i_book( pPar, rel, title, Gaudi::createProf1D( title, e, upper, lower ) );
565 }

◆ bookProf() [35/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 741 of file HistogramSvc.cpp.

742  {
743  return i_book( pPar, rel, title, Gaudi::createProf2D( title, x, y, 0, 0 ) );
744 }

◆ bookProf() [36/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
virtual

Definition at line 777 of file HistogramSvc.cpp.

778  {
779  return i_book( pPar, rel, title, Gaudi::createProf2D( title, x, y, upper, lower ) );
780 }

◆ bookProf() [37/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
override

◆ bookProf() [38/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
override

◆ bookProf() [39/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 674 of file HistogramSvc.cpp.

675  {
676  return i_book( pPar, rel, title, Gaudi::createProf2D( title, nx, lowx, upx, ny, lowy, upy, 0, 0 ) );
677 }

◆ bookProf() [40/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
const std::string rel,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
virtual

Definition at line 637 of file HistogramSvc.cpp.

639  {
640  return i_book( pPar, rel, title, Gaudi::createProf2D( title, nx, lowx, upx, ny, lowy, upy, upper, lower ) );
641 }

◆ bookProf() [41/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
Edges  e 
)
override

Definition at line 515 of file HistogramSvc.cpp.

515  {
516  return bookProf( pPar, std::to_string( hID ), title, e );
517 }

◆ bookProf() [42/48]

AIDA::IProfile1D * HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
Edges  e,
double  upper,
double  lower 
)
virtual

Definition at line 550 of file HistogramSvc.cpp.

551  {
552  return bookProf( pPar, std::to_string( hID ), title, e, upper, lower );
553 }

◆ bookProf() [43/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
Edges  x,
Edges  y 
)
override

Definition at line 730 of file HistogramSvc.cpp.

730  {
731  return bookProf( pPar, std::to_string( hID ), title, x, y );
732 }

◆ bookProf() [44/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
virtual

Definition at line 765 of file HistogramSvc.cpp.

766  {
767  return bookProf( pPar, std::to_string( hID ), title, x, y, upper, lower );
768 }

◆ bookProf() [45/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
override

◆ bookProf() [46/48]

AIDA::IProfile1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
override

◆ bookProf() [47/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 668 of file HistogramSvc.cpp.

669  {
670  return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
671 }

◆ bookProf() [48/48]

AIDA::IProfile2D * HistogramSvc::bookProf ( DataObject pPar,
int  hID,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
virtual

Definition at line 631 of file HistogramSvc.cpp.

632  {
633  return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
634 }

◆ connectInput()

StatusCode HistogramSvc::connectInput ( const std::string ident)

Connect input histogram file to the service.

Parameters
ident[IN] Input specification

Definition at line 193 of file HistogramSvc.cpp.

193  {
194  using Parser = Gaudi::Utils::AttribStringParser;
195  DataObject* pO = nullptr;
196  StatusCode status = this->findObject( m_rootName.value(), pO );
197  if ( status.isSuccess() ) {
198  string::size_type loc = ident.find( " " );
199  string filename, auth, svc = "", typ = "";
200  string logname = ident.substr( 0, loc );
201  for ( auto attrib : Parser( ident.substr( loc + 1 ) ) ) {
202  switch ( ::toupper( attrib.tag[0] ) ) {
203  case 'F': // FILE='<file name>'
204  case 'D': // DATAFILE='<file name>'
205  filename = std::move( attrib.value );
206  break;
207  case 'T': // TYP='<HBOOK,ROOT,OBJY,...>'
208  typ = std::move( attrib.value );
209  break;
210  default:
211  break;
212  }
213  }
214  if ( typ.length() > 0 ) {
215  // Now add the registry entry to the store
216  string entryname = m_rootName;
217  entryname += '/';
218  entryname += logname;
219  GenericAddress* pA = nullptr;
220  switch ( ::toupper( typ[0] ) ) {
221  case 'H':
222  pA = new GenericAddress( HBOOK_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
223  break;
224  case 'R':
225  pA = new GenericAddress( ROOT_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
226  break;
227  }
228  if ( pA ) {
229  status = registerAddress( pO, logname, pA );
230  if ( status.isSuccess() ) {
231  info() << "Added stream file:" << filename << " as " << logname << endmsg;
232  return status;
233  }
234  pA->release();
235  }
236  }
237  }
238  error() << "Cannot add " << ident << " invalid filename!" << endmsg;
239  return StatusCode::FAILURE;
240 }

◆ createCloud1D() [1/2]

AIDA::ICloud1D* HistogramSvc::createCloud1D ( const std::string )
inlineoverride

Definition at line 1008 of file HistogramSvc.h.

1008  {
1009  not_implemented();
1010  return nullptr;
1011  }

◆ createCloud1D() [2/2]

AIDA::ICloud1D* HistogramSvc::createCloud1D ( const std::string ,
const std::string ,
int  ,
const std::string  
)
inlineoverride

Definition at line 1003 of file HistogramSvc.h.

1003  {
1004  not_implemented();
1005  return nullptr;
1006  }

◆ createCloud2D() [1/2]

AIDA::ICloud2D* HistogramSvc::createCloud2D ( const std::string )
inlineoverride

Definition at line 1023 of file HistogramSvc.h.

1023  {
1024  not_implemented();
1025  return nullptr;
1026  }

◆ createCloud2D() [2/2]

AIDA::ICloud2D* HistogramSvc::createCloud2D ( const std::string ,
const std::string ,
int  ,
const std::string  
)
inlineoverride

Definition at line 1018 of file HistogramSvc.h.

1018  {
1019  not_implemented();
1020  return nullptr;
1021  }

◆ createCloud3D() [1/2]

AIDA::ICloud3D* HistogramSvc::createCloud3D ( const std::string )
inlineoverride

Definition at line 1038 of file HistogramSvc.h.

1038  {
1039  not_implemented();
1040  return nullptr;
1041  }

◆ createCloud3D() [2/2]

AIDA::ICloud3D* HistogramSvc::createCloud3D ( const std::string ,
const std::string ,
int  ,
const std::string  
)
inlineoverride

Definition at line 1033 of file HistogramSvc.h.

1033  {
1034  not_implemented();
1035  return nullptr;
1036  }

◆ createCopy() [1/23]

AIDA::IHistogram1D * HistogramSvc::createCopy ( const std::pair< std::string, std::string > &  loc,
const AIDA::IHistogram1D &  h 
)

Definition at line 1417 of file HistogramSvc.cpp.

1418  {
1419  return createCopy( loc.first, loc.second, h );
1420 }

◆ createCopy() [2/23]

AIDA::IHistogram2D * HistogramSvc::createCopy ( const std::pair< std::string, std::string > &  loc,
const AIDA::IHistogram2D &  h 
)

Definition at line 1464 of file HistogramSvc.cpp.

1465  {
1466  return createCopy( loc.first, loc.second, h );
1467 }

◆ createCopy() [3/23]

AIDA::IHistogram3D * HistogramSvc::createCopy ( const std::pair< std::string, std::string > &  loc,
const AIDA::IHistogram3D &  h 
)

Definition at line 1513 of file HistogramSvc.cpp.

1514  {
1515  return createCopy( loc.first, loc.second, h );
1516 }

◆ createCopy() [4/23]

AIDA::IProfile1D * HistogramSvc::createCopy ( const std::pair< std::string, std::string > &  loc,
const AIDA::IProfile1D &  h 
)

Definition at line 1570 of file HistogramSvc.cpp.

1571  {
1572  return createCopy( loc.first, loc.second, h );
1573 }

◆ createCopy() [5/23]

AIDA::IProfile2D * HistogramSvc::createCopy ( const std::pair< std::string, std::string > &  loc,
const AIDA::IProfile2D &  h 
)

Definition at line 1644 of file HistogramSvc.cpp.

1645  {
1646  return createCopy( loc.first, loc.second, h );
1647 }

◆ createCopy() [6/23]

AIDA::ICloud1D* HistogramSvc::createCopy ( const std::string ,
const AIDA::ICloud1D &   
)
inlineoverride

Definition at line 1013 of file HistogramSvc.h.

1013  {
1014  not_implemented();
1015  return nullptr;
1016  }

◆ createCopy() [7/23]

AIDA::ICloud2D* HistogramSvc::createCopy ( const std::string ,
const AIDA::ICloud2D &   
)
inlineoverride

Definition at line 1028 of file HistogramSvc.h.

1028  {
1029  not_implemented();
1030  return nullptr;
1031  }

◆ createCopy() [8/23]

AIDA::ICloud3D* HistogramSvc::createCopy ( const std::string ,
const AIDA::ICloud3D &   
)
inlineoverride

Definition at line 1043 of file HistogramSvc.h.

1043  {
1044  not_implemented();
1045  return nullptr;
1046  }

◆ createCopy() [9/23]

AIDA::IHistogram1D * HistogramSvc::createCopy ( const std::string full,
const AIDA::IHistogram1D &  h 
)
override

Definition at line 1406 of file HistogramSvc.cpp.

1406  {
1407  return createCopy( i_splitPath( full ), h );
1408 }

◆ createCopy() [10/23]

AIDA::IHistogram2D * HistogramSvc::createCopy ( const std::string full,
const AIDA::IHistogram2D &  h 
)
override

Definition at line 1453 of file HistogramSvc.cpp.

1453  {
1454  return createCopy( i_splitPath( full ), h );
1455 }

◆ createCopy() [11/23]

AIDA::IHistogram3D * HistogramSvc::createCopy ( const std::string full,
const AIDA::IHistogram3D &  h 
)
override

Definition at line 1502 of file HistogramSvc.cpp.

1502  {
1503  return createCopy( i_splitPath( full ), h );
1504 }

◆ createCopy() [12/23]

AIDA::IProfile1D * HistogramSvc::createCopy ( const std::string full,
const AIDA::IProfile1D &  h 
)
override

Definition at line 1559 of file HistogramSvc.cpp.

1559  {
1560  return createCopy( i_splitPath( full ), h );
1561 }

◆ createCopy() [13/23]

AIDA::IProfile2D * HistogramSvc::createCopy ( const std::string full,
const AIDA::IProfile2D &  h 
)
override

Definition at line 1633 of file HistogramSvc.cpp.

1633  {
1634  return createCopy( i_splitPath( full ), h );
1635 }

◆ createCopy() [14/23]

AIDA::IHistogram1D * HistogramSvc::createCopy ( const std::string par,
const std::string rel,
const AIDA::IHistogram1D &  h 
)

Definition at line 1411 of file HistogramSvc.cpp.

1412  {
1413  return createCopy( createPath( par ), rel, h );
1414 }

◆ createCopy() [15/23]

AIDA::IHistogram2D * HistogramSvc::createCopy ( const std::string par,
const std::string rel,
const AIDA::IHistogram2D &  h 
)

Definition at line 1458 of file HistogramSvc.cpp.

1459  {
1460  return createCopy( createPath( par ), rel, h );
1461 }

◆ createCopy() [16/23]

AIDA::IHistogram3D * HistogramSvc::createCopy ( const std::string par,
const std::string rel,
const AIDA::IHistogram3D &  h 
)

Definition at line 1507 of file HistogramSvc.cpp.

1508  {
1509  return createCopy( createPath( par ), rel, h );
1510 }

◆ createCopy() [17/23]

AIDA::IProfile1D * HistogramSvc::createCopy ( const std::string par,
const std::string rel,
const AIDA::IProfile1D &  h 
)

Definition at line 1564 of file HistogramSvc.cpp.

1565  {
1566  return createCopy( createPath( par ), rel, h );
1567 }

◆ createCopy() [18/23]

AIDA::IProfile2D * HistogramSvc::createCopy ( const std::string par,
const std::string rel,
const AIDA::IProfile2D &  h 
)

Definition at line 1638 of file HistogramSvc.cpp.

1639  {
1640  return createCopy( createPath( par ), rel, h );
1641 }

◆ createCopy() [19/23]

AIDA::IHistogram1D * HistogramSvc::createCopy ( DataObject pPar,
const std::string rel,
const AIDA::IHistogram1D &  h 
)

Definition at line 1423 of file HistogramSvc.cpp.

1423  {
1424  return i_book( pPar, rel, h.title(), Gaudi::createH1D( h ) );
1425 }

◆ createCopy() [20/23]

AIDA::IHistogram2D * HistogramSvc::createCopy ( DataObject pPar,
const std::string rel,
const AIDA::IHistogram2D &  h 
)

Definition at line 1470 of file HistogramSvc.cpp.

1470  {
1471  return i_book( pPar, rel, h.title(), Gaudi::createH2D( h ) );
1472 }

◆ createCopy() [21/23]

AIDA::IHistogram3D * HistogramSvc::createCopy ( DataObject pPar,
const std::string rel,
const AIDA::IHistogram3D &  h 
)

Definition at line 1519 of file HistogramSvc.cpp.

1519  {
1520  return i_book( pPar, rel, h.title(), Gaudi::createH3D( h ) );
1521 }

◆ createCopy() [22/23]

AIDA::IProfile1D * HistogramSvc::createCopy ( DataObject pPar,
const std::string rel,
const AIDA::IProfile1D &  h 
)

Definition at line 1576 of file HistogramSvc.cpp.

1576  {
1577  return i_book( pPar, rel, h.title(), Gaudi::createProf1D( h ) );
1578 }

◆ createCopy() [23/23]

AIDA::IProfile2D * HistogramSvc::createCopy ( DataObject pPar,
const std::string rel,
const AIDA::IProfile2D &  h 
)

Definition at line 1650 of file HistogramSvc.cpp.

1650  {
1651  return i_book( pPar, rel, h.title(), Gaudi::createProf2D( h ) );
1652 }

◆ createDirectory()

DataObject * HistogramSvc::createDirectory ( const std::string parentDir,
const std::string subDir 
)
override

Create a sub-directory in a directory.

Parameters
parentDirname of the parent directory
subDirto identify the histogram object in the store

Definition at line 168 of file HistogramSvc.cpp.

168  {
169  auto directory = std::make_unique<DataObject>();
170  if ( directory ) {
171  DataObject* pnode;
172  StatusCode status = retrieveObject( parentDir, pnode );
173  if ( !status.isSuccess() ) {
174  error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
175  return nullptr;
176  }
177  status = DataSvc::registerObject( pnode, subDir, directory.get() );
178  if ( !status.isSuccess() ) {
179  error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
180  return nullptr;
181  }
182  }
183  return directory.release();
184 }

◆ createHistogram1D() [1/4]

AIDA::IHistogram1D * HistogramSvc::createHistogram1D ( const std::string name,
const std::string title,
const Edges x,
const std::string  
)
override

Definition at line 1394 of file HistogramSvc.cpp.

1395  {
1396  return book( name, title, x );
1397 }

◆ createHistogram1D() [2/4]

AIDA::IHistogram1D * HistogramSvc::createHistogram1D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx 
)

Definition at line 1382 of file HistogramSvc.cpp.

1383  {
1384  return book( name, title, nx, lowx, upx );
1385 }

◆ createHistogram1D() [3/4]

AIDA::IHistogram1D * HistogramSvc::createHistogram1D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string  
)
override

Definition at line 1388 of file HistogramSvc.cpp.

1389  {
1390  return book( name, title, nx, lowx, upx );
1391 }

◆ createHistogram1D() [4/4]

AIDA::IHistogram1D * HistogramSvc::createHistogram1D ( const std::string nameAndTitle,
int  nx,
double  lowx,
double  upx 
)
override

Definition at line 1400 of file HistogramSvc.cpp.

1401  {
1402  return book( nameAndTitle, nameAndTitle, nx, lowx, upx );
1403 }

◆ createHistogram2D() [1/4]

AIDA::IHistogram2D * HistogramSvc::createHistogram2D ( const std::string name,
const std::string title,
const Edges x,
const Edges y,
const std::string  
)
override

Definition at line 1441 of file HistogramSvc.cpp.

1442  {
1443  return book( name, title, x, y );
1444 }

◆ createHistogram2D() [2/4]

AIDA::IHistogram2D * HistogramSvc::createHistogram2D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)

Definition at line 1428 of file HistogramSvc.cpp.

1429  {
1430  return book( name, title, nx, lowx, upx, ny, lowy, upy );
1431 }

◆ createHistogram2D() [3/4]

AIDA::IHistogram2D * HistogramSvc::createHistogram2D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
const std::string  
)
override

Definition at line 1434 of file HistogramSvc.cpp.

1436  {
1437  return book( name, title, nx, lowx, upx, ny, lowy, upy );
1438 }

◆ createHistogram2D() [4/4]

AIDA::IHistogram2D * HistogramSvc::createHistogram2D ( const std::string nameAndTitle,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 1447 of file HistogramSvc.cpp.

1448  {
1449  return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1450 }

◆ createHistogram3D() [1/4]

AIDA::IHistogram3D * HistogramSvc::createHistogram3D ( const std::string name,
const std::string title,
const Edges x,
const Edges y,
const Edges z,
const std::string  
)
override

Definition at line 1489 of file HistogramSvc.cpp.

1490  {
1491  return book( name, title, x, y, z );
1492 }

◆ createHistogram3D() [2/4]

AIDA::IHistogram3D * HistogramSvc::createHistogram3D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)

Definition at line 1475 of file HistogramSvc.cpp.

1477  {
1478  return book( name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1479 }

◆ createHistogram3D() [3/4]

AIDA::IHistogram3D * HistogramSvc::createHistogram3D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz,
const std::string  
)
override

Definition at line 1482 of file HistogramSvc.cpp.

1484  {
1485  return book( name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1486 }

◆ createHistogram3D() [4/4]

AIDA::IHistogram3D * HistogramSvc::createHistogram3D ( const std::string nameAndTitle,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
int  nz,
double  lowz,
double  upz 
)
override

Definition at line 1495 of file HistogramSvc.cpp.

1497  {
1498  return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1499 }

◆ createPath()

DataObject * HistogramSvc::createPath ( const std::string newPath)
override

Create all directories in a given full path.

Definition at line 143 of file HistogramSvc.cpp.

143  {
144  string tmpPath = newPath;
145  if ( tmpPath[0] != SEPARATOR ) {
146  tmpPath.insert( tmpPath.begin(), SEPARATOR );
147  tmpPath.insert( tmpPath.begin(), m_rootName.begin(), m_rootName.end() );
148  }
149  // Remove trailing "/" from newPath if it exists
150  if ( tmpPath.rfind( SEPARATOR ) == tmpPath.length() - 1 ) { tmpPath.erase( tmpPath.rfind( SEPARATOR ), 1 ); }
151  DataObject* pObject = nullptr;
152  StatusCode sc = findObject( tmpPath, pObject );
153  if ( sc.isSuccess() ) { return pObject; }
154  int sep = tmpPath.rfind( SEPARATOR );
155  string rest( tmpPath, sep + 1, tmpPath.length() - sep );
156  string subPath( tmpPath, 0, sep );
157  if ( 0 != sep ) {
158  createPath( subPath );
159  } else {
160  error() << "Unable to create the histogram path" << endmsg;
161  return nullptr;
162  }
163  pObject = createDirectory( subPath, rest );
164  return pObject;
165 }

◆ createProfile1D() [1/6]

AIDA::IProfile1D * HistogramSvc::createProfile1D ( const std::string name,
const std::string title,
const Edges x,
const std::string  
)
override

Definition at line 1536 of file HistogramSvc.cpp.

1537  {
1538  return bookProf( name, title, x );
1539 }

◆ createProfile1D() [2/6]

AIDA::IProfile1D * HistogramSvc::createProfile1D ( const std::string name,
const std::string title,
const Edges x,
double  upper,
double  lower,
const std::string  
)
override

Definition at line 1542 of file HistogramSvc.cpp.

1543  {
1544  return bookProf( name, title, x, upper, lower );
1545 }

◆ createProfile1D() [3/6]

AIDA::IProfile1D * HistogramSvc::createProfile1D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
const std::string opt 
)
override

Definition at line 1524 of file HistogramSvc.cpp.

1525  {
1526  return bookProf( name, title, nx, lowx, upx, opt );
1527 }

◆ createProfile1D() [4/6]

AIDA::IProfile1D * HistogramSvc::createProfile1D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower,
const std::string opt 
)
override

Definition at line 1530 of file HistogramSvc.cpp.

1531  {
1532  return bookProf( name, title, nx, lowx, upx, upper, lower, opt );
1533 }

◆ createProfile1D() [5/6]

AIDA::IProfile1D * HistogramSvc::createProfile1D ( const std::string nametit,
int  nx,
double  lowx,
double  upx 
)
override

Definition at line 1548 of file HistogramSvc.cpp.

1548  {
1549  return bookProf( nametit, nametit, nx, lowx, upx, "s" );
1550 }

◆ createProfile1D() [6/6]

AIDA::IProfile1D * HistogramSvc::createProfile1D ( const std::string nametit,
int  nx,
double  lowx,
double  upx,
double  upper,
double  lower 
)
override

Definition at line 1553 of file HistogramSvc.cpp.

1554  {
1555  return bookProf( nametit, nametit, nx, lowx, upx, upper, lower, "s" );
1556 }

◆ createProfile2D() [1/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string name,
const std::string title,
const Edges x,
const Edges y,
const std::string  
)
override

Definition at line 1594 of file HistogramSvc.cpp.

1595  {
1596  return bookProf( name, title, x, y );
1597 }

◆ createProfile2D() [2/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string name,
const std::string title,
const Edges x,
const Edges y,
double  upper,
double  lower,
const std::string  
)
override

Definition at line 1620 of file HistogramSvc.cpp.

1622  {
1623  return bookProf( name, title, x, y, upper, lower );
1624 }

◆ createProfile2D() [3/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)

Definition at line 1581 of file HistogramSvc.cpp.

1582  {
1583  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy );
1584 }

◆ createProfile2D() [4/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
const std::string  
)
override

Definition at line 1587 of file HistogramSvc.cpp.

1589  {
1590  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy );
1591 }

◆ createProfile2D() [5/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)

Definition at line 1606 of file HistogramSvc.cpp.

1608  {
1609  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1610 }

◆ createProfile2D() [6/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string name,
const std::string title,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower,
const std::string  
)
override

Definition at line 1613 of file HistogramSvc.cpp.

1615  {
1616  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1617 }

◆ createProfile2D() [7/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string nameAndTitle,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy 
)
override

Definition at line 1600 of file HistogramSvc.cpp.

1601  {
1602  return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1603 }

◆ createProfile2D() [8/8]

AIDA::IProfile2D * HistogramSvc::createProfile2D ( const std::string nameAndTitle,
int  nx,
double  lowx,
double  upx,
int  ny,
double  lowy,
double  upy,
double  upper,
double  lower 
)
override

Definition at line 1627 of file HistogramSvc.cpp.

1628  {
1629  return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, upper, lower );
1630 }

◆ destroy()

bool HistogramSvc::destroy ( IBaseHistogram *  hist)
override

Definition at line 312 of file HistogramSvc.cpp.

312  {
313  StatusCode sc = unregisterObject( dynamic_cast<IHistogram*>( hist ) );
314  if ( !sc.isSuccess() ) return false;
315  delete hist;
316  return true;
317 }

◆ divide() [1/3]

AIDA::IHistogram1D * HistogramSvc::divide ( const std::string nameAndTitle,
const AIDA::IHistogram1D &  a,
const AIDA::IHistogram1D &  b 
)
override

Definition at line 1313 of file HistogramSvc.cpp.

1314  {
1315  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Divide );
1316 }

◆ divide() [2/3]

AIDA::IHistogram2D * HistogramSvc::divide ( const std::string nameAndTitle,
const AIDA::IHistogram2D &  a,
const AIDA::IHistogram2D &  b 
)
override

Definition at line 1337 of file HistogramSvc.cpp.

1338  {
1339  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Divide );
1340 }

◆ divide() [3/3]

AIDA::IHistogram3D * HistogramSvc::divide ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  a,
const AIDA::IHistogram3D &  b 
)
override

Definition at line 1361 of file HistogramSvc.cpp.

1362  {
1363  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Divide );
1364 }

◆ finalize()

StatusCode HistogramSvc::finalize ( )
override

finalize the service

Definition at line 352 of file HistogramSvc.cpp.

352  {
353  if ( !m_mods1D.empty() ) {
354  if ( msgLevel( MSG::DEBUG ) ) debug() << " Substituted histograms #" << m_mods1D.size() << " : " << endmsg;
355  for ( const auto& ih : m_mods1D ) {
356  if ( msgLevel( MSG::DEBUG ) ) debug() << " Path='" << ih << "'";
357  auto im = m_defs1D.find( ih );
358  if ( m_defs1D.end() != im ) { debug() << " " << im->second; }
359  }
360  m_mods1D.clear();
361  }
362  return DataSvc::finalize();
363 }

◆ findObject() [1/46]

StatusCode HistogramSvc::findObject ( Base par,
const std::string item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1260 of file HistogramSvc.cpp.

1260  {
1261  return Helper( this ).find( ::detail::cast( par ), item, obj );
1262 }

◆ findObject() [2/46]

StatusCode HistogramSvc::findObject ( Base par,
const std::string item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1265 of file HistogramSvc.cpp.

1265  {
1266  return Helper( this ).find( ::detail::cast( par ), item, obj );
1267 }

◆ findObject() [3/46]

StatusCode HistogramSvc::findObject ( Base par,
const std::string item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1270 of file HistogramSvc.cpp.

1270  {
1271  return Helper( this ).find( ::detail::cast( par ), item, obj );
1272 }

◆ findObject() [4/46]

StatusCode HistogramSvc::findObject ( Base par,
const std::string item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1250 of file HistogramSvc.cpp.

1250  {
1251  return Helper( this ).find( ::detail::cast( par ), item, obj );
1252 }

◆ findObject() [5/46]

StatusCode HistogramSvc::findObject ( Base par,
const std::string item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1255 of file HistogramSvc.cpp.

1255  {
1256  return Helper( this ).find( ::detail::cast( par ), item, obj );
1257 }

◆ findObject() [6/46]

StatusCode HistogramSvc::findObject ( Base par,
int  item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1235 of file HistogramSvc.cpp.

1235  {
1236  return Helper( this ).find( ::detail::cast( par ), item, obj );
1237 }

◆ findObject() [7/46]

StatusCode HistogramSvc::findObject ( Base par,
int  item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1240 of file HistogramSvc.cpp.

1240  {
1241  return Helper( this ).find( ::detail::cast( par ), item, obj );
1242 }

◆ findObject() [8/46]

StatusCode HistogramSvc::findObject ( Base par,
int  item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1245 of file HistogramSvc.cpp.

1245  {
1246  return Helper( this ).find( ::detail::cast( par ), item, obj );
1247 }

◆ findObject() [9/46]

StatusCode HistogramSvc::findObject ( Base par,
int  item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1225 of file HistogramSvc.cpp.

1225  {
1226  return Helper( this ).find( ::detail::cast( par ), item, obj );
1227 }

◆ findObject() [10/46]

StatusCode HistogramSvc::findObject ( Base par,
int  item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1230 of file HistogramSvc.cpp.

1230  {
1231  return Helper( this ).find( ::detail::cast( par ), item, obj );
1232 }

◆ findObject() [11/46]

StatusCode HistogramSvc::findObject ( const std::string full,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1110 of file HistogramSvc.cpp.

1110  {
1111  return Helper( this ).find( full, obj );
1112 }

◆ findObject() [12/46]

StatusCode HistogramSvc::findObject ( const std::string full,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1115 of file HistogramSvc.cpp.

1115  {
1116  return Helper( this ).find( full, obj );
1117 }

◆ findObject() [13/46]

StatusCode HistogramSvc::findObject ( const std::string full,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1120 of file HistogramSvc.cpp.

1120  {
1121  return Helper( this ).find( full, obj );
1122 }

◆ findObject() [14/46]

StatusCode HistogramSvc::findObject ( const std::string full,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1101 of file HistogramSvc.cpp.

1101  {
1102  return Helper( this ).find( full, obj );
1103 }

◆ findObject() [15/46]

StatusCode HistogramSvc::findObject ( const std::string full,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1105 of file HistogramSvc.cpp.

1105  {
1106  return Helper( this ).find( full, obj );
1107 }

◆ findObject() [16/46]

StatusCode HistogramSvc::findObject ( const std::string par,
const std::string rel,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1135 of file HistogramSvc.cpp.

1135  {
1136  return Helper( this ).find( par, rel, obj );
1137 }

◆ findObject() [17/46]

StatusCode HistogramSvc::findObject ( const std::string par,
const std::string rel,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1140 of file HistogramSvc.cpp.

1140  {
1141  return Helper( this ).find( par, rel, obj );
1142 }

◆ findObject() [18/46]

StatusCode HistogramSvc::findObject ( const std::string par,
const std::string rel,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1145 of file HistogramSvc.cpp.

1145  {
1146  return Helper( this ).find( par, rel, obj );
1147 }

◆ findObject() [19/46]

StatusCode HistogramSvc::findObject ( const std::string par,
const std::string rel,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1125 of file HistogramSvc.cpp.

1125  {
1126  return Helper( this ).find( par, rel, obj );
1127 }

◆ findObject() [20/46]

StatusCode HistogramSvc::findObject ( const std::string par,
const std::string rel,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1130 of file HistogramSvc.cpp.

1130  {
1131  return Helper( this ).find( par, rel, obj );
1132 }

◆ findObject() [21/46]

StatusCode HistogramSvc::findObject ( const std::string par,
int  item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1160 of file HistogramSvc.cpp.

1160  {
1161  return Helper( this ).find( par, item, obj );
1162 }

◆ findObject() [22/46]

StatusCode HistogramSvc::findObject ( const std::string par,
int  item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1165 of file HistogramSvc.cpp.

1165  {
1166  return Helper( this ).find( par, item, obj );
1167 }

◆ findObject() [23/46]

StatusCode HistogramSvc::findObject ( const std::string par,
int  item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1170 of file HistogramSvc.cpp.

1170  {
1171  return Helper( this ).find( par, item, obj );
1172 }

◆ findObject() [24/46]

StatusCode HistogramSvc::findObject ( const std::string par,
int  item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1150 of file HistogramSvc.cpp.

1150  {
1151  return Helper( this ).find( par, item, obj );
1152 }

◆ findObject() [25/46]

StatusCode HistogramSvc::findObject ( const std::string par,
int  item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1155 of file HistogramSvc.cpp.

1155  {
1156  return Helper( this ).find( par, item, obj );
1157 }

◆ findObject() [26/46]

StatusCode HistogramSvc::findObject ( DataObject par,
const std::string item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1210 of file HistogramSvc.cpp.

1210  {
1211  return Helper( this ).find( par, item, obj );
1212 }

◆ findObject() [27/46]

StatusCode HistogramSvc::findObject ( DataObject par,
const std::string item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1215 of file HistogramSvc.cpp.

1215  {
1216  return Helper( this ).find( par, item, obj );
1217 }

◆ findObject() [28/46]

StatusCode HistogramSvc::findObject ( DataObject par,
const std::string item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1220 of file HistogramSvc.cpp.

1220  {
1221  return Helper( this ).find( par, item, obj );
1222 }

◆ findObject() [29/46]

StatusCode HistogramSvc::findObject ( DataObject par,
const std::string item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1200 of file HistogramSvc.cpp.

1200  {
1201  return Helper( this ).find( par, item, obj );
1202 }

◆ findObject() [30/46]

StatusCode HistogramSvc::findObject ( DataObject par,
const std::string item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1205 of file HistogramSvc.cpp.

1205  {
1206  return Helper( this ).find( par, item, obj );
1207 }

◆ findObject() [31/46]

StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1185 of file HistogramSvc.cpp.

1185  {
1186  return Helper( this ).find( par, item, obj );
1187 }

◆ findObject() [32/46]

StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1190 of file HistogramSvc.cpp.

1190  {
1191  return Helper( this ).find( par, item, obj );
1192 }

◆ findObject() [33/46]

StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1195 of file HistogramSvc.cpp.

1195  {
1196  return Helper( this ).find( par, item, obj );
1197 }

◆ findObject() [34/46]

StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1175 of file HistogramSvc.cpp.

1175  {
1176  return Helper( this ).find( par, item, obj );
1177 }

◆ findObject() [35/46]

StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1180 of file HistogramSvc.cpp.

1180  {
1181  return Helper( this ).find( par, item, obj );
1182 }

◆ findObject() [36/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 373 of file IDataProviderSvc.h.

373  {
374  return findObject( parentObj, itemToPath( item ), pObject );
375  }

◆ findObject() [37/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 361 of file IDataProviderSvc.h.

361  {
362  return findObject( parentObj ? parentObj->registry() : nullptr, objectPath, pObject );
363  }

◆ findObject() [38/46]

virtual StatusCode IDataProviderSvc::findObject

Avoids a compiler warning about hidden functions.

◆ findObject() [39/46]

StatusCode HistogramSvc::findObject ( IRegistry pReg,
const std::string path,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1089 of file HistogramSvc.cpp.

1089  {
1090  return Helper( this ).find( pReg, path, obj );
1091 }

◆ findObject() [40/46]

StatusCode HistogramSvc::findObject ( IRegistry pReg,
const std::string path,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1093 of file HistogramSvc.cpp.

1093  {
1094  return Helper( this ).find( pReg, path, obj );
1095 }

◆ findObject() [41/46]

StatusCode HistogramSvc::findObject ( IRegistry pReg,
const std::string path,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1097 of file HistogramSvc.cpp.

1097  {
1098  return Helper( this ).find( pReg, path, obj );
1099 }

◆ findObject() [42/46]

StatusCode HistogramSvc::findObject ( IRegistry pReg,
const std::string path,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1081 of file HistogramSvc.cpp.

1081  {
1082  return Helper( this ).find( pReg, path, obj );
1083 }

◆ findObject() [43/46]

StatusCode HistogramSvc::findObject ( IRegistry pReg,
const std::string path,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1085 of file HistogramSvc.cpp.

1085  {
1086  return Helper( this ).find( pReg, path, obj );
1087 }

◆ findObject() [44/46]

virtual StatusCode IDataProviderSvc::findObject

Avoids a compiler warning about hidden functions.

◆ findObject() [45/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 348 of file IDataProviderSvc.h.

348  {
349  return findObject( parentPath, itemToPath( item ), pObject );
350  }

◆ findObject() [46/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 334 of file IDataProviderSvc.h.

334  {
335  DataObject* parent = nullptr;
336  StatusCode status = findObject( parentPath, parent );
337  return status.isSuccess() ? findObject( parent, objectPath, pObject ) : status;
338  }

◆ histogramFactory()

AIDA::IHistogramFactory* HistogramSvc::histogramFactory ( )
inlineoverride

Retrieve the AIDA HistogramFactory interface.

Definition at line 190 of file HistogramSvc.h.

190 { return this; }

◆ i_book()

template<class T >
T* HistogramSvc::i_book ( DataObject pPar,
const std::string rel,
const std::string title,
const std::pair< DataObject *, T * > &  o 
)
inline

Definition at line 170 of file HistogramSvc.h.

171  {
172  if ( o.first && registerObject( pPar, rel, (Base*)o.second ).isSuccess() ) return o.second;
173  delete o.first;
174  throw GaudiException( "Cannot book " + System::typeinfoName( typeid( T ) ) + " " + title, "HistogramSvc",
176  }

◆ i_project()

AIDA::IHistogram2D * HistogramSvc::i_project ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  h,
const std::string dir 
)

Helper for 2D projections.

Definition at line 91 of file HistogramSvc.cpp.

91  {
92  TH3D* h3d = Gaudi::getRepresentation<IHistogram3D, TH3D>( h );
93  if ( h3d ) {
94  TH2D* h2d = dynamic_cast<TH2D*>( h3d->Project3D( dir.c_str() ) );
95  if ( h2d ) {
97  if ( r.second && registerObject( nameAndTitle, r.second ).isSuccess() ) { return r.second; }
98  }
99  }
100  return nullptr;
101 }

◆ i_splitPath()

std::pair< string, string > HistogramSvc::i_splitPath ( const std::string full)

Split full path into its components.

Parameters
fullFull path of the object
dirResulting directory path
objResulting object path

Definition at line 130 of file HistogramSvc.cpp.

130  {
131  string tmp = full;
132  if ( tmp[0] != SEPARATOR ) {
133  tmp.insert( tmp.begin(), SEPARATOR );
134  tmp.insert( tmp.begin(), m_rootName.begin(), m_rootName.end() );
135  }
136  // Remove trailing "/" from newPath if it exists
137  if ( tmp.rfind( SEPARATOR ) == tmp.length() - 1 ) { tmp.erase( tmp.length() - 1, 1 ); }
138  int sep = tmp.rfind( SEPARATOR );
139  return { tmp.substr( 0, sep ), tmp.substr( sep ) };
140 }

◆ initialize()

StatusCode HistogramSvc::initialize ( )
override

Initialise the service.

Definition at line 243 of file HistogramSvc.cpp.

243  {
244  StatusCode status = DataSvc::initialize();
245  // Set root object
246  if ( status.isSuccess() ) {
247  auto rootObj = std::make_unique<DataObject>();
248  status = setRoot( "/stat", rootObj.get() );
249  if ( status.isFailure() ) {
250  error() << "Unable to set hstogram data store root." << endmsg;
251  return status;
252  }
253  rootObj.release();
254  auto svc = service<IConversionSvc>( "HistogramPersistencySvc", true );
255  if ( !svc ) {
256  error() << "Could not find HistogramPersistencySvc." << endmsg;
257  return StatusCode::FAILURE;
258  }
259  setDataLoader( svc.get() ).ignore();
260  // Connect all input streams (if any)
261  for ( auto& j : m_input ) {
262  status = connectInput( j );
263  if ( !status.isSuccess() ) return status;
264  }
265  }
266  if ( !m_defs1D.empty() ) {
267  info() << " Predefined 1D-Histograms: " << endmsg;
268  for ( const auto& ih : m_defs1D ) {
269  info() << " Path='" << ih.first << "'"
270  << " Description " << ih.second << endmsg;
271  }
272  }
273  return status;
274 }

◆ multiply() [1/3]

AIDA::IHistogram1D * HistogramSvc::multiply ( const std::string nameAndTitle,
const AIDA::IHistogram1D &  a,
const AIDA::IHistogram1D &  b 
)
override

Definition at line 1307 of file HistogramSvc.cpp.

1308  {
1309  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Multiply );
1310 }

◆ multiply() [2/3]

AIDA::IHistogram2D * HistogramSvc::multiply ( const std::string nameAndTitle,
const AIDA::IHistogram2D &  a,
const AIDA::IHistogram2D &  b 
)
override

Definition at line 1331 of file HistogramSvc.cpp.

1332  {
1333  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Multiply );
1334 }

◆ multiply() [3/3]

AIDA::IHistogram3D * HistogramSvc::multiply ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  a,
const AIDA::IHistogram3D &  b 
)
override

Definition at line 1355 of file HistogramSvc.cpp.

1356  {
1357  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Multiply );
1358 }

◆ not_implemented()

void HistogramSvc::not_implemented ( ) const
inlineprivate

Definition at line 64 of file HistogramSvc.h.

64 { error() << "Sorry, not yet implemented..." << endmsg; }

◆ print()

std::ostream & HistogramSvc::print ( Base h,
std::ostream s = std::cout 
) const
override

Print (ASCII) the 1D histogram into the output stream.

Definition at line 106 of file HistogramSvc.cpp.

106  {
107  Gaudi::HistogramBase* b = dynamic_cast<Gaudi::HistogramBase*>( h );
108  if ( b ) return b->print( s );
109  error() << "Unknown histogram type: Cannot cast to Gaudi::HistogramBase." << endmsg;
110  return s;
111 }

◆ projectionX()

AIDA::IHistogram1D * HistogramSvc::projectionX ( const std::string name,
const AIDA::IHistogram2D &  h 
)
override

Definition at line 1275 of file HistogramSvc.cpp.

1275  {
1276  return sliceX( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1277 }

◆ projectionXY()

AIDA::IHistogram2D * HistogramSvc::projectionXY ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  h 
)
override

Definition at line 1367 of file HistogramSvc.cpp.

1367  {
1368  return i_project( nameAndTitle, h, "xy" );
1369 }

◆ projectionXZ()

AIDA::IHistogram2D * HistogramSvc::projectionXZ ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  h 
)
override

Definition at line 1372 of file HistogramSvc.cpp.

1372  {
1373  return i_project( nameAndTitle, h, "xz" );
1374 }

◆ projectionY()

AIDA::IHistogram1D * HistogramSvc::projectionY ( const std::string name,
const AIDA::IHistogram2D &  h 
)
override

Definition at line 1280 of file HistogramSvc.cpp.

1280  {
1281  return sliceY( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1282 }

◆ projectionYZ()

AIDA::IHistogram2D * HistogramSvc::projectionYZ ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  h 
)
override

Definition at line 1377 of file HistogramSvc.cpp.

1377  {
1378  return i_project( nameAndTitle, h, "yz" );
1379 }

◆ registerObject() [1/11]

StatusCode HistogramSvc::registerObject ( Base pPar,
const std::string rel,
Base obj 
)
override

Definition at line 862 of file HistogramSvc.cpp.

862  {
863  return registerObject( ::detail::cast( pPar ), rel, obj );
864 }

◆ registerObject() [2/11]

StatusCode HistogramSvc::registerObject ( const std::string full,
Base obj 
)
override

◆ registerObject() [3/11]

StatusCode HistogramSvc::registerObject ( const std::string parent,
const std::string rel,
Base obj 
)
override

Definition at line 857 of file HistogramSvc.cpp.

857  {
858  return registerObject( createPath( parent ), rel, obj );
859 }

◆ registerObject() [4/11]

StatusCode IDataProviderSvc::registerObject
inline

Register object with the data store.

Connect the object identified by its pointer to the node object identified by its pointer.

Parameters
parentObjPointer to parent object.
itemitem number of the object linked to the parent
pObjectPointer to the object to be connected.
Returns
Status code indicating success or failure.

Definition at line 117 of file IDataProviderSvc.h.

117  {
118  return registerObject( parentObj, itemToPath( item ), pObject );
119  }

◆ registerObject() [5/11]

virtual StatusCode IDataProviderSvc::registerObject

Register object with the data store.

Connect the object identified by its pointer to the parent object and the relative path of the object with respect to the parent.

Parameters
parentObjPointer to parent object.
objectPathPath of the object relative to the parent node
pObjectPointer to the object to be connected.
Returns
Status code indicating success or failure.

◆ registerObject() [6/11]

StatusCode DataSvc::registerObject
override

Register object with the data store.

Definition at line 196 of file DataSvc.cpp.

314  {
315  if ( !checkRoot() ) return Status::INVALID_ROOT;
316 
317  if ( !parentObj ) {
318  if ( !objPath.empty() ) {
319  if ( objPath.front() != SEPARATOR ) { return registerObject( m_rootName.value(), objPath, pObject ); }
320  auto sep = find( objPath, SEPARATOR, 1 );
321  if ( sep != std::string_view::npos ) {
322  return registerObject( objPath.substr( 0, sep ), objPath.substr( sep ), pObject );
323  }
324  }
325  return Status::INVALID_OBJ_PATH;
326  }
327  RegEntry* node_entry = CAST_REGENTRY( RegEntry*, parentObj->registry() );
328  if ( node_entry ) {
329  StatusCode status = Status::INVALID_PARENT;
330  auto sep = find( objPath, SEPARATOR, 1 );
331  if ( sep != std::string_view::npos ) {
332  auto p_path = objPath.substr( 0, sep );
333  auto o_path = objPath.substr( sep );
334  RegEntry* par_entry = node_entry->findLeaf( p_path );
335  // Create default object leafs if the
336  // intermediate nodes are not present
337  if ( !par_entry && m_forceLeaves ) {
338  DataObject* pLeaf = createDefaultObject();
339  StatusCode sc = registerObject( parentObj, p_path, pLeaf );
340  if ( !sc.isSuccess() ) delete pLeaf;
341  par_entry = node_entry->findLeaf( p_path );
342  } else if ( par_entry && !par_entry->object() ) {
343  status = i_retrieveEntry( node_entry, p_path, par_entry );
344  if ( !status.isSuccess() && !par_entry->address() && m_forceLeaves ) {
345  DataObject* pLeaf = createDefaultObject();
346  StatusCode sc = registerObject( parentObj, p_path, pLeaf );
347  if ( !sc.isSuccess() ) delete pLeaf;
348  par_entry = node_entry->findLeaf( p_path );
349  }
350  }
351  node_entry = par_entry;
352  if ( node_entry ) {
353  DataObject* obj = node_entry->object();
354  if ( obj ) status = registerObject( obj, o_path, pObject );
355  }
356  } else {
357  RegEntry* leaf = node_entry->findLeaf( objPath );
358  if ( !leaf ) {
359  status = node_entry->add( to_string( objPath ), pObject );
360  } else {
361  DataObject* obj = leaf->object();
362  if ( !obj ) {
363  if ( !pObject ) {
364  error() << "registerObject: trying to register null DataObject" << endmsg;
365  return StatusCode::FAILURE;
366  }
367  pObject->setRegistry( leaf );
368  leaf->setAddress( nullptr );
369  leaf->setObject( pObject );
370  status = StatusCode::SUCCESS;
371  } else {
372  status = Status::DOUBL_OBJ_PATH;
373  }
374  }
375  }
376  return status;
377  }
378  return Status::INVALID_PARENT;
379 }

◆ registerObject() [7/11]

StatusCode HistogramSvc::registerObject ( DataObject pPar,
const std::string rel,
Base obj 
)
override

◆ registerObject() [8/11]

StatusCode IDataProviderSvc::registerObject
inline

Register object with the data store.

Connect the object identified by its pointer to the node object identified by its path.

Parameters
fullPathPath to parent node of the object.
pObjectPointer to the object to be registered.
Returns
Status code indicating success or failure.

Definition at line 72 of file IDataProviderSvc.h.

72  {
73  return registerObject( nullptr, fullPath, pObject );
74  }

◆ registerObject() [9/11]

StatusCode IDataProviderSvc::registerObject
inline

Register object with the data store.

Connect the object identified by its pointer to the parent object and an integer identifier.

Parameters
parentPathPath to parent node of the object.
itemitem number of the object linked to the parent
pObjectPointer to the object to be registered.
Returns
Status code indicating success or failure.

Definition at line 95 of file IDataProviderSvc.h.

95  {
96  return registerObject( parentPath, itemToPath( item ), pObject );
97  }

◆ registerObject() [10/11]

virtual StatusCode IDataProviderSvc::registerObject

Register object with the data store.

Connect the object identified by the path to the parent object and the path of the object itself relative to the specified parent.

Parameters
parentPathPath to parent node of the object.
objectPathPath of the object relative to the parent node
pObjectPointer to the object to be registered.
Returns
Status code indicating success or failure.

◆ registerObject() [11/11]

StatusCode DataSvc::registerObject
override

Register object with the data store.

Definition at line 193 of file DataSvc.cpp.

302  {
303  DataObject* pO = nullptr;
304  StatusCode status = retrieveObject( parentPath, pO );
305  if ( !status.isSuccess() && m_forceLeaves ) {
306  pO = createDefaultObject();
307  status = registerObject( parentPath, pO );
308  if ( !status.isSuccess() ) pO->release();
309  }
310  return status.isSuccess() ? registerObject( pO, objPath, pObject ) : status;
311 }

◆ reinitialize()

StatusCode HistogramSvc::reinitialize ( )
override

Initialise the service.

Definition at line 277 of file HistogramSvc.cpp.

277 { return StatusCode::SUCCESS; }

◆ retrieveObject() [1/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
const std::string item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1066 of file HistogramSvc.cpp.

1066  {
1067  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1068 }

◆ retrieveObject() [2/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
const std::string item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1071 of file HistogramSvc.cpp.

1071  {
1072  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1073 }

◆ retrieveObject() [3/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
const std::string item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1076 of file HistogramSvc.cpp.

1076  {
1077  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1078 }

◆ retrieveObject() [4/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
const std::string item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1056 of file HistogramSvc.cpp.

1056  {
1057  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1058 }

◆ retrieveObject() [5/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
const std::string item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1061 of file HistogramSvc.cpp.

1061  {
1062  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1063 }

◆ retrieveObject() [6/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1041 of file HistogramSvc.cpp.

1041  {
1042  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1043 }

◆ retrieveObject() [7/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1046 of file HistogramSvc.cpp.

1046  {
1047  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1048 }

◆ retrieveObject() [8/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1051 of file HistogramSvc.cpp.

1051  {
1052  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1053 }

◆ retrieveObject() [9/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1031 of file HistogramSvc.cpp.

1031  {
1032  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1033 }

◆ retrieveObject() [10/46]

StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1036 of file HistogramSvc.cpp.

1036  {
1037  return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1038 }

◆ retrieveObject() [11/46]

StatusCode HistogramSvc::retrieveObject ( const std::string full,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 915 of file HistogramSvc.cpp.

915  {
916  return Helper( this ).retrieve( full, obj );
917 }

◆ retrieveObject() [12/46]

StatusCode HistogramSvc::retrieveObject ( const std::string full,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 920 of file HistogramSvc.cpp.

920  {
921  return Helper( this ).retrieve( full, obj );
922 }

◆ retrieveObject() [13/46]

StatusCode HistogramSvc::retrieveObject ( const std::string full,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 925 of file HistogramSvc.cpp.

925  {
926  return Helper( this ).retrieve( full, obj );
927 }

◆ retrieveObject() [14/46]

StatusCode HistogramSvc::retrieveObject ( const std::string full,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 905 of file HistogramSvc.cpp.

905  {
906  return Helper( this ).retrieve( full, obj );
907 }

◆ retrieveObject() [15/46]

StatusCode HistogramSvc::retrieveObject ( const std::string full,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 910 of file HistogramSvc.cpp.

910  {
911  return Helper( this ).retrieve( full, obj );
912 }

◆ retrieveObject() [16/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
const std::string rel,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 942 of file HistogramSvc.cpp.

942  {
943  return Helper( this ).retrieve( parent, rel, obj );
944 }

◆ retrieveObject() [17/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
const std::string rel,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 947 of file HistogramSvc.cpp.

947  {
948  return Helper( this ).retrieve( parent, rel, obj );
949 }

◆ retrieveObject() [18/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
const std::string rel,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 952 of file HistogramSvc.cpp.

952  {
953  return Helper( this ).retrieve( parent, rel, obj );
954 }

◆ retrieveObject() [19/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
const std::string rel,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 930 of file HistogramSvc.cpp.

932  {
933  return Helper( this ).retrieve( parent, rel, obj );
934 }

◆ retrieveObject() [20/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
const std::string rel,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 937 of file HistogramSvc.cpp.

937  {
938  return Helper( this ).retrieve( parent, rel, obj );
939 }

◆ retrieveObject() [21/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
int  item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 967 of file HistogramSvc.cpp.

967  {
968  return Helper( this ).retrieve( parent, item, obj );
969 }

◆ retrieveObject() [22/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
int  item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 972 of file HistogramSvc.cpp.

972  {
973  return Helper( this ).retrieve( parent, item, obj );
974 }

◆ retrieveObject() [23/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
int  item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 977 of file HistogramSvc.cpp.

977  {
978  return Helper( this ).retrieve( parent, item, obj );
979 }

◆ retrieveObject() [24/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
int  item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 957 of file HistogramSvc.cpp.

957  {
958  return Helper( this ).retrieve( parent, item, obj );
959 }

◆ retrieveObject() [25/46]

StatusCode HistogramSvc::retrieveObject ( const std::string parent,
int  item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 962 of file HistogramSvc.cpp.

962  {
963  return Helper( this ).retrieve( parent, item, obj );
964 }

◆ retrieveObject() [26/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
const std::string item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 991 of file HistogramSvc.cpp.

991  {
992  return Helper( this ).retrieve( par, item, obj );
993 }

◆ retrieveObject() [27/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
const std::string item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 996 of file HistogramSvc.cpp.

996  {
997  return Helper( this ).retrieve( par, item, obj );
998 }

◆ retrieveObject() [28/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
const std::string item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1001 of file HistogramSvc.cpp.

1001  {
1002  return Helper( this ).retrieve( par, item, obj );
1003 }

◆ retrieveObject() [29/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
const std::string item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 981 of file HistogramSvc.cpp.

981  {
982  return Helper( this ).retrieve( par, item, obj );
983 }

◆ retrieveObject() [30/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
const std::string item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 986 of file HistogramSvc.cpp.

986  {
987  return Helper( this ).retrieve( par, item, obj );
988 }

◆ retrieveObject() [31/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 1016 of file HistogramSvc.cpp.

1016  {
1017  return Helper( this ).retrieve( par, item, obj );
1018 }

◆ retrieveObject() [32/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 1021 of file HistogramSvc.cpp.

1021  {
1022  return Helper( this ).retrieve( par, item, obj );
1023 }

◆ retrieveObject() [33/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 1026 of file HistogramSvc.cpp.

1026  {
1027  return Helper( this ).retrieve( par, item, obj );
1028 }

◆ retrieveObject() [34/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 1006 of file HistogramSvc.cpp.

1006  {
1007  return Helper( this ).retrieve( par, item, obj );
1008 }

◆ retrieveObject() [35/46]

StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 1011 of file HistogramSvc.cpp.

1011  {
1012  return Helper( this ).retrieve( par, item, obj );
1013 }

◆ retrieveObject() [36/46]

StatusCode IDataProviderSvc::retrieveObject
inline

Retrieve object from data store.

The object to be retrieved is identified by the pointer to the parent object and an integer identifier. In case the object is not present it will be loaded and converted if possible.

Parameters
parentObjPointer to parent node of the object.
itemItem identifier.
pObjectReference to the pointer of the object to be returned.
Returns
Status code indicating success or failure.

Definition at line 301 of file IDataProviderSvc.h.

301  {
302  return retrieveObject( parentObj, itemToPath( item ), pObject );
303  }

◆ retrieveObject() [37/46]

StatusCode IDataProviderSvc::retrieveObject
inline

Retrieve object from data store.

The object to be retrieved is identified by the pointer to the parent object and the relative path with respect to the node. In case the object is not present it will be loaded and converted if possible.

Parameters
parentObjPointer to parent node of the object.
objectPathPath of the object relative to the parent.
pObjectReference to the pointer of the object to be returned.
Returns
Status code indicating success or failure.

Definition at line 287 of file IDataProviderSvc.h.

287  {
288  return retrieveObject( parentObj ? parentObj->registry() : nullptr, objectPath, pObject );
289  }

◆ retrieveObject() [38/46]

virtual StatusCode IDataProviderSvc::retrieveObject

Retrieve object identified by its directory entry.

The result will be returned in the second argument. In case the object is not present it will be loaded and converted if possible. ** FASTEST ACCESS TO THE DATA STORE **

Parameters
pDirectoryPointer to the object.
pathString with relative path to directory. Ideally ""!
pObjectReference to the pointer of the object to be returned.
Returns
Status code indicating success or failure.

◆ retrieveObject() [39/46]

StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
const std::string path,
AIDA::IHistogram1D *&  obj 
)
override

Definition at line 880 of file HistogramSvc.cpp.

880  {
881  return Helper( this ).retrieve( pReg, path, obj );
882 }

◆ retrieveObject() [40/46]

StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
const std::string path,
AIDA::IHistogram2D *&  obj 
)
override

Definition at line 890 of file HistogramSvc.cpp.

890  {
891  return Helper( this ).retrieve( pReg, path, obj );
892 }

◆ retrieveObject() [41/46]

StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
const std::string path,
AIDA::IHistogram3D *&  obj 
)
override

Definition at line 900 of file HistogramSvc.cpp.

900  {
901  return Helper( this ).retrieve( pReg, path, obj );
902 }

◆ retrieveObject() [42/46]

StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
const std::string path,
AIDA::IProfile1D *&  obj 
)
override

Definition at line 885 of file HistogramSvc.cpp.

885  {
886  return Helper( this ).retrieve( pReg, path, obj );
887 }

◆ retrieveObject() [43/46]

StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
const std::string path,
AIDA::IProfile2D *&  obj 
)
override

Definition at line 895 of file HistogramSvc.cpp.

895  {
896  return Helper( this ).retrieve( pReg, path, obj );
897 }

◆ retrieveObject() [44/46]

StatusCode IDataProviderSvc::retrieveObject
inline

Retrieve object identified by its full path from the data store.

The result will be returned in the second argument. In case the object is not present it will be loaded and converted if possible.

Parameters
fullPathPath name of the object.
pObjectReference to the pointer of the object to be returned.
Returns
Status code indicating success or failure.

Definition at line 243 of file IDataProviderSvc.h.

243  {
244  return retrieveObject( static_cast<IRegistry*>( nullptr ), fullPath, pObject );
245  }

◆ retrieveObject() [45/46]

StatusCode IDataProviderSvc::retrieveObject
inline

Retrieve object from data store.

The object to be retrieved is identified by the path to the parent object and an integer identifier. In case the object is not present it will be loaded and converted if possible.

Parameters
parentPathPath to parent node of the object.
itemItem identifier.
pObjectReference to the pointer of the object to be returned.
Returns
Status code indicating success or failure.

Definition at line 273 of file IDataProviderSvc.h.

273  {
274  return retrieveObject( parentPath, itemToPath( item ), pObject );
275  }

◆ retrieveObject() [46/46]

StatusCode IDataProviderSvc::retrieveObject
inline

Retrieve object from data store.

The object to be retrieved is identified by the path of the parent object and the relative path with respect to the node. In case the object is not present it will be loaded and converted if possible.

Parameters
parentPathPath to parent node of the object.
objectPathPath of the object relative to the parent.
pObjectReference to the pointer of the object to be returned.
Returns
Status code indicating success or failure.

Definition at line 257 of file IDataProviderSvc.h.

257  {
258  DataObject* parent = nullptr;
259  StatusCode status = retrieveObject( parentPath, parent );
260  return status.isSuccess() ? retrieveObject( parent, objectPath, pObject ) : status;
261  }

◆ sliceX() [1/2]

AIDA::IHistogram1D * HistogramSvc::sliceX ( const std::string name,
const AIDA::IHistogram2D &  h,
int  indexY 
)
override

Definition at line 1285 of file HistogramSvc.cpp.

1285  {
1286  return sliceX( name, h, indexY, indexY );
1287 }

◆ sliceX() [2/2]

AIDA::IHistogram1D* HistogramSvc::sliceX ( const std::string name,
const AIDA::IHistogram2D &  h,
int  indexY1,
int  indexY2 
)
override

◆ sliceXY()

AIDA::IHistogram2D* HistogramSvc::sliceXY ( const std::string ,
const AIDA::IHistogram3D &  ,
int  ,
int   
)
inlineoverride

Definition at line 866 of file HistogramSvc.h.

867  {
868  not_implemented();
869  return nullptr;
870  }

◆ sliceXZ()

AIDA::IHistogram2D* HistogramSvc::sliceXZ ( const std::string ,
const AIDA::IHistogram3D &  ,
int  ,
int   
)
inlineoverride

Definition at line 872 of file HistogramSvc.h.

873  {
874  not_implemented();
875  return nullptr;
876  }

◆ sliceY() [1/2]

AIDA::IHistogram1D * HistogramSvc::sliceY ( const std::string name,
const AIDA::IHistogram2D &  h,
int  indexX 
)
override

Definition at line 1290 of file HistogramSvc.cpp.

1290  {
1291  return sliceY( name, h, indexX, indexX );
1292 }

◆ sliceY() [2/2]

AIDA::IHistogram1D* HistogramSvc::sliceY ( const std::string name,
const AIDA::IHistogram2D &  h,
int  indexX1,
int  indexX2 
)
override

◆ sliceYZ()

AIDA::IHistogram2D* HistogramSvc::sliceYZ ( const std::string ,
const AIDA::IHistogram3D &  ,
int  ,
int   
)
inlineoverride

Definition at line 878 of file HistogramSvc.h.

879  {
880  not_implemented();
881  return nullptr;
882  }

◆ subtract() [1/3]

AIDA::IHistogram1D * HistogramSvc::subtract ( const std::string nameAndTitle,
const AIDA::IHistogram1D &  a,
const AIDA::IHistogram1D &  b 
)
override

Definition at line 1301 of file HistogramSvc.cpp.

1302  {
1303  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Add, -1. );
1304 }

◆ subtract() [2/3]

AIDA::IHistogram2D * HistogramSvc::subtract ( const std::string nameAndTitle,
const AIDA::IHistogram2D &  a,
const AIDA::IHistogram2D &  b 
)
override

Definition at line 1325 of file HistogramSvc.cpp.

1326  {
1327  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, -1. );
1328 }

◆ subtract() [3/3]

AIDA::IHistogram3D * HistogramSvc::subtract ( const std::string nameAndTitle,
const AIDA::IHistogram3D &  a,
const AIDA::IHistogram3D &  b 
)
override

Definition at line 1349 of file HistogramSvc.cpp.

1350  {
1351  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, -1. );
1352 }

◆ unregisterObject() [1/9]

StatusCode HistogramSvc::unregisterObject ( Base obj)
override

Definition at line 867 of file HistogramSvc.cpp.

867 { return unregisterObject( ::detail::cast( obj ) ); }

◆ unregisterObject() [2/9]

StatusCode HistogramSvc::unregisterObject ( Base obj,
const std::string objectPath 
)
override

Definition at line 870 of file HistogramSvc.cpp.

870  {
871  return unregisterObject( ::detail::cast( obj ), objectPath );
872 }

◆ unregisterObject() [3/9]

StatusCode HistogramSvc::unregisterObject ( Base obj,
int  item 
)
override

Definition at line 875 of file HistogramSvc.cpp.

875  {
876  return unregisterObject( ::detail::cast( obj ), item );
877 }

◆ unregisterObject() [4/9]

virtual StatusCode IDataProviderSvc::unregisterObject

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by its pointer. The object must previously have been registered with the data store.

Parameters
pObjectPointer to the object.
Returns
Status code indicating success or failure.

◆ unregisterObject() [5/9]

StatusCode IDataProviderSvc::unregisterObject
inline

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent object and an integer identifier of the object itself.

Parameters
pParentPointer to parent object.
itemInteger identifier of the object item.
Returns
Status code indicating success or failure.

Definition at line 219 of file IDataProviderSvc.h.

219  {
220  return unregisterObject( pParent, itemToPath( item ) );
221  }

◆ unregisterObject() [6/9]

virtual StatusCode IDataProviderSvc::unregisterObject

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent object and the path of the object relative to the parent.

Parameters
pParentPointer to parent object.
objPathPath name of the object relative to the parent.
Returns
Status code indicating success or failure.

◆ unregisterObject() [7/9]

virtual StatusCode IDataProviderSvc::unregisterObject

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by full path name.

Parameters
fullPathPath name of the object.
Returns
Status code indicating success or failure.

◆ unregisterObject() [8/9]

StatusCode IDataProviderSvc::unregisterObject
inline

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent path name and an integer identifier of the object itself.

Parameters
parentPathPath name of the parent object.
itemInteger identifier of the object item.
Returns
Status code indicating success or failure.

Definition at line 170 of file IDataProviderSvc.h.

170  {
171  return unregisterObject( parentPath, itemToPath( item ) );
172  }

◆ unregisterObject() [9/9]

StatusCode IDataProviderSvc::unregisterObject
inline

Unregister object from the data store.

On registration the client gives up ownership of the object and may no longer delete the object. unregistering the object is the opposite: ownership is claimed back by the user. But note:

  • All depending objects will be deleted, ie. all leaves "below" the entry in question; NOT the object itself, the object itself must be destroyed by the user.

The object is identified by parent path name and the path of the object relative to the parent.

Parameters
parentPathPath name of the parent object.
objPathPath name of the object relative to the parent.
Returns
Status code indicating success or failure.

Definition at line 150 of file IDataProviderSvc.h.

150  {
151  DataObject* pO = nullptr;
152  StatusCode status = findObject( parentPath, pO );
153  return status.isSuccess() ? unregisterObject( pO, objPath ) : status;
154  }

◆ update1Ddefs()

void HistogramSvc::update1Ddefs ( )
private

handler to be invoked for updating property m_defs1D

Definition at line 344 of file HistogramSvc.cpp.

344  {
345  // check and remove the leading '/stat/'
346  removeLeading( m_defs1D.value(), "/stat/" );
347 }

◆ write() [1/2]

int HistogramSvc::write ( Base h,
const char *  file_name 
) const
override

Write (ASCII) the 1D histogram table into a file.

◆ write() [2/2]

std::ostream& HistogramSvc::write ( Base h,
std::ostream s = std::cout 
) const
override

Write (ASCII) the 1D histogram table into the output stream.

Member Data Documentation

◆ m_defs1D

Gaudi::Property<Histo1DMap> HistogramSvc::m_defs1D
private
Initial value:
{
this, "Predefined1DHistos", {}, &HistogramSvc::update1Ddefs, "histograms with predefined parameters" }

Definition at line 1079 of file HistogramSvc.h.

◆ m_input

Gaudi::Property<DBaseEntries> HistogramSvc::m_input { this, "Input", {}, "input streams" }
private

Definition at line 1078 of file HistogramSvc.h.

◆ m_mods1D

std::set<std::string> HistogramSvc::m_mods1D
private

Definition at line 1083 of file HistogramSvc.h.


The documentation for this class was generated from the following files:
Gaudi::createH1D
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
MSG::DEBUG
@ DEBUG
Definition: IMessageSvc.h:25
toupper
void toupper(std::string &s)
Definition: ExceptionSvc.cpp:36
DataSvcHelpers::RegistryEntry::setAddress
void setAddress(IOpaqueAddress *pAddress) override
Set/Update Opaque address.
Definition: RegistryEntry.cpp:119
GaudiPython.Bindings.Helper
Helper
Definition: Bindings.py:83
std::move
T move(T... args)
DataSvcHelpers::RegistryEntry::findLeaf
RegistryEntry * findLeaf(std::string_view path) const
Find identified leaf in this registry node.
Definition: RegistryEntry.h:103
Gaudi::createProf1D
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
StatusCode::isSuccess
bool isSuccess() const
Definition: StatusCode.h:314
std::pair
HistogramSvc::book
AIDA::IHistogram1D * book(const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx) override
Book histogram and register it with the histogram data store.
Gaudi::Accumulators::atomicity::full
@ full
gaudirun.s
string s
Definition: gaudirun.py:346
std::string::find
T find(T... args)
std::set::size
T size(T... args)
HistogramSvc::m_mods1D
std::set< std::string > m_mods1D
Definition: HistogramSvc.h:1083
CAST_REGENTRY
#define CAST_REGENTRY(x, y)
Definition: DataSvc.cpp:72
DataObject::release
virtual unsigned long release()
release reference to object
Definition: DataObject.cpp:57
Gaudi::createH2D
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
DataSvc::setDataLoader
StatusCode setDataLoader(IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr) override
IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service and optionally a data pro...
Definition: DataSvc.cpp:186
GaudiException
Definition: GaudiException.h:31
HBOOK_StorageType
const long HBOOK_StorageType
Definition: ClassID.h:66
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
Definition: HistogramSvc.cpp:880
DataSvc::i_retrieveEntry
StatusCode i_retrieveEntry(DataSvcHelpers::RegistryEntry *parentObj, std::string_view path, DataSvcHelpers::RegistryEntry *&pEntry)
Definition: DataSvc.cpp:541
HistogramSvc::m_defs1D
Gaudi::Property< Histo1DMap > m_defs1D
Definition: HistogramSvc.h:1079
IRegistry
Definition: IRegistry.h:32
HistogramSvc::Helper::act
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:103
System::typeinfoName
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:310
HistogramSvc::sliceX
AIDA::IHistogram1D * sliceX(const std::string &name, const AIDA::IHistogram2D &h, int indexY) override
Definition: HistogramSvc.cpp:1285
HistogramSvc::Base
AIDA::IBaseHistogram Base
Definition: HistogramSvc.h:69
CommonMessaging< implements< IService, IProperty, IStateful > >::msgLevel
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
Definition: CommonMessaging.h:148
extends< DataSvc, IHistogramSvc >::base_class
extends base_class
Typedef to this class.
Definition: extends.h:24
HistogramSvc::sliceY
AIDA::IHistogram1D * sliceY(const std::string &name, const AIDA::IHistogram2D &h, int indexX) override
Definition: HistogramSvc.cpp:1290
graphanalysis.filename
string filename
Definition: graphanalysis.py:131
DataSvc::clearStore
StatusCode clearStore() override
IDataManagerSvc: Remove all data objects in the data store.
Definition: DataSvc.cpp:111
std::set::clear
T clear(T... args)
Gaudi::HistogramBase
Definition: HistogramBase.h:32
compareOutputFiles.par
string par
Definition: compareOutputFiles.py:483
HistogramSvc::i_book
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:170
GenericAddress
Definition: GenericAddress.h:30
DataSvcHelpers::RegistryEntry::address
IOpaqueAddress * address() const override
Retrieve opaque storage address.
Definition: RegistryEntry.h:133
DataSvc::createDefaultObject
virtual DataObject * createDefaultObject() const
Create default objects in case forced creation of leaves is requested.
Definition: DataSvc.cpp:870
DataSvcHelpers::RegistryEntry::object
DataObject * object() const override
Retrive object behind the link.
Definition: RegistryEntry.h:131
Service::name
const std::string & name() const override
Retrieve name of the service
Definition: Service.cpp:332
StatusCode
Definition: StatusCode.h:65
HistogramSvc::connectInput
StatusCode connectInput(const std::string &ident)
Connect input histogram file to the service.
Definition: HistogramSvc.cpp:193
HistoDumpEx.r
r
Definition: HistoDumpEx.py:20
HistogramSvc::bookProf
AIDA::IProfile1D * bookProf(const std::string &par, const std::string &rel, const std::string &title, int nx, double lowx, double upx, const std::string &opt) override
Book histogram and register it with the histogram data store.
DataSvc::m_rootName
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:62
HistogramSvc::unregisterObject
StatusCode unregisterObject(Base *obj) override
Definition: HistogramSvc.cpp:867
DataSvcHelpers::RegistryEntry::setObject
void setObject(DataObject *obj)
Set/Update object address.
Definition: RegistryEntry.cpp:129
std::string::c_str
T c_str(T... args)
AlgSequencer.h
h
Definition: AlgSequencer.py:32
Gaudi::Property::value
const ValueType & value() const
Backward compatibility (.
Definition: Property.h:240
std::to_string
T to_string(T... args)
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:961
Gaudi::createH3D
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:203
ROOT_StorageType
const long ROOT_StorageType
Definition: ClassID.h:62
Gaudi::HistogramBase::print
virtual std::ostream & print(std::ostream &s) const =0
Print histogram to output stream.
StatusCode::ignore
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
Definition: StatusCode.h:139
SEPARATOR
constexpr char SEPARATOR
Definition: RegistryEntry.cpp:50
std::string::substr
T substr(T... args)
StatusCode::isFailure
bool isFailure() const
Definition: StatusCode.h:129
DataSvc::checkRoot
bool checkRoot()
Check if root path is valid.
Definition: DataSvc.h:264
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
Definition: HistogramSvc.cpp:1081
DataSvc::m_forceLeaves
Gaudi::Property< bool > m_forceLeaves
Definition: DataSvc.h:65
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
HistogramSvc::createPath
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
Definition: HistogramSvc.cpp:143
DataSvcHelpers::RegistryEntry
Definition: RegistryEntry.h:46
GenericAddress::release
unsigned long release() override
release reference to object
Definition: GenericAddress.h:71
HistogramSvc::i_splitPath
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.
Definition: HistogramSvc.cpp:130
std::string::insert
T insert(T... args)
HistogramSvc::i_project
AIDA::IHistogram2D * i_project(const std::string &nameAndTitle, const AIDA::IHistogram3D &h, const std::string &dir)
Helper for 2D projections.
Definition: HistogramSvc.cpp:91
DataSvc::setRoot
StatusCode setRoot(std::string root_name, DataObject *pRootObj) override
Initialize data store for new event by giving new event path and root object.
Definition: DataSvc.cpp:141
DataSvcHelpers::RegistryEntry::add
StatusCode add(std::string name, DataObject *pObject, bool is_soft=false)
Add entry to data store.
Definition: RegistryEntry.cpp:198
DataObject
Definition: DataObject.h:40
DataSvc::registerObject
StatusCode registerObject(std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
Register object with the data store.
Definition: DataSvc.cpp:302
std::set::empty
T empty(T... args)
HistogramSvc::m_input
Gaudi::Property< DBaseEntries > m_input
Definition: HistogramSvc.h:1078
DataSvc::initialize
StatusCode initialize() override
Service initialization.
Definition: DataSvc.cpp:821
HistogramSvc::not_implemented
void not_implemented() const
Definition: HistogramSvc.h:64
Gaudi::createProf2D
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
HistogramSvc::update1Ddefs
void update1Ddefs()
handler to be invoked for updating property m_defs1D
Definition: HistogramSvc.cpp:344
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition: StatusCode.h:101
HistogramSvc::registerObject
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
Definition: HistogramSvc.cpp:857
DataSvc::m_rootCLID
Gaudi::Property< CLID > m_rootCLID
Definition: DataSvc.h:61
Gaudi::Utils::AttribStringParser
Parse attribute strings allowing iteration over the various attributes.
Definition: AttribStringParser.h:40
HistogramSvc::createDirectory
DataObject * createDirectory(const std::string &parentDir, const std::string &subDir) override
Create a sub-directory in a directory.
Definition: HistogramSvc.cpp:168
DataSvc::registerAddress
StatusCode registerAddress(std::string_view fullPath, IOpaqueAddress *pAddress) override
IDataManagerSvc: Register object address with the data store.
Definition: DataSvc.cpp:224
HistogramSvc::createCopy
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override
Definition: HistogramSvc.cpp:1406
DataSvc::finalize
StatusCode finalize() override
Service initialization.
Definition: DataSvc.cpp:854