The Gaudi Framework  v32r2 (46d42edc)
HistogramSvc Class Reference

HistogramSvc class definition. More...

#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...
 
StatusCode setProperties ()
 Method for setting declared properties to the values specified for the job. 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 >
StatusCode declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true)
 Declare used tool. More...
 
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 Gaudi::Details::PropertyBase &p) override
 set the property form another property More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 set the property from name and the value More...
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (const std::string &name) const override
 get the property by name More...
 
StatusCode getProperty (const std::string &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 (const std::string &name) const override
 Return true if we have a property with the given name. More...
 
 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...
 
MSG::Level outputLevel () const
 Backward compatibility function for getting the output level. More...
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) 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
 ~Service () override
 Standard Destructor. More...
 
int outputLevel () const
 get the Service's output level More...
 
- Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
Gaudi::Details::PropertyBaseproperty (const std::string &name) const
 
- 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"}
 
Gaudi::Property< bool > m_auditInit {this, "AuditServices", false, " 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()"}
 
SmartIF< IAuditorSvcm_pAuditorSvc
 Auditor Service. More...
 

Detailed Description

HistogramSvc class definition.

Definition at line 51 of file HistogramSvc.h.

Member Typedef Documentation

◆ Base

typedef AIDA::IBaseHistogram HistogramSvc::Base
protected

Definition at line 59 of file HistogramSvc.h.

◆ DBaseEntries

◆ Edges

Definition at line 135 of file HistogramSvc.h.

◆ H3D

typedef AIDA::IHistogram3D HistogramSvc::H3D
protected

Definition at line 57 of file HistogramSvc.h.

◆ Histo1DMap

◆ P2D

typedef AIDA::IProfile2D HistogramSvc::P2D
protected

Definition at line 58 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 328 of file HistogramSvc.cpp.

328  : base_class( nam, svc ) {
329  m_rootName = "/stat";
330  m_rootCLID = CLID_DataObject;
331 }
Gaudi::Property< CLID > m_rootCLID
Definition: DataSvc.h:51
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:52
extends base_class
Typedef to this class.
Definition: extends.h:14

◆ ~HistogramSvc()

HistogramSvc::~HistogramSvc ( )
override

Destructor.

Definition at line 177 of file HistogramSvc.cpp.

177  {
178  setDataLoader( nullptr ).ignore();
179  clearStore().ignore();
180 }
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:177
const StatusCode & ignore() const
Ignore/check StatusCode.
Definition: StatusCode.h:153
StatusCode clearStore() override
IDataManagerSvc: Remove all data objects in the data store.
Definition: DataSvc.cpp:101

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 1285 of file HistogramSvc.cpp.

1286  {
1287  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Add, 1. );
1288 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ add() [2/3]

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

Definition at line 1309 of file HistogramSvc.cpp.

1310  {
1311  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, 1. );
1312 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ add() [3/3]

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

Definition at line 1333 of file HistogramSvc.cpp.

