The Gaudi Framework master (1fbcc22a)
Loading...
Searching...
No Matches
HistogramSvc Class Reference

HistogramSvc class definition. More...

#include <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::Histo1DDef > Histo1DMap
Public Types inherited from extends< DataSvc, IHistogramSvc >
using base_class
 Typedef to this class.
using extend_interfaces_base
 Typedef to the base of this class.
Public Types inherited from extends< Service, IDataProviderSvc, IDataManagerSvc >
using base_class
 Typedef to this class.
using extend_interfaces_base
 Typedef to the base of this class.
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
 Typedef used to refer to this class from derived classes, as in.
Public Types inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
using base_class
Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids
 take union of the ext_iids of all Interfaces...

Public Member Functions

 HistogramSvc (const std::string &name, ISvcLocator *svc)
 Statndard Constructor.
 ~HistogramSvc () override
 Destructor.
std::pair< std::string, std::string > i_splitPath (const std::string &full)
 Split full path into its components.
StatusCode connectInput (const std::string &ident)
 Connect input histogram file to the service.
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.
StatusCode initialize () override
 Initialise the service.
StatusCode reinitialize () override
 Initialise the service.
StatusCode finalize () override
 finalize the service
AIDA::IHistogramFactory * histogramFactory () override
 Retrieve the AIDA HistogramFactory interface.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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::ostream & print (Base *h, std::ostream &s=std::cout) const override
 Print (ASCII) the 1D histogram into the output stream.
std::ostream & write (Base *h, std::ostream &s=std::cout) const override
 Write (ASCII) the 1D histogram table into the output stream.
int write (Base *h, const char *file_name) const override
 Write (ASCII) the 1D histogram table into a file.
DataObject * createPath (const std::string &newPath) override
 Create all directories in a given full path.
DataObject * createDirectory (const std::string &parentDir, const std::string &subDir) override
 Create a sub-directory in a directory.
StatusCode registerObject (std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
 Register object with the data store.
StatusCode registerObject (DataObject *parentObj, std::string_view objPath, DataObject *pObject) override
 Register object with the data store.
virtual StatusCode findObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Avoids a compiler warning about hidden functions.
virtual StatusCode findObject (std::string_view fullPath, DataObject *&pObject)=0
 Avoids a compiler warning about hidden functions.
StatusCode findObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Avoids a compiler warning about hidden functions.
StatusCode findObject (std::string_view parentPath, int item, DataObject *&pObject)
 Avoids a compiler warning about hidden functions.
StatusCode findObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Avoids a compiler warning about hidden functions.
StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Avoids a compiler warning about hidden functions.
StatusCode registerObject (std::string_view fullPath, DataObject *pObject)
 Register object with the data store.
StatusCode registerObject (std::string_view parentPath, int item, DataObject *pObject)
 Register object with the data store.
StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store.
virtual StatusCode retrieveObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Retrieve object identified by its directory entry.
StatusCode retrieveObject (std::string_view fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store.
StatusCode retrieveObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store.
StatusCode retrieveObject (std::string_view parentPath, int item, DataObject *&pObject)
 Retrieve object from data store.
StatusCode retrieveObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store.
StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store.
virtual StatusCode unregisterObject (std::string_view fullPath)=0
 Unregister object from the data store.
StatusCode unregisterObject (std::string_view parentPath, std::string_view objPath)
 Unregister object from the data store.
StatusCode unregisterObject (std::string_view parentPath, int item)
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pObject)=0
 Unregister object from the data store.
virtual StatusCode unregisterObject (DataObject *pParent, std::string_view objPath)=0
 Unregister object from the data store.
StatusCode unregisterObject (DataObject *pParent, int item)
 Unregister object from the data store.
Public Member Functions inherited from extends< DataSvc, IHistogramSvc >
void const * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast.
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface.
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames.
Public Member Functions inherited from DataSvc
CLID rootCLID () const override
 IDataManagerSvc: Accessor for root event CLID.
const std::string & rootName () const override
 IDataManagerSvc: Accessor for root event name.
StatusCode registerAddress (std::string_view fullPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store.
StatusCode registerAddress (IRegistry *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store.
StatusCode unregisterAddress (std::string_view fullPath) override
 IDataManagerSvc: Unregister object address from the data store.
StatusCode unregisterAddress (IRegistry *pParent, std::string_view objPath) override
 IDataManagerSvc: Unregister object address from the data store.
StatusCode objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &refLeaves) override
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.
StatusCode objectLeaves (const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves) override
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.
StatusCode objectParent (const DataObject *pObject, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent.
StatusCode objectParent (const IRegistry *pRegistry, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent.
StatusCode clearSubTree (std::string_view sub_tree_path) override
 IDataManagerSvc: Remove all data objects below the sub tree identified by its full path name.
StatusCode clearSubTree (DataObject *pObject) override
 IDataManagerSvc: Remove all data objects below the sub tree identified by the object.
StatusCode clearStore () override
 IDataManagerSvc: Remove all data objects in the data store.
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.
StatusCode traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree.
StatusCode traverseTree (IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects in the data store.
StatusCode setRoot (std::string root_name, DataObject *pRootObj) override
 Initialize data store for new event by giving new event path and root object.
virtual StatusCode i_setRoot (std::string root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object.
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.
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.
StatusCode setDataLoader (IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr) override
 IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service and optionally a data provider.
StatusCode addPreLoadItem (const DataStoreItem &item) override
 Add an item to the preload list.
StatusCode removePreLoadItem (const DataStoreItem &item) override
 Remove an item from the preload list.
StatusCode resetPreLoad () override
 Clear the preload list.
virtual StatusCode preLoad (int depth, int load_depth, DataObject *pObject)
 Execute one level of preloading and recursively load until the final level is reached.
StatusCode preLoad () override
 load all preload items of the list
StatusCode registerObject (std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
 Register object with the data store.
StatusCode registerObject (DataObject *parentObj, std::string_view objPath, DataObject *pObject) override
 Register object with the data store.
StatusCode unregisterObject (std::string_view fullPath) override
 Unregister object from the data store.
StatusCode unregisterObject (DataObject *pObject) override
 Unregister object from the data store.
StatusCode unregisterObject (DataObject *pObject, std::string_view objectPath) override
 Unregister object from the data store.
StatusCode retrieveObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject) override
 Retrieve object from data store.
StatusCode findObject (std::string_view fullPath, DataObject *&pObject) override
 Find object identified by its full path in the data store.
StatusCode findObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject) override
 Find object identified by its full path in the data store.
StatusCode linkObject (IRegistry *from, std::string_view objPath, DataObject *to) override
 Add a link to another object.
StatusCode linkObject (std::string_view fullPath, DataObject *to) override
 Add a link to another object.
StatusCode unlinkObject (IRegistry *from, std::string_view objPath) override
 Remove a link to another object.
StatusCode unlinkObject (DataObject *fromObj, std::string_view objPath) override
 Remove a link to another object.
StatusCode unlinkObject (std::string_view fullPath) override
 Remove a link to another object.
StatusCode updateObject (IRegistry *pDirectory) override
 Update object identified by its directory entry.
StatusCode updateObject (DataObject *toUpdate) override
 Update object.
StatusCode initialize () override
 Service initialization.
StatusCode reinitialize () override
 Service initialization.
StatusCode finalize () override
 Service initialization.
 DataSvc (const DataSvc &)=delete
 copy constructor disabled
DataSvc & operator= (const DataSvc &)=delete
 Fake assignment operator (never implemented).
StatusCode registerAddress (DataObject *parentObj, std::string_view objectPath, IOpaqueAddress *pAddress)
 Register object address with the data store.
StatusCode unregisterAddress (DataObject *pParent, std::string_view objPath)
 Unregister object address from the data store.
StatusCode registerObject (std::string_view fullPath, DataObject *pObject)
 Register object with the data store.
StatusCode registerObject (std::string_view parentPath, int item, DataObject *pObject)
 Register object with the data store.
StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store.
StatusCode retrieveObject (std::string_view fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store.
StatusCode retrieveObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store.
StatusCode retrieveObject (std::string_view parentPath, int item, DataObject *&pObject)
 Retrieve object from data store.
StatusCode retrieveObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store.
StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store.
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.
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.
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.
StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Find object identified by its parent object and an integer identifier in the data store.
StatusCode linkObject (std::string_view fromPath, std::string_view objPath, DataObject *toObj)
 Add a link to another object.
StatusCode linkObject (DataObject *fromObj, std::string_view objPath, DataObject *toObj)
 Add a link to another object.
StatusCode unlinkObject (std::string_view fromPath, std::string_view objPath)
 Remove a link to another object.
Public Member Functions inherited from extends< Service, IDataProviderSvc, IDataManagerSvc >
void const * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast.
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface.
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames.
Public Member Functions inherited from Service
const std::string & name () const override
 Retrieve name of the service.
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.
StatusCode sysStart () override
 Initialize Service.
StatusCode sysStop () override
 Initialize Service.
StatusCode sysFinalize () override
 Finalize Service.
StatusCode sysReinitialize () override
 Re-initialize the Service.
StatusCode sysRestart () override
 Re-initialize the Service.
 Service (std::string name, ISvcLocator *svcloc)
 Standard Constructor.
SmartIF< ISvcLocator > & serviceLocator () const override
 Retrieve pointer to service locator.
template<typename IFace = IService>
SmartIF< IFace > service (const std::string &name, bool createIf=true) const
template<class T>
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
template<class T>
StatusCode declareTool (ToolHandle< T > &handle, bool createIf=true)
template<class T>
StatusCode declareTool (ToolHandle< T > &handle, const std::string &toolTypeAndName, bool createIf=true)
 Declare used tool.
template<class T>
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none")
template<class T>
void addToolsArray (ToolHandleArray< T > &hndlArr)
const std::vector< IAlgTool * > & tools () const
SmartIF< IAuditorSvc > & auditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked.
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
StatusCode setProperty (const Gaudi::Details::PropertyBase &p)
 Set the property from a property.
StatusCode setProperty (const std::string &name, const char *v)
 Special case for string literals.
StatusCode setProperty (const std::string &name, const std::string &v)
 Special case for std::string.
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
 PropertyHolder ()=default
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property.
Gaudi::Details::PropertyBase * declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property.
StatusCode setPropertyRepr (const std::string &n, const std::string &r) override
 set the property from name and value string representation
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties
bool hasProperty (std::string_view name) const override
 Return true if we have a property with the given name.
Gaudi::Details::PropertyBase * property (std::string_view name) const
 \fixme property and bindPropertiesTo should be protected
void bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc)
PropertyHolder & operator= (const PropertyHolder &)=delete
Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor.
const SmartIF< IMessageSvc > & msgSvc () const
 The standard message service.
MsgStream & msgStream () const
 Return an uninitialized MsgStream.
MsgStream & msgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts.
MsgStream & always () const
 shortcut for the method msgStream(MSG::ALWAYS)
MsgStream & fatal () const
 shortcut for the method msgStream(MSG::FATAL)
MsgStream & err () const
 shortcut for the method msgStream(MSG::ERROR)
MsgStream & error () const
 shortcut for the method msgStream(MSG::ERROR)
MsgStream & warning () const
 shortcut for the method msgStream(MSG::WARNING)
MsgStream & info () const
 shortcut for the method msgStream(MSG::INFO)
MsgStream & debug () const
 shortcut for the method msgStream(MSG::DEBUG)
MsgStream & verbose () const
 shortcut for the method msgStream(MSG::VERBOSE)
MsgStream & msg () const
 shortcut for the method msgStream(MSG::INFO)
MSG::Level msgLevel () const
 get the cached level (originally extracted from the embedded MsgStream)
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream

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
std::string buildHistoPath (DataObject const *pPar, std::string const &rel)
 extracts the path of an histogram from the related DataObject

Private Attributes

Gaudi::Property< DBaseEntries > m_input { this, "Input", {}, "input streams" }
Gaudi::Property< Histo1DMap > m_defs1D
std::set< std::string > m_mods1D

Additional Inherited Members

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

Detailed Description

HistogramSvc class definition.

Definition at line 60 of file HistogramSvc.h.

Member Typedef Documentation

◆ Base

typedef AIDA::IBaseHistogram HistogramSvc::Base
protected

Definition at line 68 of file HistogramSvc.h.

◆ DBaseEntries

◆ Edges

Definition at line 144 of file HistogramSvc.h.

◆ H3D

typedef AIDA::IHistogram3D HistogramSvc::H3D
protected

Definition at line 66 of file HistogramSvc.h.

◆ Histo1DMap

◆ P2D

typedef AIDA::IProfile2D HistogramSvc::P2D
protected

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

333 : base_class( nam, svc ) {
334 m_rootName = "/stat";
335 m_rootCLID = CLID_DataObject;
336}
Gaudi::Property< std::string > m_rootName
Definition DataSvc.h:53
Gaudi::Property< CLID > m_rootCLID
Definition DataSvc.h:52
extends base_class
Typedef to this class.
Definition extends.h:23

◆ ~HistogramSvc()

HistogramSvc::~HistogramSvc ( )
override

Destructor.

Definition at line 176 of file HistogramSvc.cpp.

176 {
177 setDataLoader( nullptr ).ignore();
178 clearStore().ignore();
179}
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:160
StatusCode clearStore() override
IDataManagerSvc: Remove all data objects in the data store.
Definition DataSvc.cpp:85
void ignore() const
Allow discarding a StatusCode without warning.
Definition StatusCode.h:128

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

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

◆ add() [2/3]

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

Definition at line 1336 of file HistogramSvc.cpp.

1337 {
1338 return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, 1. );
1339}

◆ add() [3/3]

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

Definition at line 1360 of file HistogramSvc.cpp.

1361 {
1362 return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, 1. );
1363}

◆ book() [1/36]

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

Definition at line 488 of file HistogramSvc.cpp.

489 {
490 return book( loc.first, loc.second, title, e );
491}
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() [2/36]

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

Definition at line 709 of file HistogramSvc.cpp.

710 {
711 return book( loc.first, loc.second, title, x, y );
712}

◆ book() [3/36]

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

Definition at line 862 of file HistogramSvc.cpp.

863 {
864 return book( loc.first, loc.second, title, x, y, z );
865}

◆ book() [4/36]

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

◆ book() [5/36]

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

Definition at line 593 of file HistogramSvc.cpp.

594 {
595 return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
596}

◆ book() [6/36]

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

Definition at line 823 of file HistogramSvc.cpp.

825 {
826 return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
827}

◆ book() [7/36]

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

Definition at line 494 of file HistogramSvc.cpp.

494 {
495 return book( i_splitPath( full ), title, e );
496}
std::pair< std::string, std::string > i_splitPath(const std::string &full)
Split full path into its components.

◆ book() [8/36]

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

Book histogram and register it with the histogram data store.

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

Definition at line 693 of file HistogramSvc.cpp.

693 {
694 return book( i_splitPath( full ), title, x, y );
695}

◆ book() [9/36]

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

Book histogram and register it with the histogram data store.

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

Definition at line 839 of file HistogramSvc.cpp.

839 {
840 return book( i_splitPath( full ), title, x, y, z );
841}

◆ book() [10/36]

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

◆ book() [11/36]

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

Book histogram and register it with the histogram data store.

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

Definition at line 575 of file HistogramSvc.cpp.

576 {
577 return book( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
578}

◆ book() [12/36]

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

Book histogram and register it with the histogram data store.

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

Definition at line 798 of file HistogramSvc.cpp.

799 {
800 return book( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
801}

◆ book() [13/36]

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

Definition at line 482 of file HistogramSvc.cpp.

483 {
484 return book( createPath( par ), rel, title, e );
485}
DataObject * createPath(const std::string &newPath) override
Create all directories in a given full path.

◆ book() [14/36]

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

Definition at line 698 of file HistogramSvc.cpp.

699 {
700 return book( createPath( par ), rel, title, x, y );
701}

◆ book() [15/36]

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

Definition at line 844 of file HistogramSvc.cpp.

845 {
846 return book( createPath( par ), rel, title, x, y, z );
847}

◆ book() [16/36]

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

Book histogram and register it with the histogram data store.

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

◆ book() [17/36]

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

Definition at line 581 of file HistogramSvc.cpp.

582 {
583 return book( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy );
584}

◆ book() [18/36]

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

Definition at line 804 of file HistogramSvc.cpp.

806 {
807 return book( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
808}

◆ book() [19/36]

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

Book histogram and register it with the histogram data store.

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

Definition at line 472 of file HistogramSvc.cpp.

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

◆ book() [20/36]

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

Definition at line 704 of file HistogramSvc.cpp.

704 {
705 return book( par, std::to_string( hID ), title, x, y );
706}

◆ book() [21/36]

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

Definition at line 850 of file HistogramSvc.cpp.

851 {
852 return book( par, std::to_string( hID ), title, x, y, z );
853}

◆ book() [22/36]

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

◆ book() [23/36]

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

Definition at line 587 of file HistogramSvc.cpp.

588 {
589 return book( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
590}

◆ book() [24/36]

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

Definition at line 811 of file HistogramSvc.cpp.

812 {
813 return book( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
814}

◆ book() [25/36]

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

Definition at line 499 of file HistogramSvc.cpp.

499 {
500 return i_book( pPar, rel, title, Gaudi::createH1D( serviceLocator(), buildHistoPath( pPar, rel ), title, e ) );
501}
std::string buildHistoPath(DataObject const *pPar, std::string const &rel)
extracts the path of an histogram from the related DataObject
T * i_book(DataObject *pPar, const std::string &rel, const std::string &title, const std::pair< DataObject *, T * > &o)
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator.
Definition Service.cpp:336
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram1D &hist)
Copy constructor.

◆ book() [26/36]

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

Definition at line 720 of file HistogramSvc.cpp.

721 {
722 return i_book( pPar, rel, title, Gaudi::createH2D( serviceLocator(), buildHistoPath( pPar, rel ), title, x, y ) );
723}
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram2D &hist)
Copy constructor.

◆ book() [27/36]

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

Definition at line 868 of file HistogramSvc.cpp.

869 {
870 return i_book( pPar, rel, title, Gaudi::createH3D( serviceLocator(), buildHistoPath( pPar, rel ), title, x, y, z ) );
871}
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram3D &hist)
Copy constructor.

◆ book() [28/36]

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

◆ book() [29/36]

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

Definition at line 605 of file HistogramSvc.cpp.

606 {
607 return i_book(
608 pPar, rel, title,
609 Gaudi::createH2D( serviceLocator(), buildHistoPath( pPar, rel ), title, nx, lowx, upx, ny, lowy, upy ) );
610}

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

832 {
833 return i_book( pPar, rel, title,
834 Gaudi::createH3D( serviceLocator(), buildHistoPath( pPar, rel ), title, nx, lowx, upx, ny, lowy, upy,
835 nz, lowz, upz ) );
836}

◆ book() [31/36]

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

Definition at line 477 of file HistogramSvc.cpp.

477 {
478 return book( pPar, std::to_string( hID ), title, e );
479}

◆ book() [32/36]

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

Definition at line 715 of file HistogramSvc.cpp.

715 {
716 return book( pPar, std::to_string( hID ), title, x, y );
717}

◆ book() [33/36]

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

Definition at line 856 of file HistogramSvc.cpp.

857 {
858 return book( pPar, std::to_string( hID ), title, x, y, z );
859}

◆ book() [34/36]

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

◆ book() [35/36]

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

Definition at line 599 of file HistogramSvc.cpp.

600 {
601 return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
602}

◆ book() [36/36]

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

Definition at line 817 of file HistogramSvc.cpp.

818 {
819 return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
820}

◆ bookProf() [1/48]

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

Definition at line 525 of file HistogramSvc.cpp.

526 {
527 return bookProf( loc.first, loc.second, title, e );
528}
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() [2/48]

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

Definition at line 562 of file HistogramSvc.cpp.

563 {
564 return bookProf( loc.first, loc.second, title, e, upper, lower );
565}

◆ bookProf() [3/48]

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

Definition at line 748 of file HistogramSvc.cpp.

749 {
750 return bookProf( loc.first, loc.second, title, x, y );
751}

◆ bookProf() [4/48]

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

Definition at line 785 of file HistogramSvc.cpp.

786 {
787 return bookProf( loc.first, loc.second, title, x, y, upper, lower );
788}

◆ bookProf() [5/48]

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

◆ bookProf() [6/48]

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

◆ bookProf() [7/48]

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

Definition at line 667 of file HistogramSvc.cpp.

668 {
669 return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
670}

◆ bookProf() [8/48]

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

Definition at line 626 of file HistogramSvc.cpp.

628 {
629 return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
630}

◆ bookProf() [9/48]

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

Book histogram and register it with the histogram data store.

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

Definition at line 504 of file HistogramSvc.cpp.

504 {
505 return bookProf( i_splitPath( full ), title, e );
506}

◆ bookProf() [10/48]

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

Definition at line 538 of file HistogramSvc.cpp.

539 {
540 return bookProf( i_splitPath( full ), title, e, upper, lower );
541}

◆ bookProf() [11/48]

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

Book histogram and register it with the histogram data store.

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

Definition at line 726 of file HistogramSvc.cpp.

726 {
727 return bookProf( i_splitPath( full ), title, x, y );
728}

◆ bookProf() [12/48]

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

Definition at line 761 of file HistogramSvc.cpp.

762 {
763 return bookProf( i_splitPath( full ), title, x, y, upper, lower );
764}

◆ bookProf() [13/48]

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

◆ bookProf() [14/48]

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

◆ bookProf() [15/48]

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

Definition at line 655 of file HistogramSvc.cpp.

656 {
657 return bookProf( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
658}

◆ bookProf() [16/48]

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

Book histogram and register it with the histogram data store.

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

Definition at line 613 of file HistogramSvc.cpp.

614 {
615 return bookProf( i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
616}

◆ bookProf() [17/48]

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

Definition at line 509 of file HistogramSvc.cpp.

510 {
511 return bookProf( createPath( par ), rel, title, e );
512}

◆ bookProf() [18/48]

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

Definition at line 544 of file HistogramSvc.cpp.

545 {
546 return bookProf( createPath( par ), rel, title, e, upper, lower );
547}

◆ bookProf() [19/48]

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

Definition at line 731 of file HistogramSvc.cpp.

732 {
733 return bookProf( createPath( par ), rel, title, x, y );
734}

◆ bookProf() [20/48]

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

Definition at line 767 of file HistogramSvc.cpp.

768 {
769 return bookProf( createPath( par ), rel, title, x, y, upper, lower );
770}

◆ bookProf() [21/48]

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

Book histogram and register it with the histogram data store.

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

◆ bookProf() [22/48]

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

◆ bookProf() [23/48]

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

Definition at line 661 of file HistogramSvc.cpp.

662 {
663 return bookProf( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy );
664}

◆ bookProf() [24/48]

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

Definition at line 619 of file HistogramSvc.cpp.

621 {
622 return bookProf( createPath( par ), rel, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
623}

◆ bookProf() [25/48]

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

Definition at line 515 of file HistogramSvc.cpp.

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

◆ bookProf() [26/48]

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

Definition at line 550 of file HistogramSvc.cpp.

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

◆ bookProf() [27/48]

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

Definition at line 737 of file HistogramSvc.cpp.

738 {
739 return bookProf( par, std::to_string( hID ), title, x, y );
740}

◆ bookProf() [28/48]

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

Definition at line 773 of file HistogramSvc.cpp.

774 {
775 return bookProf( par, std::to_string( hID ), title, x, y, upper, lower );
776}

◆ bookProf() [29/48]

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

◆ bookProf() [30/48]

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

◆ bookProf() [31/48]

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

Definition at line 673 of file HistogramSvc.cpp.

674 {
675 return bookProf( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
676}

◆ bookProf() [32/48]

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

Definition at line 633 of file HistogramSvc.cpp.

635 {
636 return bookProf( par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
637}

◆ bookProf() [33/48]

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

Definition at line 531 of file HistogramSvc.cpp.

532 {
533 return i_book( pPar, rel, title,
534 Gaudi::createProf1D( serviceLocator(), buildHistoPath( pPar, rel ), title, e, 0, 0 ) );
535}
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IProfile1D &hist)
Copy constructor.

◆ bookProf() [34/48]

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

Definition at line 568 of file HistogramSvc.cpp.

569 {
570 return i_book( pPar, rel, title,
571 Gaudi::createProf1D( serviceLocator(), buildHistoPath( pPar, rel ), title, e, upper, lower ) );
572}

◆ bookProf() [35/48]

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

Definition at line 754 of file HistogramSvc.cpp.

755 {
756 return i_book( pPar, rel, title,
757 Gaudi::createProf2D( serviceLocator(), buildHistoPath( pPar, rel ), title, x, y, 0, 0 ) );
758}
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(ISvcLocator *svcLocator, const std::string &path, const AIDA::IProfile2D &hist)
Copy constructor.

◆ bookProf() [36/48]

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

Definition at line 791 of file HistogramSvc.cpp.

792 {
793 return i_book( pPar, rel, title,
794 Gaudi::createProf2D( serviceLocator(), buildHistoPath( pPar, rel ), title, x, y, upper, lower ) );
795}

◆ bookProf() [37/48]

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

◆ bookProf() [38/48]

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

◆ bookProf() [39/48]

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

Definition at line 685 of file HistogramSvc.cpp.

686 {
687 return i_book(
688 pPar, rel, title,
689 Gaudi::createProf2D( serviceLocator(), buildHistoPath( pPar, rel ), title, nx, lowx, upx, ny, lowy, upy, 0, 0 ) );
690}

◆ bookProf() [40/48]

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

Definition at line 646 of file HistogramSvc.cpp.

648 {
649 return i_book( pPar, rel, title,
650 Gaudi::createProf2D( serviceLocator(), buildHistoPath( pPar, rel ), title, nx, lowx, upx, ny, lowy,
651 upy, upper, lower ) );
652}

◆ bookProf() [41/48]

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

Definition at line 520 of file HistogramSvc.cpp.

520 {
521 return bookProf( pPar, std::to_string( hID ), title, e );
522}

◆ bookProf() [42/48]

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

Definition at line 556 of file HistogramSvc.cpp.

557 {
558 return bookProf( pPar, std::to_string( hID ), title, e, upper, lower );
559}

◆ bookProf() [43/48]

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

Definition at line 743 of file HistogramSvc.cpp.

743 {
744 return bookProf( pPar, std::to_string( hID ), title, x, y );
745}

◆ bookProf() [44/48]

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

Definition at line 779 of file HistogramSvc.cpp.

780 {
781 return bookProf( pPar, std::to_string( hID ), title, x, y, upper, lower );
782}

◆ bookProf() [45/48]

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

◆ bookProf() [46/48]

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

◆ bookProf() [47/48]

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

Definition at line 679 of file HistogramSvc.cpp.

680 {
681 return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
682}

◆ bookProf() [48/48]

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

Definition at line 640 of file HistogramSvc.cpp.

641 {
642 return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
643}

◆ buildHistoPath()

std::string HistogramSvc::buildHistoPath ( DataObject const * pPar,
std::string const & rel )
private

extracts the path of an histogram from the related DataObject

Definition at line 344 of file HistogramSvc.cpp.

344 {
345 std::string const& path = pPar->registry()->identifier();
346 std::string const& root = rootName();
347 return path.substr( root.size() ) + '/' + rel;
348}
basic_string< char > string
basic_string substr(size_type __pos=0, size_type __n=npos) const
const std::string & rootName() const override
IDataManagerSvc: Accessor for root event name.
Definition DataSvc.cpp:841
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram

◆ connectInput()

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

Connect input histogram file to the service.

Parameters
ident[IN] Input specification

Definition at line 182 of file HistogramSvc.cpp.

182 {
183 using Parser = Gaudi::Utils::AttribStringParser;
184 DataObject* pO = nullptr;
185 StatusCode status = this->findObject( m_rootName.value(), pO );
186 if ( status.isSuccess() ) {
187 string::size_type loc = ident.find( " " );
188 string filename, auth, svc = "", typ = "";
189 string logname = ident.substr( 0, loc );
190 for ( auto attrib : Parser( ident.substr( loc + 1 ) ) ) {
191 switch ( ::toupper( attrib.tag[0] ) ) {
192 case 'F': // FILE='<file name>'
193 case 'D': // DATAFILE='<file name>'
194 filename = std::move( attrib.value );
195 break;
196 case 'T': // TYP='<HBOOK,ROOT,OBJY,...>'
197 typ = std::move( attrib.value );
198 break;
199 default:
200 break;
201 }
202 }
203 if ( typ.length() > 0 ) {
204 // Now add the registry entry to the store
205 string entryname = m_rootName;
206 entryname += '/';
207 entryname += logname;
208 GenericAddress* pA = nullptr;
209 switch ( ::toupper( typ[0] ) ) {
210 case 'H':
211 pA = new GenericAddress( HBOOK_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
212 break;
213 case 'R':
214 pA = new GenericAddress( ROOT_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
215 break;
216 }
217 if ( pA ) {
218 status = registerAddress( pO, logname, pA );
219 if ( status.isSuccess() ) {
220 info() << "Added stream file:" << filename << " as " << logname << endmsg;
221 return status;
222 }
223 pA->release();
224 }
225 }
226 }
227 error() << "Cannot add " << ident << " invalid filename!" << endmsg;
228 return StatusCode::FAILURE;
229}
const long HBOOK_StorageType
Definition ClassID.h:64
const long ROOT_StorageType
Definition ClassID.h:60
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition MsgStream.h:198
constexpr _OI move(_II __first, _II __last, _OI __result)
size_type find(_CharT __c, size_type __pos=0) const noexcept
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
StatusCode registerAddress(std::string_view fullPath, IOpaqueAddress *pAddress) override
IDataManagerSvc: Register object address with the data store.
Definition DataSvc.cpp:198
const ValueType & value() const
Definition Property.h:246
GenericAddress()=default
Dummy constructor.
unsigned long release() override
release reference to object
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
bool isSuccess() const
Definition StatusCode.h:302
constexpr static const auto FAILURE
Definition StatusCode.h:100

◆ createCloud1D() [1/2]

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

Definition at line 1007 of file HistogramSvc.h.

1007 {
1009 return nullptr;
1010 }
void not_implemented() const

◆ createCloud1D() [2/2]

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

Definition at line 1002 of file HistogramSvc.h.

1002 {
1004 return nullptr;
1005 }

◆ createCloud2D() [1/2]

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

Definition at line 1022 of file HistogramSvc.h.

1022 {
1024 return nullptr;
1025 }

◆ createCloud2D() [2/2]

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

Definition at line 1017 of file HistogramSvc.h.

1017 {
1019 return nullptr;
1020 }

◆ createCloud3D() [1/2]

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

Definition at line 1037 of file HistogramSvc.h.

1037 {
1039 return nullptr;
1040 }

◆ createCloud3D() [2/2]

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

Definition at line 1032 of file HistogramSvc.h.

1032 {
1034 return nullptr;
1035 }

◆ createCopy() [1/23]

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

Definition at line 1434 of file HistogramSvc.cpp.

1435 {
1436 return createCopy( loc.first, loc.second, h );
1437}

◆ createCopy() [2/23]

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

Definition at line 1481 of file HistogramSvc.cpp.

1482 {
1483 return createCopy( loc.first, loc.second, h );
1484}

◆ createCopy() [3/23]

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

Definition at line 1530 of file HistogramSvc.cpp.

1531 {
1532 return createCopy( loc.first, loc.second, h );
1533}

◆ createCopy() [4/23]

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

Definition at line 1587 of file HistogramSvc.cpp.

1588 {
1589 return createCopy( loc.first, loc.second, h );
1590}

◆ createCopy() [5/23]

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

Definition at line 1661 of file HistogramSvc.cpp.

1662 {
1663 return createCopy( loc.first, loc.second, h );
1664}

◆ createCopy() [6/23]

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

Definition at line 1012 of file HistogramSvc.h.

1012 {
1014 return nullptr;
1015 }

◆ createCopy() [7/23]

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

Definition at line 1027 of file HistogramSvc.h.

1027 {
1029 return nullptr;
1030 }

◆ createCopy() [8/23]

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

Definition at line 1042 of file HistogramSvc.h.

1042 {
1044 return nullptr;
1045 }

◆ createCopy() [9/23]

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

Definition at line 1423 of file HistogramSvc.cpp.

1423 {
1424 return createCopy( i_splitPath( full ), h );
1425}

◆ createCopy() [10/23]

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

Definition at line 1470 of file HistogramSvc.cpp.

1470 {
1471 return createCopy( i_splitPath( full ), h );
1472}

◆ createCopy() [11/23]

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

Definition at line 1519 of file HistogramSvc.cpp.

1519 {
1520 return createCopy( i_splitPath( full ), h );
1521}

◆ createCopy() [12/23]

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

Definition at line 1576 of file HistogramSvc.cpp.

1576 {
1577 return createCopy( i_splitPath( full ), h );
1578}

◆ createCopy() [13/23]

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

Definition at line 1650 of file HistogramSvc.cpp.

1650 {
1651 return createCopy( i_splitPath( full ), h );
1652}

◆ createCopy() [14/23]

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

Definition at line 1428 of file HistogramSvc.cpp.

1429 {
1430 return createCopy( createPath( par ), rel, h );
1431}

◆ createCopy() [15/23]

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

Definition at line 1475 of file HistogramSvc.cpp.

1476 {
1477 return createCopy( createPath( par ), rel, h );
1478}

◆ createCopy() [16/23]

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

Definition at line 1524 of file HistogramSvc.cpp.

1525 {
1526 return createCopy( createPath( par ), rel, h );
1527}

◆ createCopy() [17/23]

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

Definition at line 1581 of file HistogramSvc.cpp.

1582 {
1583 return createCopy( createPath( par ), rel, h );
1584}

◆ createCopy() [18/23]

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

Definition at line 1655 of file HistogramSvc.cpp.

1656 {
1657 return createCopy( createPath( par ), rel, h );
1658}

◆ createCopy() [19/23]

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

Definition at line 1440 of file HistogramSvc.cpp.

1440 {
1441 return i_book( pPar, rel, h.title(), Gaudi::createH1D( serviceLocator(), buildHistoPath( pPar, rel ), h ) );
1442}

◆ createCopy() [20/23]

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

Definition at line 1487 of file HistogramSvc.cpp.

1487 {
1488 return i_book( pPar, rel, h.title(), Gaudi::createH2D( serviceLocator(), buildHistoPath( pPar, rel ), h ) );
1489}

◆ createCopy() [21/23]

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

Definition at line 1536 of file HistogramSvc.cpp.

1536 {
1537 return i_book( pPar, rel, h.title(), Gaudi::createH3D( serviceLocator(), buildHistoPath( pPar, rel ), h ) );
1538}

◆ createCopy() [22/23]

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

Definition at line 1593 of file HistogramSvc.cpp.

1593 {
1594 return i_book( pPar, rel, h.title(), Gaudi::createProf1D( serviceLocator(), buildHistoPath( pPar, rel ), h ) );
1595}

◆ createCopy() [23/23]

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

Definition at line 1667 of file HistogramSvc.cpp.

1667 {
1668 return i_book( pPar, rel, h.title(), Gaudi::createProf2D( serviceLocator(), buildHistoPath( pPar, rel ), h ) );
1669}

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

157 {
158 auto directory = std::make_unique<DataObject>();
159 if ( directory ) {
160 DataObject* pnode;
161 StatusCode status = retrieveObject( parentDir, pnode );
162 if ( !status.isSuccess() ) {
163 error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
164 return nullptr;
165 }
166 status = DataSvc::registerObject( pnode, subDir, directory.get() );
167 if ( !status.isSuccess() ) {
168 error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
169 return nullptr;
170 }
171 }
172 return directory.release();
173}
StatusCode registerObject(std::string_view parentPath, std::string_view objPath, DataObject *pObject) override
Register object with the data store.
Definition DataSvc.cpp:276
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override

◆ createHistogram1D() [1/4]

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

Definition at line 1411 of file HistogramSvc.cpp.

1412 {
1413 return book( name, title, x );
1414}
const std::string & name() const override
Retrieve name of the service.
Definition Service.cpp:333

◆ createHistogram1D() [2/4]

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

Definition at line 1399 of file HistogramSvc.cpp.

1400 {
1401 return book( name, title, nx, lowx, upx );
1402}

◆ createHistogram1D() [3/4]

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

Definition at line 1405 of file HistogramSvc.cpp.

1406 {
1407 return book( name, title, nx, lowx, upx );
1408}

◆ createHistogram1D() [4/4]

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

Definition at line 1417 of file HistogramSvc.cpp.

1418 {
1419 return book( nameAndTitle, nameAndTitle, nx, lowx, upx );
1420}

◆ createHistogram2D() [1/4]

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

Definition at line 1458 of file HistogramSvc.cpp.

1459 {
1460 return book( name, title, x, y );
1461}

◆ createHistogram2D() [2/4]

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

Definition at line 1445 of file HistogramSvc.cpp.

1446 {
1447 return book( name, title, nx, lowx, upx, ny, lowy, upy );
1448}

◆ createHistogram2D() [3/4]

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

Definition at line 1451 of file HistogramSvc.cpp.

1453 {
1454 return book( name, title, nx, lowx, upx, ny, lowy, upy );
1455}

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

1465 {
1466 return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1467}

◆ createHistogram3D() [1/4]

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

Definition at line 1506 of file HistogramSvc.cpp.

1507 {
1508 return book( name, title, x, y, z );
1509}

◆ createHistogram3D() [2/4]

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

Definition at line 1492 of file HistogramSvc.cpp.

1494 {
1495 return book( name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1496}

◆ createHistogram3D() [3/4]

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

Definition at line 1499 of file HistogramSvc.cpp.

1501 {
1502 return book( name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1503}

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

1514 {
1515 return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1516}

◆ createPath()

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

Create all directories in a given full path.

Definition at line 132 of file HistogramSvc.cpp.

132 {
133 string tmpPath = newPath;
134 if ( tmpPath[0] != SEPARATOR ) {
135 tmpPath.insert( tmpPath.begin(), SEPARATOR );
136 tmpPath.insert( tmpPath.begin(), m_rootName.begin(), m_rootName.end() );
137 }
138 // Remove trailing "/" from newPath if it exists
139 if ( tmpPath.rfind( SEPARATOR ) == tmpPath.length() - 1 ) { tmpPath.erase( tmpPath.rfind( SEPARATOR ), 1 ); }
140 DataObject* pObject = nullptr;
141 StatusCode sc = findObject( tmpPath, pObject );
142 if ( sc.isSuccess() ) { return pObject; }
143 int sep = tmpPath.rfind( SEPARATOR );
144 string rest( tmpPath, sep + 1, tmpPath.length() - sep );
145 string subPath( tmpPath, 0, sep );
146 if ( 0 != sep ) {
147 createPath( subPath );
148 } else {
149 error() << "Unable to create the histogram path" << endmsg;
150 return nullptr;
151 }
152 pObject = createDirectory( subPath, rest );
153 return pObject;
154}
constexpr char SEPARATOR
auto begin() const
Definition Property.h:282
auto end() const
Definition Property.h:287
DataObject * createDirectory(const std::string &parentDir, const std::string &subDir) override
Create a sub-directory in a directory.

◆ createProfile1D() [1/6]

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

Definition at line 1553 of file HistogramSvc.cpp.

1554 {
1555 return bookProf( name, title, x );
1556}

◆ createProfile1D() [2/6]

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

Definition at line 1559 of file HistogramSvc.cpp.

1560 {
1561 return bookProf( name, title, x, upper, lower );
1562}

◆ createProfile1D() [3/6]

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

Definition at line 1541 of file HistogramSvc.cpp.

1542 {
1543 return bookProf( name, title, nx, lowx, upx, opt );
1544}

◆ createProfile1D() [4/6]

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

Definition at line 1547 of file HistogramSvc.cpp.

1548 {
1549 return bookProf( name, title, nx, lowx, upx, upper, lower, opt );
1550}

◆ createProfile1D() [5/6]

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

Definition at line 1565 of file HistogramSvc.cpp.

1565 {
1566 return bookProf( nametit, nametit, nx, lowx, upx, "s" );
1567}

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

1571 {
1572 return bookProf( nametit, nametit, nx, lowx, upx, upper, lower, "s" );
1573}

◆ createProfile2D() [1/8]

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

Definition at line 1611 of file HistogramSvc.cpp.

1612 {
1613 return bookProf( name, title, x, y );
1614}

◆ createProfile2D() [2/8]

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

Definition at line 1637 of file HistogramSvc.cpp.

1639 {
1640 return bookProf( name, title, x, y, upper, lower );
1641}

◆ createProfile2D() [3/8]

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

Definition at line 1598 of file HistogramSvc.cpp.

1599 {
1600 return bookProf( name, title, nx, lowx, upx, ny, lowy, upy );
1601}

◆ createProfile2D() [4/8]

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

Definition at line 1604 of file HistogramSvc.cpp.

1606 {
1607 return bookProf( name, title, nx, lowx, upx, ny, lowy, upy );
1608}

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

1625 {
1626 return bookProf( name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1627}

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

1632 {
1633 return bookProf( name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1634}

◆ createProfile2D() [7/8]

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

Definition at line 1617 of file HistogramSvc.cpp.

1618 {
1619 return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1620}

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

1645 {
1646 return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, upper, lower );
1647}

◆ destroy()

bool HistogramSvc::destroy ( IBaseHistogram * hist)
override

Definition at line 301 of file HistogramSvc.cpp.

301 {
302 StatusCode sc = unregisterObject( dynamic_cast<IHistogram*>( hist ) );
303 if ( !sc.isSuccess() ) return false;
304 delete hist;
305 return true;
306}
StatusCode unregisterObject(Base *obj) override

◆ divide() [1/3]

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

Definition at line 1330 of file HistogramSvc.cpp.

1331 {
1332 return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Divide );
1333}

◆ divide() [2/3]

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

Definition at line 1354 of file HistogramSvc.cpp.

1355 {
1356 return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Divide );
1357}

◆ divide() [3/3]

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

Definition at line 1378 of file HistogramSvc.cpp.

1379 {
1380 return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Divide );
1381}

◆ finalize()

StatusCode HistogramSvc::finalize ( )
override

finalize the service

Definition at line 353 of file HistogramSvc.cpp.

353 {
354 if ( !m_mods1D.empty() ) {
355 if ( msgLevel( MSG::DEBUG ) ) debug() << " Substituted histograms #" << m_mods1D.size() << " : " << endmsg;
356 for ( const auto& ih : m_mods1D ) {
357 if ( msgLevel( MSG::DEBUG ) ) debug() << " Path='" << ih << "'";
358 auto im = m_defs1D.find( ih );
359 if ( m_defs1D.end() != im ) { debug() << " " << im->second; }
360 }
361 m_mods1D.clear();
362 }
363 return DataSvc::finalize();
364}
size_type size() const noexcept
bool empty() const noexcept
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MSG::Level msgLevel() const
get the cached level (originally extracted from the embedded MsgStream)
StatusCode finalize() override
Service initialization.
Definition DataSvc.cpp:828
std::set< std::string > m_mods1D
Gaudi::Property< Histo1DMap > m_defs1D
void clear(STATE_TYPE _i=std::ios_base::failbit)
Definition MsgStream.h:177
@ DEBUG
Definition IMessageSvc.h:22

◆ findObject() [1/46]

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

Definition at line 1277 of file HistogramSvc.cpp.

1277 {
1278 return Helper( this ).find( ::detail::cast( par ), item, obj );
1279}
Helper(HistogramSvc *p)

◆ findObject() [2/46]

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

Definition at line 1282 of file HistogramSvc.cpp.

1282 {
1283 return Helper( this ).find( ::detail::cast( par ), item, obj );
1284}

◆ findObject() [3/46]

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

Definition at line 1287 of file HistogramSvc.cpp.

1287 {
1288 return Helper( this ).find( ::detail::cast( par ), item, obj );
1289}

◆ findObject() [4/46]

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

Definition at line 1267 of file HistogramSvc.cpp.

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

◆ findObject() [5/46]

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

Definition at line 1272 of file HistogramSvc.cpp.

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

◆ findObject() [6/46]

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

Definition at line 1252 of file HistogramSvc.cpp.

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

◆ findObject() [7/46]

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

Definition at line 1257 of file HistogramSvc.cpp.

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

◆ findObject() [8/46]

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

Definition at line 1262 of file HistogramSvc.cpp.

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

◆ findObject() [9/46]

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

Definition at line 1242 of file HistogramSvc.cpp.

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

◆ findObject() [10/46]

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

Definition at line 1247 of file HistogramSvc.cpp.

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

◆ findObject() [11/46]

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

Definition at line 1127 of file HistogramSvc.cpp.

1127 {
1128 return Helper( this ).find( full, obj );
1129}

◆ findObject() [12/46]

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

Definition at line 1132 of file HistogramSvc.cpp.

1132 {
1133 return Helper( this ).find( full, obj );
1134}

◆ findObject() [13/46]

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

Definition at line 1137 of file HistogramSvc.cpp.

1137 {
1138 return Helper( this ).find( full, obj );
1139}

◆ findObject() [14/46]

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

Definition at line 1118 of file HistogramSvc.cpp.

1118 {
1119 return Helper( this ).find( full, obj );
1120}

◆ findObject() [15/46]

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

Definition at line 1122 of file HistogramSvc.cpp.

1122 {
1123 return Helper( this ).find( full, obj );
1124}

◆ findObject() [16/46]

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

Definition at line 1152 of file HistogramSvc.cpp.

1152 {
1153 return Helper( this ).find( par, rel, obj );
1154}

◆ findObject() [17/46]

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

Definition at line 1157 of file HistogramSvc.cpp.

1157 {
1158 return Helper( this ).find( par, rel, obj );
1159}

◆ findObject() [18/46]

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

Definition at line 1162 of file HistogramSvc.cpp.

1162 {
1163 return Helper( this ).find( par, rel, obj );
1164}

◆ findObject() [19/46]

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

Definition at line 1142 of file HistogramSvc.cpp.

1142 {
1143 return Helper( this ).find( par, rel, obj );
1144}

◆ findObject() [20/46]

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

Definition at line 1147 of file HistogramSvc.cpp.

1147 {
1148 return Helper( this ).find( par, rel, obj );
1149}

◆ findObject() [21/46]

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

Definition at line 1177 of file HistogramSvc.cpp.

1177 {
1178 return Helper( this ).find( par, item, obj );
1179}

◆ findObject() [22/46]

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

Definition at line 1182 of file HistogramSvc.cpp.

1182 {
1183 return Helper( this ).find( par, item, obj );
1184}

◆ findObject() [23/46]

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

Definition at line 1187 of file HistogramSvc.cpp.

1187 {
1188 return Helper( this ).find( par, item, obj );
1189}

◆ findObject() [24/46]

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

Definition at line 1167 of file HistogramSvc.cpp.

1167 {
1168 return Helper( this ).find( par, item, obj );
1169}

◆ findObject() [25/46]

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

Definition at line 1172 of file HistogramSvc.cpp.

1172 {
1173 return Helper( this ).find( par, item, obj );
1174}

◆ findObject() [26/46]

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

Definition at line 1227 of file HistogramSvc.cpp.

1227 {
1228 return Helper( this ).find( par, item, obj );
1229}

◆ findObject() [27/46]

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

Definition at line 1232 of file HistogramSvc.cpp.

1232 {
1233 return Helper( this ).find( par, item, obj );
1234}

◆ findObject() [28/46]

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

Definition at line 1237 of file HistogramSvc.cpp.

1237 {
1238 return Helper( this ).find( par, item, obj );
1239}

◆ findObject() [29/46]

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

Definition at line 1217 of file HistogramSvc.cpp.

1217 {
1218 return Helper( this ).find( par, item, obj );
1219}

◆ findObject() [30/46]

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

Definition at line 1222 of file HistogramSvc.cpp.

1222 {
1223 return Helper( this ).find( par, item, obj );
1224}

◆ findObject() [31/46]

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

Definition at line 1202 of file HistogramSvc.cpp.

1202 {
1203 return Helper( this ).find( par, item, obj );
1204}

◆ findObject() [32/46]

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

Definition at line 1207 of file HistogramSvc.cpp.

1207 {
1208 return Helper( this ).find( par, item, obj );
1209}

◆ findObject() [33/46]

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

Definition at line 1212 of file HistogramSvc.cpp.

1212 {
1213 return Helper( this ).find( par, item, obj );
1214}

◆ findObject() [34/46]

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

Definition at line 1192 of file HistogramSvc.cpp.

1192 {
1193 return Helper( this ).find( par, item, obj );
1194}

◆ findObject() [35/46]

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

Definition at line 1197 of file HistogramSvc.cpp.

1197 {
1198 return Helper( this ).find( par, item, obj );
1199}

◆ findObject() [36/46]

StatusCode IDataProviderSvc::findObject ( DataObject * parentObj,
int item,
DataObject *& pObject )
inline

Avoids a compiler warning about hidden functions.

Definition at line 368 of file IDataProviderSvc.h.

368 {
369 return findObject( parentObj, itemToPath( item ), pObject );
370 }

◆ findObject() [37/46]

StatusCode IDataProviderSvc::findObject ( DataObject * parentObj,
std::string_view objectPath,
DataObject *& pObject )
inline

Avoids a compiler warning about hidden functions.

Definition at line 356 of file IDataProviderSvc.h.

356 {
357 return findObject( parentObj ? parentObj->registry() : nullptr, objectPath, pObject );
358 }
IRegistry * registry() const
Get pointer to Registry.
Definition DataObject.h:79

◆ findObject() [38/46]

virtual StatusCode IDataProviderSvc::findObject ( IRegistry * pDirectory,
std::string_view path,
DataObject *& pObject )

Avoids a compiler warning about hidden functions.

◆ findObject() [39/46]

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

Definition at line 1106 of file HistogramSvc.cpp.

1106 {
1107 return Helper( this ).find( pReg, path, obj );
1108}

◆ findObject() [40/46]

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

Definition at line 1110 of file HistogramSvc.cpp.

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

◆ findObject() [41/46]

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

Definition at line 1114 of file HistogramSvc.cpp.

1114 {
1115 return Helper( this ).find( pReg, path, obj );
1116}

◆ findObject() [42/46]

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

Definition at line 1098 of file HistogramSvc.cpp.

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

◆ findObject() [43/46]

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

Definition at line 1102 of file HistogramSvc.cpp.

1102 {
1103 return Helper( this ).find( pReg, path, obj );
1104}

◆ findObject() [44/46]

virtual StatusCode IDataProviderSvc::findObject ( std::string_view fullPath,
DataObject *& pObject )

Avoids a compiler warning about hidden functions.

◆ findObject() [45/46]

StatusCode IDataProviderSvc::findObject ( std::string_view parentPath,
int item,
DataObject *& pObject )
inline

Avoids a compiler warning about hidden functions.

Definition at line 343 of file IDataProviderSvc.h.

343 {
344 return findObject( parentPath, itemToPath( item ), pObject );
345 }

◆ findObject() [46/46]

StatusCode IDataProviderSvc::findObject ( std::string_view parentPath,
std::string_view objectPath,
DataObject *& pObject )
inline

Avoids a compiler warning about hidden functions.

Definition at line 329 of file IDataProviderSvc.h.

329 {
330 DataObject* parent = nullptr;
331 StatusCode status = findObject( parentPath, parent );
332 return status.isSuccess() ? findObject( parent, objectPath, pObject ) : status;
333 }

◆ histogramFactory()

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

Retrieve the AIDA HistogramFactory interface.

Definition at line 189 of file HistogramSvc.h.

189{ 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 169 of file HistogramSvc.h.

170 {
171 if ( o.first && registerObject( pPar, rel, (Base*)o.second ).isSuccess() ) return o.second;
172 delete o.first;
173 throw GaudiException( "Cannot book " + System::typeinfoName( typeid( T ) ) + " " + title, "HistogramSvc",
175 }
GaudiException(std::string Message, std::string Tag, StatusCode Code)
Constructor (1).
StatusCode registerObject(const std::string &parent, const std::string &rel, Base *obj) override
AIDA::IBaseHistogram Base
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition System.cpp:254

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

80 {
82 if ( h3d ) {
83 TH2D* h2d = dynamic_cast<TH2D*>( h3d->Project3D( dir.c_str() ) );
84 if ( h2d ) {
85 std::pair<DataObject*, AIDA::IHistogram2D*> r = Gaudi::createH2D( serviceLocator(), nameAndTitle, h2d );
86 if ( r.second && registerObject( nameAndTitle, r.second ).isSuccess() ) { return r.second; }
87 }
88 }
89 return nullptr;
90}
const _CharT * c_str() const noexcept
T * getRepresentation(const Q &hist)

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

119 {
120 string tmp = full;
121 if ( tmp[0] != SEPARATOR ) {
122 tmp.insert( tmp.begin(), SEPARATOR );
123 tmp.insert( tmp.begin(), m_rootName.begin(), m_rootName.end() );
124 }
125 // Remove trailing "/" from newPath if it exists
126 if ( tmp.rfind( SEPARATOR ) == tmp.length() - 1 ) { tmp.erase( tmp.length() - 1, 1 ); }
127 int sep = tmp.rfind( SEPARATOR );
128 return { tmp.substr( 0, sep ), tmp.substr( sep + 1 ) };
129}

◆ initialize()

StatusCode HistogramSvc::initialize ( )
override

Initialise the service.

Definition at line 232 of file HistogramSvc.cpp.

232 {
233 StatusCode status = DataSvc::initialize();
234 // Set root object
235 if ( status.isSuccess() ) {
236 auto rootObj = std::make_unique<DataObject>();
237 status = setRoot( "/stat", rootObj.get() );
238 if ( status.isFailure() ) {
239 error() << "Unable to set hstogram data store root." << endmsg;
240 return status;
241 }
242 rootObj.release();
243 auto svc = service<IConversionSvc>( "HistogramPersistencySvc", true );
244 if ( !svc ) {
245 error() << "Could not find HistogramPersistencySvc." << endmsg;
246 return StatusCode::FAILURE;
247 }
248 setDataLoader( svc.get() ).ignore();
249 // Connect all input streams (if any)
250 for ( auto& j : m_input ) {
251 status = connectInput( j );
252 if ( !status.isSuccess() ) return status;
253 }
254 }
255 if ( !m_defs1D.empty() ) {
256 info() << " Predefined 1D-Histograms: " << endmsg;
257 for ( const auto& ih : m_defs1D ) {
258 info() << " Path='" << ih.first << "'"
259 << " Description " << ih.second << endmsg;
260 }
261 }
262 return status;
263}
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:115
StatusCode initialize() override
Service initialization.
Definition DataSvc.cpp:795
StatusCode connectInput(const std::string &ident)
Connect input histogram file to the service.
Gaudi::Property< DBaseEntries > m_input
SmartIF< IFace > service(const std::string &name, bool createIf=true) const
Definition Service.h:79
bool isFailure() const
Definition StatusCode.h:118

◆ multiply() [1/3]

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

Definition at line 1324 of file HistogramSvc.cpp.

1325 {
1326 return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Multiply );
1327}

◆ multiply() [2/3]

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

Definition at line 1348 of file HistogramSvc.cpp.

1349 {
1350 return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Multiply );
1351}

◆ multiply() [3/3]

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

Definition at line 1372 of file HistogramSvc.cpp.

1373 {
1374 return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Multiply );
1375}

◆ not_implemented()

void HistogramSvc::not_implemented ( ) const
inlineprivate

Definition at line 63 of file HistogramSvc.h.

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

◆ print()

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

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

Definition at line 95 of file HistogramSvc.cpp.

95 {
96 Gaudi::HistogramBase* b = dynamic_cast<Gaudi::HistogramBase*>( h );
97 if ( b ) return b->print( s );
98 error() << "Unknown histogram type: Cannot cast to Gaudi::HistogramBase." << endmsg;
99 return s;
100}
virtual std::ostream & print(std::ostream &s) const =0
Print histogram to output stream.

◆ projectionX()

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

Definition at line 1292 of file HistogramSvc.cpp.

1292 {
1293 return sliceX( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1294}
AIDA::IHistogram1D * sliceX(const std::string &name, const AIDA::IHistogram2D &h, int indexY) override

◆ projectionXY()

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

Definition at line 1384 of file HistogramSvc.cpp.

1384 {
1385 return i_project( nameAndTitle, h, "xy" );
1386}
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 1389 of file HistogramSvc.cpp.

1389 {
1390 return i_project( nameAndTitle, h, "xz" );
1391}

◆ projectionY()

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

Definition at line 1297 of file HistogramSvc.cpp.

1297 {
1298 return sliceY( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1299}
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 1394 of file HistogramSvc.cpp.

1394 {
1395 return i_project( nameAndTitle, h, "yz" );
1396}

◆ registerObject() [1/9]

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

Definition at line 879 of file HistogramSvc.cpp.

879 {
880 return registerObject( ::detail::cast( pPar ), rel, obj );
881}

◆ registerObject() [2/9]

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

◆ registerObject() [3/9]

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

Definition at line 874 of file HistogramSvc.cpp.

874 {
875 return registerObject( createPath( parent ), rel, obj );
876}

◆ registerObject() [4/9]

StatusCode IDataProviderSvc::registerObject ( DataObject * parentObj,
int item,
DataObject * pObject )
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 112 of file IDataProviderSvc.h.

112 {
113 return registerObject( parentObj, itemToPath( item ), pObject );
114 }

◆ registerObject() [5/9]

StatusCode DataSvc::registerObject ( DataObject * parentObj,
std::string_view objPath,
DataObject * pObject )
override

Register object with the data store.

Definition at line 187 of file DataSvc.cpp.

288 {
289 if ( !checkRoot() ) return Status::INVALID_ROOT;
290
291 if ( !parentObj ) {
292 if ( !objPath.empty() ) {
293 if ( objPath.front() != SEPARATOR ) { return registerObject( m_rootName.value(), objPath, pObject ); }
294 auto sep = find( objPath, SEPARATOR, 1 );
295 if ( sep != std::string_view::npos ) {
296 return registerObject( objPath.substr( 0, sep ), objPath.substr( sep ), pObject );
297 }
298 }
299 return Status::INVALID_OBJ_PATH;
300 }
301 RegEntry* node_entry = CAST_REGENTRY( RegEntry*, parentObj->registry() );
302 if ( node_entry ) {
303 StatusCode status = Status::INVALID_PARENT;
304 auto sep = find( objPath, SEPARATOR, 1 );
305 if ( sep != std::string_view::npos ) {
306 auto p_path = objPath.substr( 0, sep );
307 auto o_path = objPath.substr( sep );
308 RegEntry* par_entry = node_entry->findLeaf( p_path );
309 // Create default object leafs if the
310 // intermediate nodes are not present
311 if ( !par_entry && m_forceLeaves ) {
313 StatusCode sc = registerObject( parentObj, p_path, pLeaf );
314 if ( !sc.isSuccess() ) delete pLeaf;
315 par_entry = node_entry->findLeaf( p_path );
316 } else if ( par_entry && !par_entry->object() ) {
317 status = i_retrieveEntry( node_entry, p_path, par_entry );
318 if ( !status.isSuccess() && !par_entry->address() && m_forceLeaves ) {
320 StatusCode sc = registerObject( parentObj, p_path, pLeaf );
321 if ( !sc.isSuccess() ) delete pLeaf;
322 par_entry = node_entry->findLeaf( p_path );
323 }
324 }
325 node_entry = par_entry;
326 if ( node_entry ) {
327 DataObject* obj = node_entry->object();
328 if ( obj ) status = registerObject( obj, o_path, pObject );
329 }
330 } else {
331 RegEntry* leaf = node_entry->findLeaf( objPath );
332 if ( !leaf ) {
333 status = node_entry->add( to_string( objPath ), pObject );
334 } else {
335 DataObject* obj = leaf->object();
336 if ( !obj ) {
337 if ( !pObject ) {
338 error() << "registerObject: trying to register null DataObject" << endmsg;
339 return StatusCode::FAILURE;
340 }
341 pObject->setRegistry( leaf );
342 leaf->setAddress( nullptr );
343 leaf->setObject( pObject );
344 status = StatusCode::SUCCESS;
345 } else {
346 status = Status::DOUBL_OBJ_PATH;
347 }
348 }
349 }
350 return status;
351 }
352 return Status::INVALID_PARENT;
353}
DataSvcHelpers::RegistryEntry RegEntry
Definition DataSvc.cpp:48
#define CAST_REGENTRY(x, y)
Definition DataSvc.cpp:46
constexpr _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp &__val)
void setRegistry(IRegistry *pRegistry)
Set pointer to Registry.
Definition DataObject.h:77
void setObject(DataObject *obj)
Set/Update object address.
void setAddress(IOpaqueAddress *pAddress) override
Set/Update Opaque address.
RegistryEntry * findLeaf(std::string_view path) const
Find identified leaf in this registry node.
DataObject * object() const override
Retrive object behind the link.
IOpaqueAddress * address() const override
Retrieve opaque storage address.
StatusCode add(std::string name, DataObject *pObject, bool is_soft=false)
Add entry to data store.
virtual DataObject * createDefaultObject() const
Create default objects in case forced creation of leaves is requested.
Definition DataSvc.cpp:844
bool checkRoot()
Check if root path is valid.
Definition DataSvc.h:255
Gaudi::Property< bool > m_forceLeaves
Definition DataSvc.h:56
StatusCode i_retrieveEntry(DataSvcHelpers::RegistryEntry *parentObj, std::string_view path, DataSvcHelpers::RegistryEntry *&pEntry)
Definition DataSvc.cpp:515
constexpr static const auto SUCCESS
Definition StatusCode.h:99

◆ registerObject() [6/9]

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

◆ registerObject() [7/9]

StatusCode IDataProviderSvc::registerObject ( std::string_view fullPath,
DataObject * pObject )
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 67 of file IDataProviderSvc.h.

67 {
68 return registerObject( nullptr, fullPath, pObject );
69 }

◆ registerObject() [8/9]

StatusCode IDataProviderSvc::registerObject ( std::string_view parentPath,
int item,
DataObject * pObject )
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 90 of file IDataProviderSvc.h.

90 {
91 return registerObject( parentPath, itemToPath( item ), pObject );
92 }

◆ registerObject() [9/9]

StatusCode DataSvc::registerObject ( std::string_view parentPath,
std::string_view objPath,
DataObject * pObject )
override

Register object with the data store.

Definition at line 184 of file DataSvc.cpp.

276 {
277 DataObject* pO = nullptr;
278 StatusCode status = retrieveObject( parentPath, pO );
279 if ( !status.isSuccess() && m_forceLeaves ) {
280 pO = createDefaultObject();
281 status = registerObject( parentPath, pO );
282 if ( !status.isSuccess() ) pO->release();
283 }
284 return status.isSuccess() ? registerObject( pO, objPath, pObject ) : status;
285}
virtual unsigned long release()
release reference to object

◆ reinitialize()

StatusCode HistogramSvc::reinitialize ( )
override

Initialise the service.

Definition at line 266 of file HistogramSvc.cpp.

266{ return StatusCode::SUCCESS; }

◆ retrieveObject() [1/46]

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

Definition at line 1083 of file HistogramSvc.cpp.

1083 {
1084 return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1085}

◆ retrieveObject() [2/46]

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

Definition at line 1088 of file HistogramSvc.cpp.

1088 {
1089 return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1090}

◆ retrieveObject() [3/46]

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

Definition at line 1093 of file HistogramSvc.cpp.

1093 {
1094 return Helper( this ).retrieve( ::detail::cast( par ), item, obj );
1095}

◆ retrieveObject() [4/46]

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

Definition at line 1073 of file HistogramSvc.cpp.

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

◆ retrieveObject() [5/46]

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

Definition at line 1078 of file HistogramSvc.cpp.

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

◆ retrieveObject() [6/46]

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

Definition at line 1058 of file HistogramSvc.cpp.

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

◆ retrieveObject() [7/46]

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

Definition at line 1063 of file HistogramSvc.cpp.

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

◆ retrieveObject() [8/46]

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

Definition at line 1068 of file HistogramSvc.cpp.

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

◆ retrieveObject() [9/46]

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

Definition at line 1048 of file HistogramSvc.cpp.

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

◆ retrieveObject() [10/46]

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

Definition at line 1053 of file HistogramSvc.cpp.

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

◆ retrieveObject() [11/46]

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

Definition at line 932 of file HistogramSvc.cpp.

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

◆ retrieveObject() [12/46]

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

Definition at line 937 of file HistogramSvc.cpp.

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

◆ retrieveObject() [13/46]

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

Definition at line 942 of file HistogramSvc.cpp.

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

◆ retrieveObject() [14/46]

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

Definition at line 922 of file HistogramSvc.cpp.

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

◆ retrieveObject() [15/46]

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

Definition at line 927 of file HistogramSvc.cpp.

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

◆ retrieveObject() [16/46]

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

Definition at line 959 of file HistogramSvc.cpp.

959 {
960 return Helper( this ).retrieve( parent, rel, obj );
961}

◆ retrieveObject() [17/46]

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

Definition at line 964 of file HistogramSvc.cpp.

964 {
965 return Helper( this ).retrieve( parent, rel, obj );
966}

◆ retrieveObject() [18/46]

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

Definition at line 969 of file HistogramSvc.cpp.

969 {
970 return Helper( this ).retrieve( parent, rel, obj );
971}

◆ retrieveObject() [19/46]

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

Definition at line 947 of file HistogramSvc.cpp.

949 {
950 return Helper( this ).retrieve( parent, rel, obj );
951}

◆ retrieveObject() [20/46]

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

Definition at line 954 of file HistogramSvc.cpp.

954 {
955 return Helper( this ).retrieve( parent, rel, obj );
956}

◆ retrieveObject() [21/46]

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

Definition at line 984 of file HistogramSvc.cpp.

984 {
985 return Helper( this ).retrieve( parent, item, obj );
986}

◆ retrieveObject() [22/46]

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

Definition at line 989 of file HistogramSvc.cpp.

989 {
990 return Helper( this ).retrieve( parent, item, obj );
991}

◆ retrieveObject() [23/46]

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

Definition at line 994 of file HistogramSvc.cpp.

994 {
995 return Helper( this ).retrieve( parent, item, obj );
996}

◆ retrieveObject() [24/46]

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

Definition at line 974 of file HistogramSvc.cpp.

974 {
975 return Helper( this ).retrieve( parent, item, obj );
976}

◆ retrieveObject() [25/46]

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

Definition at line 979 of file HistogramSvc.cpp.

979 {
980 return Helper( this ).retrieve( parent, item, obj );
981}

◆ retrieveObject() [26/46]

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

Definition at line 1008 of file HistogramSvc.cpp.

1008 {
1009 return Helper( this ).retrieve( par, item, obj );
1010}

◆ retrieveObject() [27/46]

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

Definition at line 1013 of file HistogramSvc.cpp.

1013 {
1014 return Helper( this ).retrieve( par, item, obj );
1015}

◆ retrieveObject() [28/46]

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

Definition at line 1018 of file HistogramSvc.cpp.

1018 {
1019 return Helper( this ).retrieve( par, item, obj );
1020}

◆ retrieveObject() [29/46]

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

Definition at line 998 of file HistogramSvc.cpp.

998 {
999 return Helper( this ).retrieve( par, item, obj );
1000}

◆ retrieveObject() [30/46]

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

Definition at line 1003 of file HistogramSvc.cpp.

1003 {
1004 return Helper( this ).retrieve( par, item, obj );
1005}

◆ retrieveObject() [31/46]

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

Definition at line 1033 of file HistogramSvc.cpp.

1033 {
1034 return Helper( this ).retrieve( par, item, obj );
1035}

◆ retrieveObject() [32/46]

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

Definition at line 1038 of file HistogramSvc.cpp.

1038 {
1039 return Helper( this ).retrieve( par, item, obj );
1040}

◆ retrieveObject() [33/46]

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

Definition at line 1043 of file HistogramSvc.cpp.

1043 {
1044 return Helper( this ).retrieve( par, item, obj );
1045}

◆ retrieveObject() [34/46]

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

Definition at line 1023 of file HistogramSvc.cpp.

1023 {
1024 return Helper( this ).retrieve( par, item, obj );
1025}

◆ retrieveObject() [35/46]

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

Definition at line 1028 of file HistogramSvc.cpp.

1028 {
1029 return Helper( this ).retrieve( par, item, obj );
1030}

◆ retrieveObject() [36/46]

StatusCode IDataProviderSvc::retrieveObject ( DataObject * parentObj,
int item,
DataObject *& pObject )
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 296 of file IDataProviderSvc.h.

296 {
297 return retrieveObject( parentObj, itemToPath( item ), pObject );
298 }

◆ retrieveObject() [37/46]

StatusCode IDataProviderSvc::retrieveObject ( DataObject * parentObj,
std::string_view objectPath,
DataObject *& pObject )
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 282 of file IDataProviderSvc.h.

282 {
283 return retrieveObject( parentObj ? parentObj->registry() : nullptr, objectPath, pObject );
284 }

◆ retrieveObject() [38/46]

virtual StatusCode IDataProviderSvc::retrieveObject ( IRegistry * pDirectory,
std::string_view path,
DataObject *& pObject )

Retrieve object identified by its directory entry.

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

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

◆ retrieveObject() [39/46]

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

Definition at line 897 of file HistogramSvc.cpp.

897 {
898 return Helper( this ).retrieve( pReg, path, obj );
899}

◆ retrieveObject() [40/46]

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

Definition at line 907 of file HistogramSvc.cpp.

907 {
908 return Helper( this ).retrieve( pReg, path, obj );
909}

◆ retrieveObject() [41/46]

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

Definition at line 917 of file HistogramSvc.cpp.

917 {
918 return Helper( this ).retrieve( pReg, path, obj );
919}

◆ retrieveObject() [42/46]

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

Definition at line 902 of file HistogramSvc.cpp.

902 {
903 return Helper( this ).retrieve( pReg, path, obj );
904}

◆ retrieveObject() [43/46]

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

Definition at line 912 of file HistogramSvc.cpp.

912 {
913 return Helper( this ).retrieve( pReg, path, obj );
914}

◆ retrieveObject() [44/46]

StatusCode IDataProviderSvc::retrieveObject ( std::string_view fullPath,
DataObject *& pObject )
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 238 of file IDataProviderSvc.h.

238 {
239 return retrieveObject( static_cast<IRegistry*>( nullptr ), fullPath, pObject );
240 }

◆ retrieveObject() [45/46]

StatusCode IDataProviderSvc::retrieveObject ( std::string_view parentPath,
int item,
DataObject *& pObject )
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 268 of file IDataProviderSvc.h.

268 {
269 return retrieveObject( parentPath, itemToPath( item ), pObject );
270 }

◆ retrieveObject() [46/46]

StatusCode IDataProviderSvc::retrieveObject ( std::string_view parentPath,
std::string_view objectPath,
DataObject *& pObject )
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 252 of file IDataProviderSvc.h.

252 {
253 DataObject* parent = nullptr;
254 StatusCode status = retrieveObject( parentPath, parent );
255 return status.isSuccess() ? retrieveObject( parent, objectPath, pObject ) : status;
256 }

◆ sliceX() [1/2]

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

Definition at line 1302 of file HistogramSvc.cpp.

1302 {
1303 return sliceX( name, h, indexY, indexY );
1304}

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

866 {
868 return nullptr;
869 }

◆ sliceXZ()

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

Definition at line 871 of file HistogramSvc.h.

872 {
874 return nullptr;
875 }

◆ sliceY() [1/2]

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

Definition at line 1307 of file HistogramSvc.cpp.

1307 {
1308 return sliceY( name, h, indexX, indexX );
1309}

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

878 {
880 return nullptr;
881 }

◆ subtract() [1/3]

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

Definition at line 1318 of file HistogramSvc.cpp.

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

◆ subtract() [2/3]

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

Definition at line 1342 of file HistogramSvc.cpp.

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

◆ subtract() [3/3]

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

Definition at line 1366 of file HistogramSvc.cpp.

1367 {
1368 return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, -1. );
1369}

◆ unregisterObject() [1/9]

StatusCode HistogramSvc::unregisterObject ( Base * obj)
override

Definition at line 884 of file HistogramSvc.cpp.

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

◆ unregisterObject() [2/9]

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

Definition at line 887 of file HistogramSvc.cpp.

887 {
888 return unregisterObject( ::detail::cast( obj ), objectPath );
889}

◆ unregisterObject() [3/9]

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

Definition at line 892 of file HistogramSvc.cpp.

892 {
893 return unregisterObject( ::detail::cast( obj ), item );
894}

◆ unregisterObject() [4/9]

Unregister object from the data store.

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

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

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

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

◆ unregisterObject() [5/9]

StatusCode IDataProviderSvc::unregisterObject ( DataObject * pParent,
int item )
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 214 of file IDataProviderSvc.h.

214 {
215 return unregisterObject( pParent, itemToPath( item ) );
216 }

◆ unregisterObject() [6/9]

virtual StatusCode IDataProviderSvc::unregisterObject ( DataObject * pParent,
std::string_view objPath )

Unregister object from the data store.

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

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

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

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

◆ unregisterObject() [7/9]

virtual StatusCode IDataProviderSvc::unregisterObject ( std::string_view fullPath)

Unregister object from the data store.

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

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

The object is identified by full path name.

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

◆ unregisterObject() [8/9]

StatusCode IDataProviderSvc::unregisterObject ( std::string_view parentPath,
int item )
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 165 of file IDataProviderSvc.h.

165 {
166 return unregisterObject( parentPath, itemToPath( item ) );
167 }

◆ unregisterObject() [9/9]

StatusCode IDataProviderSvc::unregisterObject ( std::string_view parentPath,
std::string_view objPath )
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 145 of file IDataProviderSvc.h.

145 {
146 DataObject* pO = nullptr;
147 StatusCode status = findObject( parentPath, pO );
148 return status.isSuccess() ? unregisterObject( pO, objPath ) : status;
149 }

◆ update1Ddefs()

void HistogramSvc::update1Ddefs ( )
private

handler to be invoked for updating property m_defs1D

Definition at line 339 of file HistogramSvc.cpp.

339 {
340 // check and remove the leading '/stat/'
341 removeLeading( m_defs1D.value(), "/stat/" );
342}

◆ write() [1/2]

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

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

◆ write() [2/2]

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

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

Member Data Documentation

◆ m_defs1D

Gaudi::Property<Histo1DMap> HistogramSvc::m_defs1D
private
Initial value:
{
this, "Predefined1DHistos", {}, &HistogramSvc::update1Ddefs, "histograms with predefined parameters" }
void update1Ddefs()
handler to be invoked for updating property m_defs1D

Definition at line 1081 of file HistogramSvc.h.

◆ m_input

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

Definition at line 1080 of file HistogramSvc.h.

◆ m_mods1D

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

Definition at line 1085 of file HistogramSvc.h.


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