1334  {
1335  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, 1. );
1336 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ book() [1/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() [2/36]

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

◆ book() [3/36]

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

◆ book() [4/36]

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

◆ book() [5/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() [6/36]

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

◆ book() [7/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 457 of file HistogramSvc.cpp.

457  {
458  return book( par, std::to_string( hID ), title, e );
459 }
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.
T to_string(T... args)

◆ book() [8/36]

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

Definition at line 462 of file HistogramSvc.cpp.

462  {
463  return book( pPar, std::to_string( hID ), title, e );
464 }
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.
T to_string(T... args)

◆ book() [9/36]

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

Definition at line 467 of file HistogramSvc.cpp.

468  {
469  return book( createPath( par ), rel, title, e );
470 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ book() [10/36]

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

Definition at line 473 of file HistogramSvc.cpp.

474  {
475  return book( loc.first, loc.second, title, e );
476 }
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.

◆ book() [11/36]

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

Definition at line 479 of file HistogramSvc.cpp.

479  {
480  return book( i_splitPath( full ), title, e );
481 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ book() [12/36]

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

Definition at line 484 of file HistogramSvc.cpp.

484  {
485  return i_book( pPar, rel, title, Gaudi::createH1D( title, e ) );
486 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.

◆ book() [13/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 558 of file HistogramSvc.cpp.

559  {
560  return book( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
561 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ book() [14/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 564 of file HistogramSvc.cpp.

565  {
566  return book( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy );
567 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ book() [15/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 570 of file HistogramSvc.cpp.

571  {
572  return book( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
573 }
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.
T to_string(T... args)

◆ book() [16/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 576 of file HistogramSvc.cpp.

577  {
578  return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
579 }
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.

◆ book() [17/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 582 of file HistogramSvc.cpp.

583  {
584  return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
585 }
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.
T to_string(T... args)

◆ book() [18/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 588 of file HistogramSvc.cpp.

589  {
590  return i_book( pPar, rel, title, Gaudi::createH2D( title, nx, lowx, upx, ny, lowy, upy ) );
591 }
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160

◆ book() [19/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 670 of file HistogramSvc.cpp.

670  {
671  return book( i_splitPath( full ), title, x, y );
672 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ book() [20/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 675 of file HistogramSvc.cpp.

676  {
677  return book( createPath( par ), rel, title, x, y );
678 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ book() [21/36]

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

Definition at line 681 of file HistogramSvc.cpp.

681  {
682  return book( par, std::to_string( hID ), title, x, y );
683 }
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.
T to_string(T... args)

◆ book() [22/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 686 of file HistogramSvc.cpp.

687  {
688  return book( loc.first, loc.second, title, x, y );
689 }
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.

◆ book() [23/36]

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

Definition at line 692 of file HistogramSvc.cpp.

692  {
693  return book( pPar, std::to_string( hID ), title, x, y );
694 }
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.
T to_string(T... args)

◆ book() [24/36]

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

Definition at line 697 of file HistogramSvc.cpp.

698  {
699  return i_book( pPar, rel, title, Gaudi::createH2D( title, x, y ) );
700 }
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160

◆ book() [25/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 773 of file HistogramSvc.cpp.

774  {
775  return book( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
776 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ book() [26/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 779 of file HistogramSvc.cpp.

781  {
782  return book( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
783 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ book() [27/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 786 of file HistogramSvc.cpp.

787  {
788  return book( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
789 }
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.
T to_string(T... args)

◆ book() [28/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 792 of file HistogramSvc.cpp.

793  {
794  return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
795 }
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.
T to_string(T... args)

◆ book() [29/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 798 of file HistogramSvc.cpp.

800  {
801  return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
802 }
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.

◆ 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 805 of file HistogramSvc.cpp.

807  {
808  return i_book( pPar, rel, title, Gaudi::createH3D( title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz ) );
809 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.

◆ book() [31/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 812 of file HistogramSvc.cpp.

812  {
813  return book( i_splitPath( full ), title, x, y, z );
814 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ book() [32/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 817 of file HistogramSvc.cpp.

818  {
819  return book( createPath( par ), rel, title, x, y, z );
820 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ book() [33/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 823 of file HistogramSvc.cpp.

824  {
825  return book( par, std::to_string( hID ), title, x, y, z );
826 }
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.
T to_string(T... args)

◆ book() [34/36]

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

Definition at line 829 of file HistogramSvc.cpp.

830  {
831  return book( pPar, std::to_string( hID ), title, x, y, z );
832 }
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.
T to_string(T... args)

◆ book() [35/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 835 of file HistogramSvc.cpp.

836  {
837  return book( loc.first, loc.second, title, x, y, z );
838 }
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.

◆ book() [36/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 841 of file HistogramSvc.cpp.

842  {
843  return i_book( pPar, rel, title, Gaudi::createH3D( title, x, y, z ) );
844 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.

◆ bookProf() [1/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() [2/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() [3/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() [4/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() [5/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() [6/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() [7/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() [8/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() [9/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() [10/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() [11/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() [12/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() [13/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 489 of file HistogramSvc.cpp.

489  {
490  return bookProf( i_splitPath( full ), title, e );
491 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ bookProf() [14/48]

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

Definition at line 494 of file HistogramSvc.cpp.

495  {
496  return bookProf( createPath( par ), rel, title, e );
497 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ bookProf() [15/48]

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

Definition at line 500 of file HistogramSvc.cpp.

500  {
501  return bookProf( par, std::to_string( hID ), title, e );
502 }
T to_string(T... args)
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.

◆ bookProf() [16/48]

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

Definition at line 505 of file HistogramSvc.cpp.

505  {
506  return bookProf( pPar, std::to_string( hID ), title, e );
507 }
T to_string(T... args)
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.

◆ bookProf() [17/48]

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

Definition at line 510 of file HistogramSvc.cpp.

511  {
512  return bookProf( loc.first, loc.second, title, e );
513 }
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.

◆ bookProf() [18/48]

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

Definition at line 516 of file HistogramSvc.cpp.

517  {
518  return i_book( pPar, rel, title, Gaudi::createProf1D( title, e, 0, 0 ) );
519 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.

◆ bookProf() [19/48]

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

Definition at line 522 of file HistogramSvc.cpp.

523  {
524  return bookProf( i_splitPath( full ), title, e, upper, lower );
525 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ bookProf() [20/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 528 of file HistogramSvc.cpp.

529  {
530  return bookProf( createPath( par ), rel, title, e, upper, lower );
531 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ bookProf() [21/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 534 of file HistogramSvc.cpp.

535  {
536  return bookProf( par, std::to_string( hID ), title, e, upper, lower );
537 }
T to_string(T... args)
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.

◆ bookProf() [22/48]

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

Definition at line 540 of file HistogramSvc.cpp.

541  {
542  return bookProf( pPar, std::to_string( hID ), title, e, upper, lower );
543 }
T to_string(T... args)
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.

◆ bookProf() [23/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 546 of file HistogramSvc.cpp.

547  {
548  return bookProf( loc.first, loc.second, title, e, upper, lower );
549 }
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.

◆ bookProf() [24/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 552 of file HistogramSvc.cpp.

553  {
554  return i_book( pPar, rel, title, Gaudi::createProf1D( title, e, upper, lower ) );
555 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.

◆ bookProf() [25/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 594 of file HistogramSvc.cpp.

595  {
596  return bookProf( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
597 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ bookProf() [26/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 600 of file HistogramSvc.cpp.

602  {
603  return bookProf( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
604 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ bookProf() [27/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 607 of file HistogramSvc.cpp.

609  {
610  return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
611 }
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.

◆ bookProf() [28/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 614 of file HistogramSvc.cpp.

616  {
617  return bookProf( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
618 }
T to_string(T... args)
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.

◆ bookProf() [29/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 621 of file HistogramSvc.cpp.

622  {
623  return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
624 }
T to_string(T... args)
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.

◆ bookProf() [30/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 627 of file HistogramSvc.cpp.

629  {
630  return i_book( pPar, rel, title, Gaudi::createProf2D( title, nx, lowx, upx, ny, lowy, upy, upper, lower ) );
631 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.

◆ bookProf() [31/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 634 of file HistogramSvc.cpp.

635  {
636  return bookProf( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
637 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ bookProf() [32/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 640 of file HistogramSvc.cpp.

641  {
642  return bookProf( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy );
643 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ bookProf() [33/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 646 of file HistogramSvc.cpp.

647  {
648  return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
649 }
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.

◆ bookProf() [34/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 652 of file HistogramSvc.cpp.

653  {
654  return bookProf( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
655 }
T to_string(T... args)
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.

◆ bookProf() [35/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 658 of file HistogramSvc.cpp.

659  {
660  return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
661 }
T to_string(T... args)
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.

◆ bookProf() [36/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 664 of file HistogramSvc.cpp.

665  {
666  return i_book( pPar, rel, title, Gaudi::createProf2D( title, nx, lowx, upx, ny, lowy, upy, 0, 0 ) );
667 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.

◆ bookProf() [37/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 703 of file HistogramSvc.cpp.

703  {
704  return bookProf( i_splitPath( full ), title, x, y );
705 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ bookProf() [38/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 708 of file HistogramSvc.cpp.

709  {
710  return bookProf( createPath( par ), rel, title, x, y );
711 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ bookProf() [39/48]

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

Definition at line 714 of file HistogramSvc.cpp.

715  {
716  return bookProf( par, std::to_string( hID ), title, x, y );
717 }
T to_string(T... args)
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.

◆ bookProf() [40/48]

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

Definition at line 720 of file HistogramSvc.cpp.

720  {
721  return bookProf( pPar, std::to_string( hID ), title, x, y );
722 }
T to_string(T... args)
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.

◆ bookProf() [41/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 725 of file HistogramSvc.cpp.

726  {
727  return bookProf( loc.first, loc.second, title, x, y );
728 }
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.

◆ bookProf() [42/48]

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

Definition at line 731 of file HistogramSvc.cpp.

732  {
733  return i_book( pPar, rel, title, Gaudi::createProf2D( title, x, y, 0, 0 ) );
734 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.

◆ bookProf() [43/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 737 of file HistogramSvc.cpp.

738  {
739  return bookProf( i_splitPath( full ), title, x, y, upper, lower );
740 }
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.
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ bookProf() [44/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 743 of file HistogramSvc.cpp.

744  {
745  return bookProf( createPath( par ), rel, title, x, y, upper, lower );
746 }
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.
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ bookProf() [45/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 749 of file HistogramSvc.cpp.

750  {
751  return bookProf( par, std::to_string( hID ), title, x, y, upper, lower );
752 }
T to_string(T... args)
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.

◆ bookProf() [46/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 755 of file HistogramSvc.cpp.

756  {
757  return bookProf( pPar, std::to_string( hID ), title, x, y, upper, lower );
758 }
T to_string(T... args)
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.

◆ bookProf() [47/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 761 of file HistogramSvc.cpp.

762  {
763  return bookProf( loc.first, loc.second, title, x, y, upper, lower );
764 }
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.

◆ bookProf() [48/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 767 of file HistogramSvc.cpp.

768  {
769  return i_book( pPar, rel, title, Gaudi::createProf2D( title, x, y, upper, lower ) );
770 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.

◆ connectInput()

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

Connect input histogram file to the service.

Parameters
ident[IN] Input specification

Definition at line 183 of file HistogramSvc.cpp.

183  {
184  using Parser = Gaudi::Utils::AttribStringParser;
185  DataObject* pO = nullptr;
186  StatusCode status = this->findObject( m_rootName.value(), pO );
187  if ( status.isSuccess() ) {
188  string::size_type loc = ident.find( " " );
189  string filename, auth, svc = "", typ = "";
190  string logname = ident.substr( 0, loc );
191  for ( auto attrib : Parser( ident.substr( loc + 1 ) ) ) {
192  switch ( ::toupper( attrib.tag[0] ) ) {
193  case 'F': // FILE='<file name>'
194  case 'D': // DATAFILE='<file name>'
195  filename = std::move( attrib.value );
196  break;
197  case 'T': // TYP='<HBOOK,ROOT,OBJY,...>'
198  typ = std::move( attrib.value );
199  break;
200  default:
201  break;
202  }
203  }
204  if ( typ.length() > 0 ) {
205  // Now add the registry entry to the store
206  string entryname = m_rootName;
207  entryname += '/';
208  entryname += logname;
209  GenericAddress* pA = nullptr;
210  switch ( ::toupper( typ[0] ) ) {
211  case 'H':
212  pA = new GenericAddress( HBOOK_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
213  break;
214  case 'R':
215  pA = new GenericAddress( ROOT_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
216  break;
217  }
218  if ( pA ) {
219  status = registerAddress( pO, logname, pA );
220  if ( status.isSuccess() ) {
221  info() << "Added stream file:" << filename << " as " << logname << endmsg;
222  return status;
223  }
224  pA->release();
225  }
226  }
227  }
228  error() << "Cannot add " << ident << " invalid filename!" << endmsg;
229  return StatusCode::FAILURE;
230 }
Parse attribute strings allowing iteration over the various attributes.
const long HBOOK_StorageType
Definition: ClassID.h:56
unsigned long release() override
release reference to object
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:52
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
Generic Transient Address.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
const long ROOT_StorageType
Definition: ClassID.h:52
bool isSuccess() const
Definition: StatusCode.h:267
T move(T... args)
StatusCode registerAddress(std::string_view fullPath, IOpaqueAddress *pAddress) override
IDataManagerSvc: Register object address with the data store.
Definition: DataSvc.cpp:215
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
T find(T... args)
constexpr static const auto FAILURE
Definition: StatusCode.h:86
T substr(T... args)
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
void toupper(std::string &s)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ createCloud1D() [1/2]

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

Definition at line 993 of file HistogramSvc.h.

993  {
994  not_implemented();
995  return nullptr;
996  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCloud1D() [2/2]

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

Definition at line 998 of file HistogramSvc.h.

998  {
999  not_implemented();
1000  return nullptr;
1001  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCloud2D() [1/2]

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

Definition at line 1008 of file HistogramSvc.h.

1008  {
1009  not_implemented();
1010  return nullptr;
1011  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCloud2D() [2/2]

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

Definition at line 1013 of file HistogramSvc.h.

1013  {
1014  not_implemented();
1015  return nullptr;
1016  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCloud3D() [1/2]

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

Definition at line 1023 of file HistogramSvc.h.

1023  {
1024  not_implemented();
1025  return nullptr;
1026  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCloud3D() [2/2]

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

Definition at line 1028 of file HistogramSvc.h.

1028  {
1029  not_implemented();
1030  return nullptr;
1031  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCopy() [1/23]

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

Definition at line 1396 of file HistogramSvc.cpp.

1396  {
1397  return createCopy( i_splitPath( full ), h );
1398 }
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [2/23]

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

Definition at line 1401 of file HistogramSvc.cpp.

1402  {
1403  return createCopy( createPath( par ), rel, h );
1404 }
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [3/23]

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

Definition at line 1407 of file HistogramSvc.cpp.

1408  {
1409  return createCopy( loc.first, loc.second, h );
1410 }
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [4/23]

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

Definition at line 1413 of file HistogramSvc.cpp.

1413  {
1414  return i_book( pPar, rel, h.title(), Gaudi::createH1D( h ) );
1415 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.

◆ createCopy() [5/23]

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

Definition at line 1443 of file HistogramSvc.cpp.

1443  {
1444  return createCopy( i_splitPath( full ), h );
1445 }
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [6/23]

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

Definition at line 1448 of file HistogramSvc.cpp.

1449  {
1450  return createCopy( createPath( par ), rel, h );
1451 }
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [7/23]

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

Definition at line 1454 of file HistogramSvc.cpp.

1455  {
1456  return createCopy( loc.first, loc.second, h );
1457 }
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [8/23]

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

Definition at line 1460 of file HistogramSvc.cpp.

1460  {
1461  return i_book( pPar, rel, h.title(), Gaudi::createH2D( h ) );
1462 }
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160

◆ createCopy() [9/23]

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

Definition at line 1492 of file HistogramSvc.cpp.

1492  {
1493  return createCopy( i_splitPath( full ), h );
1494 }
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [10/23]

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

Definition at line 1497 of file HistogramSvc.cpp.

1498  {
1499  return createCopy( createPath( par ), rel, h );
1500 }
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [11/23]

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

Definition at line 1503 of file HistogramSvc.cpp.

1504  {
1505  return createCopy( loc.first, loc.second, h );
1506 }
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [12/23]

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

Definition at line 1509 of file HistogramSvc.cpp.

1509  {
1510  return i_book( pPar, rel, h.title(), Gaudi::createH3D( h ) );
1511 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.

◆ createCopy() [13/23]

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

Definition at line 1549 of file HistogramSvc.cpp.

1549  {
1550  return createCopy( i_splitPath( full ), h );
1551 }
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [14/23]

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

Definition at line 1554 of file HistogramSvc.cpp.

1555  {
1556  return createCopy( createPath( par ), rel, h );
1557 }
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [15/23]

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

Definition at line 1560 of file HistogramSvc.cpp.

1561  {
1562  return createCopy( loc.first, loc.second, h );
1563 }
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [16/23]

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

Definition at line 1566 of file HistogramSvc.cpp.

1566  {
1567  return i_book( pPar, rel, h.title(), Gaudi::createProf1D( h ) );
1568 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.

◆ createCopy() [17/23]

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

Definition at line 1623 of file HistogramSvc.cpp.

1623  {
1624  return createCopy( i_splitPath( full ), h );
1625 }
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [18/23]

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

Definition at line 1628 of file HistogramSvc.cpp.

1629  {
1630  return createCopy( createPath( par ), rel, h );
1631 }
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [19/23]

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

Definition at line 1634 of file HistogramSvc.cpp.

1635  {
1636  return createCopy( loc.first, loc.second, h );
1637 }
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ createCopy() [20/23]

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

Definition at line 1640 of file HistogramSvc.cpp.

1640  {
1641  return i_book( pPar, rel, h.title(), Gaudi::createProf2D( h ) );
1642 }
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:160
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.

◆ createCopy() [21/23]

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

Definition at line 1003 of file HistogramSvc.h.

1003  {
1004  not_implemented();
1005  return nullptr;
1006  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCopy() [22/23]

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

Definition at line 1018 of file HistogramSvc.h.

1018  {
1019  not_implemented();
1020  return nullptr;
1021  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ createCopy() [23/23]

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

Definition at line 1033 of file HistogramSvc.h.

1033  {
1034  not_implemented();
1035  return nullptr;
1036  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ 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 158 of file HistogramSvc.cpp.

158  {
159  auto directory = std::make_unique<DataObject>();
160  if ( directory ) {
161  DataObject* pnode;
162  StatusCode status = retrieveObject( parentDir, pnode );
163  if ( !status.isSuccess() ) {
164  error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
165  return nullptr;
166  }
167  status = DataSvc::registerObject( pnode, subDir, directory.get() );
168  if ( !status.isSuccess() ) {
169  error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
170  return nullptr;
171  }
172  }
173  return directory.release();
174 }
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
StatusCode registerObject(std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
Register object with the data store.
Definition: DataSvc.cpp:293
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ createHistogram1D() [1/4]

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

Definition at line 1372 of file HistogramSvc.cpp.

1373  {
1374  return book( name, title, nx, lowx, upx );
1375 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createHistogram1D() [2/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 1378 of file HistogramSvc.cpp.

1379  {
1380  return book( name, title, nx, lowx, upx );
1381 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createHistogram1D() [3/4]

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

Definition at line 1384 of file HistogramSvc.cpp.

1385  {
1386  return book( name, title, x );
1387 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createHistogram1D() [4/4]

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

Definition at line 1390 of file HistogramSvc.cpp.

1391  {
1392  return book( nameAndTitle, nameAndTitle, nx, lowx, upx );
1393 }
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.

◆ createHistogram2D() [1/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 1418 of file HistogramSvc.cpp.

1419  {
1420  return book( name, title, nx, lowx, upx, ny, lowy, upy );
1421 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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,
const std::string  
)
override

Definition at line 1424 of file HistogramSvc.cpp.

1426  {
1427  return book( name, title, nx, lowx, upx, ny, lowy, upy );
1428 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createHistogram2D() [3/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 1431 of file HistogramSvc.cpp.

1432  {
1433  return book( name, title, x, y );
1434 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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 1437 of file HistogramSvc.cpp.

1438  {
1439  return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1440 }
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.

◆ createHistogram3D() [1/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 1465 of file HistogramSvc.cpp.

1467  {
1468  return book( name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1469 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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,
const std::string  
)
override

Definition at line 1472 of file HistogramSvc.cpp.

1474  {
1475  return book( name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1476 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createHistogram3D() [3/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 1479 of file HistogramSvc.cpp.

1480  {
1481  return book( name, title, x, y, z );
1482 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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 1485 of file HistogramSvc.cpp.

1487  {
1488  return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1489 }
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.

◆ createPath()

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

Create all directories in a given full path.

Definition at line 133 of file HistogramSvc.cpp.

133  {
134  string tmpPath = newPath;
135  if ( tmpPath[0] != SEPARATOR ) {
136  tmpPath.insert( tmpPath.begin(), SEPARATOR );
137  tmpPath.insert( tmpPath.begin(), m_rootName.begin(), m_rootName.end() );
138  }
139  // Remove trailing "/" from newPath if it exists
140  if ( tmpPath.rfind( SEPARATOR ) == tmpPath.length() - 1 ) { tmpPath.erase( tmpPath.rfind( SEPARATOR ), 1 ); }
141  DataObject* pObject = nullptr;
142  StatusCode sc = findObject( tmpPath, pObject );
143  if ( sc.isSuccess() ) { return pObject; }
144  int sep = tmpPath.rfind( SEPARATOR );
145  string rest( tmpPath, sep + 1, tmpPath.length() - sep );
146  string subPath( tmpPath, 0, sep );
147  if ( 0 != sep ) {
148  createPath( subPath );
149  } else {
150  error() << "Unable to create the histogram path" << endmsg;
151  return nullptr;
152  }
153  pObject = createDirectory( subPath, rest );
154  return pObject;
155 }
constexpr char SEPARATOR
DataObject * createDirectory(const std::string &parentDir, const std::string &subDir) override
Create a sub-directory in a directory.
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:52
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.
T insert(T... args)
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ createProfile1D() [1/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 1514 of file HistogramSvc.cpp.

1515  {
1516  return bookProf( name, title, nx, lowx, upx, opt );
1517 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile1D() [2/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 1520 of file HistogramSvc.cpp.

1521  {
1522  return bookProf( name, title, nx, lowx, upx, upper, lower, opt );
1523 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile1D() [3/6]

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

Definition at line 1526 of file HistogramSvc.cpp.

1527  {
1528  return bookProf( name, title, x );
1529 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile1D() [4/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 1532 of file HistogramSvc.cpp.

1533  {
1534  return bookProf( name, title, x, upper, lower );
1535 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile1D() [5/6]

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

Definition at line 1538 of file HistogramSvc.cpp.

1538  {
1539  return bookProf( nametit, nametit, nx, lowx, upx, "s" );
1540 }
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.

◆ 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 1543 of file HistogramSvc.cpp.

1544  {
1545  return bookProf( nametit, nametit, nx, lowx, upx, upper, lower, "s" );
1546 }
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.

◆ createProfile2D() [1/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 1571 of file HistogramSvc.cpp.

1572  {
1573  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy );
1574 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile2D() [2/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 1577 of file HistogramSvc.cpp.

1579  {
1580  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy );
1581 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile2D() [3/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 1584 of file HistogramSvc.cpp.

1585  {
1586  return bookProf( name, title, x, y );
1587 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile2D() [4/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 1590 of file HistogramSvc.cpp.

1591  {
1592  return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1593 }
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.

◆ 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 1596 of file HistogramSvc.cpp.

1598  {
1599  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1600 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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 1603 of file HistogramSvc.cpp.

1605  {
1606  return bookProf( name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1607 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ createProfile2D() [7/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 1610 of file HistogramSvc.cpp.

1612  {
1613  return bookProf( name, title, x, y, upper, lower );
1614 }
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.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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 1617 of file HistogramSvc.cpp.

1618  {
1619  return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, upper, lower );
1620 }
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.

◆ destroy()

bool HistogramSvc::destroy ( IBaseHistogram *  hist)
override

Definition at line 302 of file HistogramSvc.cpp.

302  {
303  StatusCode sc = unregisterObject( dynamic_cast<IHistogram*>( hist ) );
304  if ( !sc.isSuccess() ) return false;
305  delete hist;
306  return true;
307 }
StatusCode unregisterObject(Base *obj) override
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267

◆ divide() [1/3]

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

Definition at line 1303 of file HistogramSvc.cpp.

1304  {
1305  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Divide );
1306 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ divide() [2/3]

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

Definition at line 1327 of file HistogramSvc.cpp.

1328  {
1329  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Divide );
1330 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ divide() [3/3]

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

Definition at line 1351 of file HistogramSvc.cpp.

1352  {
1353  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Divide );
1354 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ finalize()

StatusCode HistogramSvc::finalize ( )
override

finalize the service

Definition at line 342 of file HistogramSvc.cpp.

342  {
343  if ( !m_mods1D.empty() ) {
344  if ( msgLevel( MSG::DEBUG ) ) debug() << " Substituted histograms #" << m_mods1D.size() << " : " << endmsg;
345  for ( const auto& ih : m_mods1D ) {
346  if ( msgLevel( MSG::DEBUG ) ) debug() << " Path='" << ih << "'";
347  auto im = m_defs1D.find( ih );
348  if ( m_defs1D.end() != im ) { debug() << " " << im->second; }
349  }
350  m_mods1D.clear();
351  }
352  return DataSvc::finalize();
353 }
Gaudi::Property< Histo1DMap > m_defs1D
T empty(T... args)
std::set< std::string > m_mods1D
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
StatusCode finalize() override
Service initialization.
Definition: DataSvc.cpp:845
T clear(T... args)
T size(T... args)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ findObject() [1/46]

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

Definition at line 1071 of file HistogramSvc.cpp.

1071  {
1072  return Helper( this ).find( pReg, path, obj );
1073 }

◆ findObject() [2/46]

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

Definition at line 1075 of file HistogramSvc.cpp.

1075  {
1076  return Helper( this ).find( pReg, path, obj );
1077 }

◆ findObject() [3/46]

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

Definition at line 1079 of file HistogramSvc.cpp.

1079  {
1080  return Helper( this ).find( pReg, path, obj );
1081 }

◆ findObject() [4/46]

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

Definition at line 1083 of file HistogramSvc.cpp.

1083  {
1084  return Helper( this ).find( pReg, path, obj );
1085 }

◆ findObject() [5/46]

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

Definition at line 1087 of file HistogramSvc.cpp.

1087  {
1088  return Helper( this ).find( pReg, path, obj );
1089 }

◆ findObject() [6/46]

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

Definition at line 1091 of file HistogramSvc.cpp.

1091  {
1092  return Helper( this ).find( full, obj );
1093 }

◆ findObject() [7/46]

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

Definition at line 1095 of file HistogramSvc.cpp.

1095  {
1096  return Helper( this ).find( full, obj );
1097 }

◆ findObject() [8/46]

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

Definition at line 1100 of file HistogramSvc.cpp.

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

◆ findObject() [9/46]

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

Definition at line 1105 of file HistogramSvc.cpp.

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

◆ findObject() [10/46]

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

Definition at line 1110 of file HistogramSvc.cpp.

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

◆ findObject() [11/46]

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

Definition at line 1115 of file HistogramSvc.cpp.

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

◆ findObject() [12/46]

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

Definition at line 1120 of file HistogramSvc.cpp.

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

◆ findObject() [13/46]

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

Definition at line 1125 of file HistogramSvc.cpp.

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

◆ findObject() [14/46]

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

Definition at line 1130 of file HistogramSvc.cpp.

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

◆ findObject() [15/46]

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

Definition at line 1135 of file HistogramSvc.cpp.

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

◆ findObject() [16/46]

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

Definition at line 1140 of file HistogramSvc.cpp.

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

◆ findObject() [17/46]

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

Definition at line 1145 of file HistogramSvc.cpp.

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

◆ findObject() [18/46]

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

Definition at line 1150 of file HistogramSvc.cpp.

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

◆ findObject() [19/46]

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

Definition at line 1155 of file HistogramSvc.cpp.

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

◆ findObject() [20/46]

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

Definition at line 1160 of file HistogramSvc.cpp.

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

◆ findObject() [21/46]

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

Definition at line 1165 of file HistogramSvc.cpp.

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

◆ findObject() [22/46]

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

Definition at line 1170 of file HistogramSvc.cpp.

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

◆ findObject() [23/46]

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

Definition at line 1175 of file HistogramSvc.cpp.

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

◆ findObject() [24/46]

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

Definition at line 1180 of file HistogramSvc.cpp.

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

◆ findObject() [25/46]

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

Definition at line 1185 of file HistogramSvc.cpp.

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

◆ findObject() [26/46]

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

Definition at line 1190 of file HistogramSvc.cpp.

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

◆ findObject() [27/46]

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

Definition at line 1195 of file HistogramSvc.cpp.

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

◆ findObject() [28/46]

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

Definition at line 1200 of file HistogramSvc.cpp.

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

◆ findObject() [29/46]

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

Definition at line 1205 of file HistogramSvc.cpp.

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

◆ findObject() [30/46]

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

Definition at line 1210 of file HistogramSvc.cpp.

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

◆ findObject() [31/46]

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

Definition at line 1215 of file HistogramSvc.cpp.

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

◆ findObject() [32/46]

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

Definition at line 1220 of file HistogramSvc.cpp.

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

◆ findObject() [33/46]

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

Definition at line 1225 of file HistogramSvc.cpp.

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

◆ findObject() [34/46]

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

Definition at line 1230 of file HistogramSvc.cpp.

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

◆ findObject() [35/46]

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

Definition at line 1235 of file HistogramSvc.cpp.

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

◆ findObject() [36/46]

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

Definition at line 1240 of file HistogramSvc.cpp.

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

◆ findObject() [37/46]

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

Definition at line 1245 of file HistogramSvc.cpp.

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

◆ findObject() [38/46]

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

Definition at line 1250 of file HistogramSvc.cpp.

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

◆ findObject() [39/46]

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

Definition at line 1255 of file HistogramSvc.cpp.

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

◆ findObject() [40/46]

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

Definition at line 1260 of file HistogramSvc.cpp.

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

◆ findObject() [41/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 324 of file IDataProviderSvc.h.

324  {
325  DataObject* parent = nullptr;
326  StatusCode status = findObject( parentPath, parent );
327  return status.isSuccess() ? findObject( parent, objectPath, pObject ) : status;
328  }
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30

◆ findObject() [42/46]

virtual StatusCode IDataProviderSvc::findObject

Avoids a compiler warning about hidden functions.

◆ findObject() [43/46]

virtual StatusCode IDataProviderSvc::findObject

Avoids a compiler warning about hidden functions.

◆ findObject() [44/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 338 of file IDataProviderSvc.h.

338  {
339  return findObject( parentPath, itemToPath( item ), pObject );
340  }
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override

◆ findObject() [45/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 351 of file IDataProviderSvc.h.

351  {
352  return findObject( parentObj ? parentObj->registry() : nullptr, objectPath, pObject );
353  }
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override

◆ findObject() [46/46]

StatusCode IDataProviderSvc::findObject
inline

Avoids a compiler warning about hidden functions.

Definition at line 363 of file IDataProviderSvc.h.

363  {
364  return findObject( parentObj, itemToPath( item ), pObject );
365  }
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override

◆ histogramFactory()

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

Retrieve the AIDA HistogramFactory interface.

Definition at line 180 of file HistogramSvc.h.

180 { 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 160 of file HistogramSvc.h.

161  {
162  if ( o.first && registerObject( pPar, rel, (Base*)o.second ).isSuccess() ) return o.second;
163  delete o.first;
164  throw GaudiException( "Cannot book " + System::typeinfoName( typeid( T ) ) + " " + title, "HistogramSvc",
166  }
Define general base for Gaudi exception.
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:298
AIDA::IBaseHistogram Base
Definition: HistogramSvc.h:59
bool isSuccess() const
Definition: StatusCode.h:267
constexpr static const auto FAILURE
Definition: StatusCode.h:86

◆ 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 81 of file HistogramSvc.cpp.

81  {
82  TH3D* h3d = Gaudi::getRepresentation<IHistogram3D, TH3D>( h );
83  if ( h3d ) {
84  TH2D* h2d = dynamic_cast<TH2D*>( h3d->Project3D( dir.c_str() ) );
85  if ( h2d ) {
87  if ( r.second && registerObject( nameAndTitle, r.second ).isSuccess() ) { return r.second; }
88  }
89  }
90  return nullptr;
91 }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
bool isSuccess() const
Definition: StatusCode.h:267
T c_str(T... args)

◆ 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 120 of file HistogramSvc.cpp.

120  {
121  string tmp = full;
122  if ( tmp[0] != SEPARATOR ) {
123  tmp.insert( tmp.begin(), SEPARATOR );
124  tmp.insert( tmp.begin(), m_rootName.begin(), m_rootName.end() );
125  }
126  // Remove trailing "/" from newPath if it exists
127  if ( tmp.rfind( SEPARATOR ) == tmp.length() - 1 ) { tmp.erase( tmp.length() - 1, 1 ); }
128  int sep = tmp.rfind( SEPARATOR );
129  return {tmp.substr( 0, sep ), tmp.substr( sep )};
130 }
constexpr char SEPARATOR
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:52

◆ initialize()

StatusCode HistogramSvc::initialize ( )
override

Initialise the service.

Definition at line 233 of file HistogramSvc.cpp.

233  {
234  StatusCode status = DataSvc::initialize();
235  // Set root object
236  if ( status.isSuccess() ) {
237  auto rootObj = std::make_unique<DataObject>();
238  status = setRoot( "/stat", rootObj.get() );
239  if ( status.isFailure() ) {
240  error() << "Unable to set hstogram data store root." << endmsg;
241  return status;
242  }
243  rootObj.release();
244  auto svc = service<IConversionSvc>( "HistogramPersistencySvc", true );
245  if ( !svc ) {
246  error() << "Could not find HistogramPersistencySvc." << endmsg;
247  return StatusCode::FAILURE;
248  }
249  setDataLoader( svc.get() ).ignore();
250  // Connect all input streams (if any)
251  for ( auto& j : m_input ) {
252  status = connectInput( j );
253  if ( !status.isSuccess() ) return status;
254  }
255  }
256  if ( !m_defs1D.empty() ) {
257  info() << " Predefined 1D-Histograms: " << endmsg;
258  for ( const auto& ih : m_defs1D ) {
259  info() << " Path='" << ih.first << "'"
260  << " Description " << ih.second << endmsg;
261  }
262  }
263  return status;
264 }
Gaudi::Property< Histo1DMap > m_defs1D
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:132
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:177
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
StatusCode connectInput(const std::string &ident)
Connect input histogram file to the service.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
StatusCode initialize() override
Service initialization.
Definition: DataSvc.cpp:812
constexpr static const auto FAILURE
Definition: StatusCode.h:86
Gaudi::Property< DBaseEntries > m_input
bool isFailure() const
Definition: StatusCode.h:130
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ multiply() [1/3]

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

Definition at line 1297 of file HistogramSvc.cpp.

1298  {
1299  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Multiply );
1300 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ multiply() [2/3]

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

Definition at line 1321 of file HistogramSvc.cpp.

1322  {
1323  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Multiply );
1324 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ multiply() [3/3]

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

Definition at line 1345 of file HistogramSvc.cpp.

1346  {
1347  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Multiply );
1348 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ not_implemented()

void HistogramSvc::not_implemented ( ) const
inlineprivate

Definition at line 54 of file HistogramSvc.h.

54 { error() << "Sorry, not yet implemented..." << endmsg; }
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ 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 96 of file HistogramSvc.cpp.

96  {
97  Gaudi::HistogramBase* b = dynamic_cast<Gaudi::HistogramBase*>( h );
98  if ( b ) return b->print( s );
99  error() << "Unknown histogram type: Cannot cast to Gaudi::HistogramBase." << endmsg;
100  return s;
101 }
virtual std::ostream & print(std::ostream &s) const =0
Print histogram to output stream.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Common base class for all histograms Use is solely functional to minimize dynamic_casts inside Histog...
Definition: HistogramBase.h:22
string s
Definition: gaudirun.py:318
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ projectionX()

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

Definition at line 1265 of file HistogramSvc.cpp.

1265  {
1266  return sliceX( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1267 }
AIDA::IHistogram1D * sliceX(const std::string &name, const AIDA::IHistogram2D &h, int indexY) override
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ projectionXY()

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

Definition at line 1357 of file HistogramSvc.cpp.

1357  {
1358  return i_project( nameAndTitle, h, "xy" );
1359 }
AIDA::IHistogram2D * i_project(const std::string &nameAndTitle, const AIDA::IHistogram3D &h, const std::string &dir)
Helper for 2D projections.

◆ projectionXZ()

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

Definition at line 1362 of file HistogramSvc.cpp.

1362  {
1363  return i_project( nameAndTitle, h, "xz" );
1364 }
AIDA::IHistogram2D * i_project(const std::string &nameAndTitle, const AIDA::IHistogram3D &h, const std::string &dir)
Helper for 2D projections.

◆ projectionY()

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

Definition at line 1270 of file HistogramSvc.cpp.

1270  {
1271  return sliceY( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1272 }
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274
AIDA::IHistogram1D * sliceY(const std::string &name, const AIDA::IHistogram2D &h, int indexX) override

◆ projectionYZ()

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

Definition at line 1367 of file HistogramSvc.cpp.

1367  {
1368  return i_project( nameAndTitle, h, "yz" );
1369 }
AIDA::IHistogram2D * i_project(const std::string &nameAndTitle, const AIDA::IHistogram3D &h, const std::string &dir)
Helper for 2D projections.

◆ registerObject() [1/11]

StatusCode DataSvc::registerObject
override

Register object with the data store.

Definition at line 293 of file DataSvc.cpp.

293  {
294  DataObject* pO = nullptr;
295  StatusCode status = retrieveObject( parentPath, pO );
296  if ( !status.isSuccess() && m_forceLeaves ) {
297  pO = createDefaultObject();
298  status = registerObject( parentPath, pO );
299  if ( !status.isSuccess() ) pO->release();
300  }
301  return status.isSuccess() ? registerObject( pO, objPath, pObject ) : status;
302 }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
Gaudi::Property< bool > m_forceLeaves
Definition: DataSvc.h:55
virtual DataObject * createDefaultObject() const
Create default objects in case forced creation of leaves is requested.
Definition: DataSvc.cpp:861
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
virtual unsigned long release()
release reference to object
Definition: DataObject.cpp:46
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30

◆ registerObject() [2/11]

StatusCode DataSvc::registerObject
override

Register object with the data store.

Definition at line 305 of file DataSvc.cpp.

305  {
306  if ( !checkRoot() ) return Status::INVALID_ROOT;
307 
308  if ( !parentObj ) {
309  if ( !objPath.empty() ) {
310  if ( objPath.front() != SEPARATOR ) { return registerObject( m_rootName.value(), objPath, pObject ); }
311  auto sep = find( objPath, SEPARATOR, 1 );
312  if ( sep != std::string_view::npos ) {
313  return registerObject( objPath.substr( 0, sep ), objPath.substr( sep ), pObject );
314  }
315  }
316  return Status::INVALID_OBJ_PATH;
317  }
318  RegEntry* node_entry = CAST_REGENTRY( RegEntry*, parentObj->registry() );
319  if ( node_entry ) {
320  StatusCode status = Status::INVALID_PARENT;
321  auto sep = find( objPath, SEPARATOR, 1 );
322  if ( sep != std::string_view::npos ) {
323  auto p_path = objPath.substr( 0, sep );
324  auto o_path = objPath.substr( sep );
325  RegEntry* par_entry = node_entry->findLeaf( p_path );
326  // Create default object leafs if the
327  // intermediate nodes are not present
328  if ( !par_entry && m_forceLeaves ) {
329  DataObject* pLeaf = createDefaultObject();
330  StatusCode sc = registerObject( parentObj, p_path, pLeaf );
331  if ( !sc.isSuccess() ) delete pLeaf;
332  par_entry = node_entry->findLeaf( p_path );
333  } else if ( par_entry && !par_entry->object() ) {
334  status = i_retrieveEntry( node_entry, p_path, par_entry );
335  if ( !status.isSuccess() && !par_entry->address() && m_forceLeaves ) {
336  DataObject* pLeaf = createDefaultObject();
337  StatusCode sc = registerObject( parentObj, p_path, pLeaf );
338  if ( !sc.isSuccess() ) delete pLeaf;
339  par_entry = node_entry->findLeaf( p_path );
340  }
341  }
342  node_entry = par_entry;
343  if ( node_entry ) {
344  DataObject* obj = node_entry->object();
345  if ( obj ) status = registerObject( obj, o_path, pObject );
346  }
347  } else {
348  RegEntry* leaf = node_entry->findLeaf( objPath );
349  if ( !leaf ) {
350  status = node_entry->add( to_string( objPath ), pObject );
351  } else {
352  DataObject* obj = leaf->object();
353  if ( !obj ) {
354  if ( !pObject ) {
355  error() << "registerObject: trying to register null DataObject" << endmsg;
356  return StatusCode::FAILURE;
357  }
358  pObject->setRegistry( leaf );
359  leaf->setAddress( nullptr );
360  leaf->setObject( pObject );
361  status = StatusCode::SUCCESS;
362  } else {
363  status = Status::DOUBL_OBJ_PATH;
364  }
365  }
366  }
367  return status;
368  }
369  return Status::INVALID_PARENT;
370 }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
constexpr char SEPARATOR
T to_string(T... args)
RegistryEntry * findLeaf(std::string_view path) const
Find identified leaf in this registry node.
Definition: RegistryEntry.h:93
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:52
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
Gaudi::Property< bool > m_forceLeaves
Definition: DataSvc.h:55
virtual DataObject * createDefaultObject() const
Create default objects in case forced creation of leaves is requested.
Definition: DataSvc.cpp:861
bool checkRoot()
Check if root path is valid.
Definition: DataSvc.h:253
void setAddress(IOpaqueAddress *pAddress) override
Set/Update Opaque address.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
void setObject(DataObject *obj)
Set/Update object address.
IOpaqueAddress * address() const override
Retrieve opaque storage address.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
StatusCode i_retrieveEntry(DataSvcHelpers::RegistryEntry *parentObj, std::string_view path, DataSvcHelpers::RegistryEntry *&pEntry)
Definition: DataSvc.cpp:532
bool isSuccess() const
Definition: StatusCode.h:267
#define CAST_REGENTRY(x, y)
Definition: DataSvc.cpp:62
Definition of an entry in the transient data store.
Definition: RegistryEntry.h:36
T find(T... args)
StatusCode add(std::string name, DataObject *pObject, bool is_soft=false)
Add entry to data store.
DataObject * object() const override
Retrive object behind the link.
constexpr static const auto FAILURE
Definition: StatusCode.h:86
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

◆ registerObject() [3/11]

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

Definition at line 847 of file HistogramSvc.cpp.

847  {
848  return registerObject( createPath( parent ), rel, obj );
849 }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ registerObject() [4/11]

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

Definition at line 852 of file HistogramSvc.cpp.

852  {
853  return registerObject( ::detail::cast( pPar ), rel, obj );
854 }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override

◆ registerObject() [5/11]

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

◆ registerObject() [6/11]

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

◆ registerObject() [7/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() [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 62 of file IDataProviderSvc.h.

62  {
63  return registerObject( nullptr, fullPath, pObject );
64  }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override

◆ registerObject() [9/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 107 of file IDataProviderSvc.h.

107  {
108  return registerObject( parentObj, itemToPath( item ), pObject );
109  }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override

◆ registerObject() [10/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() [11/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 85 of file IDataProviderSvc.h.

85  {
86  return registerObject( parentPath, itemToPath( item ), pObject );
87  }
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override

◆ reinitialize()

StatusCode HistogramSvc::reinitialize ( )
override

Initialise the service.

Definition at line 267 of file HistogramSvc.cpp.

267 { return StatusCode::SUCCESS; }
constexpr static const auto SUCCESS
Definition: StatusCode.h:85

◆ retrieveObject() [1/46]

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

Definition at line 870 of file HistogramSvc.cpp.

870  {
871  return Helper( this ).retrieve( pReg, path, obj );
872 }

◆ retrieveObject() [2/46]

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

Definition at line 875 of file HistogramSvc.cpp.

875  {
876  return Helper( this ).retrieve( pReg, path, obj );
877 }

◆ retrieveObject() [3/46]

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

Definition at line 880 of file HistogramSvc.cpp.

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

◆ retrieveObject() [4/46]

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

Definition at line 885 of file HistogramSvc.cpp.

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

◆ retrieveObject() [5/46]

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

Definition at line 890 of file HistogramSvc.cpp.

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

◆ retrieveObject() [6/46]

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

Definition at line 895 of file HistogramSvc.cpp.

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

◆ retrieveObject() [7/46]

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

Definition at line 900 of file HistogramSvc.cpp.

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

◆ retrieveObject() [8/46]

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

Definition at line 905 of file HistogramSvc.cpp.

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

◆ retrieveObject() [9/46]

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

Definition at line 910 of file HistogramSvc.cpp.

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

◆ retrieveObject() [10/46]

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

Definition at line 915 of file HistogramSvc.cpp.

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

◆ retrieveObject() [11/46]

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

Definition at line 920 of file HistogramSvc.cpp.

922  {
923  return Helper( this ).retrieve( parent, rel, obj );
924 }

◆ retrieveObject() [12/46]

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

Definition at line 927 of file HistogramSvc.cpp.

927  {
928  return Helper( this ).retrieve( parent, rel, obj );
929 }

◆ retrieveObject() [13/46]

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

Definition at line 932 of file HistogramSvc.cpp.

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

◆ retrieveObject() [14/46]

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

Definition at line 937 of file HistogramSvc.cpp.

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

◆ retrieveObject() [15/46]

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

Definition at line 942 of file HistogramSvc.cpp.

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

◆ retrieveObject() [16/46]

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

Definition at line 947 of file HistogramSvc.cpp.

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

◆ retrieveObject() [17/46]

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

Definition at line 952 of file HistogramSvc.cpp.

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

◆ retrieveObject() [18/46]

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

Definition at line 957 of file HistogramSvc.cpp.

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

◆ retrieveObject() [19/46]

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

Definition at line 962 of file HistogramSvc.cpp.

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

◆ retrieveObject() [20/46]

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

Definition at line 967 of file HistogramSvc.cpp.

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

◆ retrieveObject() [21/46]

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

Definition at line 971 of file HistogramSvc.cpp.

971  {
972  return Helper( this ).retrieve( par, item, obj );
973 }

◆ retrieveObject() [22/46]

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

Definition at line 976 of file HistogramSvc.cpp.

976  {
977  return Helper( this ).retrieve( par, item, obj );
978 }

◆ retrieveObject() [23/46]

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

Definition at line 981 of file HistogramSvc.cpp.

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

◆ retrieveObject() [24/46]

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

Definition at line 986 of file HistogramSvc.cpp.

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

◆ retrieveObject() [25/46]

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

Definition at line 991 of file HistogramSvc.cpp.

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

◆ retrieveObject() [26/46]

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

Definition at line 996 of file HistogramSvc.cpp.

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

◆ retrieveObject() [27/46]

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

Definition at line 1001 of file HistogramSvc.cpp.

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

◆ retrieveObject() [28/46]

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

Definition at line 1006 of file HistogramSvc.cpp.

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

◆ retrieveObject() [29/46]

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

Definition at line 1011 of file HistogramSvc.cpp.

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

◆ retrieveObject() [30/46]

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

Definition at line 1016 of file HistogramSvc.cpp.

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

◆ retrieveObject() [31/46]

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

Definition at line 1021 of file HistogramSvc.cpp.

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

◆ retrieveObject() [32/46]

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

Definition at line 1026 of file HistogramSvc.cpp.

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

◆ retrieveObject() [33/46]

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

Definition at line 1031 of file HistogramSvc.cpp.

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

◆ retrieveObject() [34/46]

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

Definition at line 1036 of file HistogramSvc.cpp.

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

◆ retrieveObject() [35/46]

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

Definition at line 1041 of file HistogramSvc.cpp.

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

◆ retrieveObject() [36/46]

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

Definition at line 1046 of file HistogramSvc.cpp.

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

◆ retrieveObject() [37/46]

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

Definition at line 1051 of file HistogramSvc.cpp.

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

◆ retrieveObject() [38/46]

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

Definition at line 1056 of file HistogramSvc.cpp.

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

◆ retrieveObject() [39/46]

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

Definition at line 1061 of file HistogramSvc.cpp.

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

◆ retrieveObject() [40/46]

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

Definition at line 1066 of file HistogramSvc.cpp.

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

◆ retrieveObject() [41/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 277 of file IDataProviderSvc.h.

277  {
278  return retrieveObject( parentObj ? parentObj->registry() : nullptr, objectPath, pObject );
279  }
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override

◆ retrieveObject() [42/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 263 of file IDataProviderSvc.h.

263  {
264  return retrieveObject( parentPath, itemToPath( item ), pObject );
265  }
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override

◆ retrieveObject() [43/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 291 of file IDataProviderSvc.h.

291  {
292  return retrieveObject( parentObj, itemToPath( item ), pObject );
293  }
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override

◆ 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 233 of file IDataProviderSvc.h.

233  {
234  return retrieveObject( static_cast<IRegistry*>( nullptr ), fullPath, pObject );
235  }
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override

◆ retrieveObject() [45/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() [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 247 of file IDataProviderSvc.h.

247  {
248  DataObject* parent = nullptr;
249  StatusCode status = retrieveObject( parentPath, parent );
250  return status.isSuccess() ? retrieveObject( parent, objectPath, pObject ) : status;
251  }
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30

◆ sliceX() [1/2]

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

Definition at line 1275 of file HistogramSvc.cpp.

1275  {
1276  return sliceX( name, h, indexY, indexY );
1277 }
AIDA::IHistogram1D * sliceX(const std::string &name, const AIDA::IHistogram2D &h, int indexY) override
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274

◆ 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 856 of file HistogramSvc.h.

857  {
858  not_implemented();
859  return nullptr;
860  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ sliceXZ()

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

Definition at line 862 of file HistogramSvc.h.

863  {
864  not_implemented();
865  return nullptr;
866  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ sliceY() [1/2]

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

Definition at line 1280 of file HistogramSvc.cpp.

1280  {
1281  return sliceY( name, h, indexX, indexX );
1282 }
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:274
AIDA::IHistogram1D * sliceY(const std::string &name, const AIDA::IHistogram2D &h, int indexX) override

◆ 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 868 of file HistogramSvc.h.

869  {
870  not_implemented();
871  return nullptr;
872  }
void not_implemented() const
Definition: HistogramSvc.h:54

◆ subtract() [1/3]

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

Definition at line 1291 of file HistogramSvc.cpp.

1292  {
1293  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Add, -1. );
1294 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ subtract() [2/3]

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

Definition at line 1315 of file HistogramSvc.cpp.

1316  {
1317  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, -1. );
1318 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ subtract() [3/3]

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

Definition at line 1339 of file HistogramSvc.cpp.

1340  {
1341  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, -1. );
1342 }
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:93
AIDA::IHistogram1D * createCopy(const std::string &full, const AIDA::IHistogram1D &h) override

◆ unregisterObject() [1/9]

StatusCode HistogramSvc::unregisterObject ( Base obj)
override

Definition at line 857 of file HistogramSvc.cpp.

857 { return unregisterObject( ::detail::cast( obj ) ); }
StatusCode unregisterObject(Base *obj) override

◆ unregisterObject() [2/9]

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

Definition at line 860 of file HistogramSvc.cpp.

860  {
861  return unregisterObject( ::detail::cast( obj ), objectPath );
862 }
StatusCode unregisterObject(Base *obj) override

◆ unregisterObject() [3/9]

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

Definition at line 865 of file HistogramSvc.cpp.

865  {
866  return unregisterObject( ::detail::cast( obj ), item );
867 }
StatusCode unregisterObject(Base *obj) override

◆ unregisterObject() [4/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 209 of file IDataProviderSvc.h.

209  {
210  return unregisterObject( pParent, itemToPath( item ) );
211  }
StatusCode unregisterObject(Base *obj) override

◆ unregisterObject() [5/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() [6/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 160 of file IDataProviderSvc.h.

160  {
161  return unregisterObject( parentPath, itemToPath( item ) );
162  }
StatusCode unregisterObject(Base *obj) override

◆ 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 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() [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 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 140 of file IDataProviderSvc.h.

140  {
141  DataObject* pO = nullptr;
142  StatusCode status = findObject( parentPath, pO );
143  return status.isSuccess() ? unregisterObject( pO, objPath ) : status;
144  }
StatusCode unregisterObject(Base *obj) override
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
bool isSuccess() const
Definition: StatusCode.h:267
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30

◆ unregisterObject() [9/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.

◆ update1Ddefs()

void HistogramSvc::update1Ddefs ( )
private

handler to be invoked for updating property m_defs1D

Definition at line 334 of file HistogramSvc.cpp.

334  {
335  // check and remove the leading '/stat/'
336  removeLeading( m_defs1D.value(), "/stat/" );
337 }
Gaudi::Property< Histo1DMap > m_defs1D

◆ write() [1/2]

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

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

◆ write() [2/2]

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

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

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 1069 of file HistogramSvc.h.

◆ m_input

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

Definition at line 1068 of file HistogramSvc.h.

◆ m_mods1D

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

Definition at line 1073 of file HistogramSvc.h.


The documentation for this class was generated from the following files: