3 #ifndef GAUDISVC_HISTOGRAMSVC_H
4 #define GAUDISVC_HISTOGRAMSVC_H 1
21 #include "AIDA/IHistogramFactory.h"
22 #include "AIDA/IAnnotation.h"
39 #define DBINS(x) int n##x, double low##x, double up##x
40 #define BINS(x) n##x, low##x, up##x
41 #define NOT_IMPLEMENTED { not_implemented(); return 0; }
49 virtual public AIDA::IHistogramFactory
53 typedef const std::pair<std::string,std::string>&
STRPAIR;
59 typedef const std::string&
CSTR;
60 typedef std::vector<double>
Edges;
62 typedef AIDA::IHistogram1D
H1D;
63 typedef AIDA::IHistogram2D
H2D;
64 typedef AIDA::IHistogram3D
H3D;
65 typedef AIDA::IProfile1D
P1D;
66 typedef AIDA::IProfile2D
P2D;
67 typedef AIDA::IBaseHistogram
Base;
74 a3 =
dynamic_cast<A3*
>(pObject);
80 a3 =
dynamic_cast<A3*
>(pObject);
86 a3 =
dynamic_cast<A3*
>(pObject);
89 template <
class A1,
class A2,
class A3>
StatusCode find(A1 a1, A2 a2, A3*& a3) {
92 a3 =
dynamic_cast<A3*
>(pObject);
95 template <
class R,
class S,
class T1,
class T2>
96 static R*
act(R* res,
const S& b,
void (T1::*pmf)(
const T2*,Double_t), Double_t scale) {
97 T1 *
h1 = Gaudi::getRepresentation<R,T1>(*res);
98 T1 *
h2 = Gaudi::getRepresentation<R,T1>(b);
100 (h1->*pmf)(h2,scale);
105 template <
class R,
class S,
class T1,
class T2>
106 static R*
act(R* res,
const S& b, Bool_t (T1::*pmf)(
const T2*,Double_t), Double_t scale) {
107 T1 *
h1 = Gaudi::getRepresentation<R,T1>(*res);
108 T1 *
h2 = Gaudi::getRepresentation<R,T1>(b);
110 (h1->*pmf)(h2,scale);
115 template <
class R,
class S,
class T1,
class T2>
116 static R*
act(R* res,
const S& b,
void (T1::*pmf)(
const T2*)) {
117 T1 *
h1 = Gaudi::getRepresentation<R,T1>(*res);
118 T1 *
h2 = Gaudi::getRepresentation<R,T1>(b);
125 template <
class R,
class S,
class T1,
class T2>
126 static R*
act(R* res,
const S& b, Bool_t (T1::*pmf)(
const T2*)) {
127 T1 *
h1 = Gaudi::getRepresentation<R,T1>(*res);
128 T1 *
h2 = Gaudi::getRepresentation<R,T1>(b);
162 std::string
_STR(
int i);
164 template <
class T>
inline
174 if ( 0 == q && 0 != p ) {
175 throw std::runtime_error(
"HistogramSvc: Unexpected object type.");
221 {
return book(loc.first, loc.second, title,
BINS(x)); }
251 {
return bookProf(loc.first, loc.second, title,
BINS(x),opt); }
264 {
return bookProf(loc.first, loc.second, title,
BINS(x), upper, lower,opt); }
287 {
return book(par,
_STR(hID), title, e); }
289 {
return book(pPar,
_STR(hID), title, e); }
293 {
return book(loc.first, loc.second, title, e); }
325 {
return bookProf(loc.first, loc.second, title, e); }
334 {
return bookProf(par,
_STR(hID), title, e, upper, lower); }
336 {
return bookProf(pPar,
_STR(hID), title, e, upper, lower); }
338 {
return bookProf(loc.first, loc.second, title, e, upper, lower); }
368 {
return book(loc.first, loc.second, title,
BINS(x),
BINS(y)); }
398 {
return bookProf(loc.first, loc.second, title,
BINS(x),
BINS(y), upper, lower); }
440 {
return book(par,
_STR(hID), title, x, y); }
442 {
return book(loc.first, loc.second, title, x, y); }
444 {
return book(pPar,
_STR(hID), title, x, y); }
473 {
return bookProf(loc.first, loc.second, title, x, y); }
482 {
return bookProf(par,
_STR(hID), title, x, y, upper, lower); }
484 {
return bookProf(pPar,
_STR(hID), title, x, y, upper, lower); }
486 {
return bookProf(loc.first, loc.second, title, x, y, upper, lower); }
545 {
return book(par,
_STR(hID), title, x, y, z); }
547 {
return book(pPar,
_STR(hID), title, x, y, z); }
549 {
return book(loc.first, loc.second, title, x,y,z); }
584 {
return Helper(
this).retrieve(pReg,path,obj); }
586 {
return Helper(
this).retrieve(pReg,path,obj); }
588 {
return Helper(
this).retrieve(pReg,path,obj); }
590 {
return Helper(
this).retrieve(pReg,path,obj); }
592 {
return Helper(
this).retrieve(pReg,path,obj); }
595 {
return Helper(
this).retrieve(full,obj); }
597 {
return Helper(
this).retrieve(full,obj); }
599 {
return Helper(
this).retrieve(full,obj); }
601 {
return Helper(
this).retrieve(full,obj); }
603 {
return Helper(
this).retrieve(full,obj); }
606 {
return Helper(
this).retrieve(parent,rel,obj); }
608 {
return Helper(
this).retrieve(parent,rel,obj); }
610 {
return Helper(
this).retrieve(parent,rel,obj); }
612 {
return Helper(
this).retrieve(parent,rel,obj); }
614 {
return Helper(
this).retrieve(parent,rel,obj); }
617 {
return Helper(
this).retrieve(parent,item,obj); }
619 {
return Helper(
this).retrieve(parent,item,obj); }
621 {
return Helper(
this).retrieve(parent,item,obj); }
623 {
return Helper(
this).retrieve(parent,item,obj); }
625 {
return Helper(
this).retrieve(parent,item,obj); }
628 {
return Helper(
this).retrieve(par,item,obj); }
630 {
return Helper(
this).retrieve(par,item,obj); }
632 {
return Helper(
this).retrieve(par,item,obj); }
634 {
return Helper(
this).retrieve(par,item,obj); }
636 {
return Helper(
this).retrieve(par,item,obj); }
639 {
return Helper(
this).retrieve(par,item,obj); }
641 {
return Helper(
this).retrieve(par,item,obj); }
643 {
return Helper(
this).retrieve(par,item,obj); }
645 {
return Helper(
this).retrieve(par,item,obj); }
647 {
return Helper(
this).retrieve(par,item,obj); }
679 {
return Helper(
this).find(pReg,path,obj); }
681 {
return Helper(
this).find(pReg,path,obj); }
683 {
return Helper(
this).find(pReg,path,obj); }
685 {
return Helper(
this).find(pReg,path,obj); }
687 {
return Helper(
this).find(pReg,path,obj); }
690 {
return Helper(
this).find(full,obj); }
692 {
return Helper(
this).find(full,obj); }
694 {
return Helper(
this).find(full,obj); }
696 {
return Helper(
this).find(full,obj); }
698 {
return Helper(
this).find(full,obj); }
701 {
return Helper(
this).find(par,rel,obj); }
703 {
return Helper(
this).find(par,rel,obj); }
705 {
return Helper(
this).find(par,rel,obj); }
707 {
return Helper(
this).find(par,rel,obj); }
709 {
return Helper(
this).find(par,rel,obj); }
712 {
return Helper(
this).find(par,item,obj); }
714 {
return Helper(
this).find(par,item,obj); }
716 {
return Helper(
this).find(par,item,obj); }
718 {
return Helper(
this).find(par,item,obj); }
720 {
return Helper(
this).find(par,item,obj); }
723 {
return Helper(
this).find(par,item,obj); }
725 {
return Helper(
this).find(par,item,obj); }
727 {
return Helper(
this).find(par,item,obj); }
729 {
return Helper(
this).find(par,item,obj); }
731 {
return Helper(
this).find(par,item,obj); }
734 {
return Helper(
this).find(par,item,obj); }
736 {
return Helper(
this).find(par,item,obj); }
738 {
return Helper(
this).find(par,item,obj); }
740 {
return Helper(
this).find(par,item,obj); }
742 {
return Helper(
this).find(par,item,obj); }
770 {
return sliceX( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN); }
772 {
return sliceY( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN); }
774 {
return sliceX( name, h, indexY, indexY ); }
776 {
return sliceY( name, h, indexX, indexX ); }
780 bool destroy( IBaseHistogram* hist);
810 {
return i_project(nameAndTitle,h,
"xy"); }
812 {
return i_project(nameAndTitle,h,
"xz"); }
814 {
return i_project(nameAndTitle,h,
"yz"); }
821 {
return book( name, tit,
BINS(x)); }
823 {
return book( name, tit,
BINS(x)); }
825 {
return book(name, title, x); }
827 {
return book(nameAndTitle, nameAndTitle,
BINS(x)); }
833 {
return createCopy(loc.first, loc.second, h); }
842 {
return book(name, title, x, y); }
844 {
return book(nameAndTitle, nameAndTitle,
BINS(x),
BINS(y)); }
850 {
return createCopy(loc.first, loc.second, h); }
859 {
return book(name, title, x, y, z); }
867 {
return createCopy(loc.first, loc.second, h); }
876 {
return bookProf( name, tit,
BINS(x), upper, lower , opt ); }
878 {
return bookProf(name, title, x ); }
880 {
return bookProf(name, title, x, upper, lower ); }
885 {
return bookProf( nametit, nametit,
BINS(x), upper, lower ,
"s"); }
893 {
return createCopy(loc.first, loc.second, h); }
902 {
return bookProf(name, title, x, y); }
911 {
return bookProf(name, title, x, y, upper, lower); }
913 {
return bookProf(nameAndTitle, nameAndTitle,
BINS(x),
BINS(y), upper, lower);}
920 {
return createCopy(loc.first, loc.second, h); }
947 virtual
int write(
Base* h, const
char* file_name ) const;
977 #endif // GAUDISVC_HISTOGRAMSVC_H
virtual P2D * bookProf(STRPAIR loc, CSTR title, Edges x, Edges y, double upper, double lower)
H1D * createCopy(CSTR par, CSTR rel, const H1D &h)
H2D * add(CSTR nameAndTitle, const H2D &a, const H2D &b)
H2D * subtract(CSTR nameAndTitle, const H2D &a, const H2D &b)
virtual P2D * bookProf(CSTR par, int hID, CSTR title, Edges x, Edges y, double upper, double lower)
virtual StatusCode retrieveObject(CSTR parent, int item, P2D *&obj)
virtual H1D * book(STRPAIR loc, CSTR title, Edges e)
Definition of the MsgStream class used to transmit messages.
H2D * createCopy(DataObject *pPar, CSTR rel, const H2D &h)
H1D * createCopy(DataObject *pPar, CSTR rel, const H1D &h)
virtual StatusCode findObject(DataObject *par, CSTR item, P1D *&obj)
virtual P2D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
P2D * createProfile2D(CSTR name, CSTR title, const Edges &x, const Edges &y, double upper, double lower, CSTR)
virtual H2D * book(CSTR par, int hID, CSTR title, Edges x, Edges y)
Define general base for Gaudi exception.
virtual StatusCode findObject(CSTR par, int item, H1D *&obj)
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
virtual H1D * book(CSTR par, CSTR rel, CSTR title, Edges e)
std::set< std::string > m_mods1D
virtual StatusCode retrieveObject(CSTR parent, CSTR rel, P1D *&obj)
bool destroy(IBaseHistogram *hist)
virtual StatusCode findObject(DataObject *par, CSTR item, H3D *&obj)
virtual P1D * bookProf(STRPAIR loc, CSTR title, Edges e, double upper, double lower)
virtual StatusCode findObject(Base *par, CSTR item, H2D *&obj)
virtual StatusCode findObject(CSTR par, int item, P1D *&obj)
virtual StatusCode retrieveObject(Base *par, int item, H1D *&obj)
virtual P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y)
virtual H2D * book(STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), double upper, double lower)
virtual StatusCode retrieveObject(CSTR parent, int item, H3D *&obj)
virtual P2D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
virtual P1D * bookProf(CSTR full, CSTR title, Edges e)
Book histogram and register it with the histogram data store.
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
H1D * subtract(CSTR nameAndTitle, const H1D &a, const H1D &b)
SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
virtual StatusCode retrieveObject(DataObject *par, int item, H2D *&obj)
P1D * createCopy(STRPAIR loc, const P1D &h)
virtual StatusCode registerObject(Base *pPar, CSTR rel, Base *obj)
virtual StatusCode retrieveObject(IRegistry *pReg, CSTR path, H1D *&obj)
virtual StatusCode findObject(Base *par, int item, H3D *&obj)
bool isSuccess() const
Test for a status code of SUCCESS.
virtual P1D * bookProf(CSTR par, int hID, CSTR title, Edges e)
P1D * createProfile1D(CSTR nametit, DBINS(x), double upper, double lower)
virtual P1D * bookProf(CSTR full, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
virtual H1D * projectionY(CSTR name, const H2D &h)
const std::pair< std::string, std::string > & STRPAIR
virtual P1D * bookProf(DataObject *pPar, int hID, CSTR title, Edges e)
virtual H1D * book(STRPAIR loc, CSTR title, DBINS(x))
virtual StatusCode findObject(DataObject *par, int item, P1D *&obj)
P1D * createCopy(CSTR full, const P1D &h)
virtual P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower)
virtual H1D * book(DataObject *pPar, int hID, CSTR title, DBINS(x))
virtual AIDA::IHistogramFactory * histogramFactory()
Retrieve the AIDA HistogramFactory interface.
virtual StatusCode findObject(CSTR full, H3D *&obj)
H2D * createHistogram2D(CSTR nameAndTitle, DBINS(x), DBINS(y))
virtual H2D * book(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y))
virtual P2D * bookProf(CSTR full, CSTR title, Edges x, Edges y, double upper, double lower)
virtual std::ostream & write(Base *h, std::ostream &s=std::cout) const
Write (ASCII) the 1D histogram table into the output stream.
H2D * multiply(CSTR nameAndTitle, const H2D &a, const H2D &b)
virtual P1D * bookProf(CSTR par, int hID, CSTR title, Edges e, double upper, double lower)
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
void not_implemented() const
StatusCode find(A1 a1, A3 *&a3)
StatusCode retrieve(A1 a1, A2 a2, A3 *&a3)
virtual StatusCode retrieveObject(Base *par, CSTR item, P1D *&obj)
virtual P2D * bookProf(STRPAIR loc, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
P1D * createProfile1D(CSTR name, CSTR title, const Edges &x, CSTR)
virtual StatusCode initialize()
Initialise the service.
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
virtual StatusCode retrieveObject(IRegistry *pReg, CSTR path, H3D *&obj)
virtual StatusCode retrieveObject(CSTR full, H2D *&obj)
virtual H1D * sliceY(CSTR name, const H2D &h, int indexX)
virtual StatusCode findObject(Base *par, int item, P2D *&obj)
H3D * createHistogram3D(CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z))
virtual P2D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y))
virtual P1D * bookProf(CSTR full, CSTR title, Edges e, double upper, double lower)
virtual StatusCode findObject(Base *par, CSTR item, H3D *&obj)
virtual P2D * bookProf(CSTR full, CSTR title, DBINS(x), DBINS(y))
Data provider interface definition.
virtual StatusCode unregisterObject(Base *obj, int item)
virtual P1D * bookProf(DataObject *pPar, int hID, CSTR title, Edges e, double upper, double lower)
H2D * i_project(CSTR nameAndTitle, const H3D &h, CSTR dir)
Helper for 2D projections.
virtual P1D * bookProf(STRPAIR loc, CSTR title, Edges e)
H2D * createCopy(CSTR par, CSTR rel, const H2D &h)
virtual StatusCode retrieveObject(Base *par, CSTR item, H3D *&obj)
virtual StatusCode registerObject(Base *pPar, int item, Base *obj)
DBaseEntries m_input
Input streams.
virtual StatusCode retrieveObject(IRegistry *pReg, CSTR path, P1D *&obj)
virtual P2D * bookProf(STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
StatusCode connectInput(CSTR ident)
Connect input histogram file to the service.
virtual H3D * book(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z))
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), double upper, double lower, CSTR)
H1D * multiply(CSTR nameAndTitle, const H1D &a, const H1D &b)
virtual StatusCode retrieveObject(DataObject *par, int item, P2D *&obj)
virtual StatusCode retrieveObject(DataObject *par, CSTR item, P1D *&obj)
virtual ~HistogramSvc()
Destructor.
virtual StatusCode findObject(Base *par, int item, H1D *&obj)
virtual StatusCode retrieveObject(CSTR parent, int item, P1D *&obj)
virtual StatusCode finalize()
finalize the service
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
virtual StatusCode retrieveObject(Base *par, CSTR item, P2D *&obj)
H2D * projectionXY(CSTR nameAndTitle, const H3D &h)
virtual H1D * book(CSTR par, int hID, CSTR title, DBINS(x))
virtual H1D * book(CSTR full, CSTR title, Edges e)
virtual StatusCode retrieveObject(IRegistry *pReg, CSTR path, H2D *&obj)
virtual H3D * book(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z))
virtual P2D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y))
virtual StatusCode retrieveObject(DataObject *par, int item, P1D *&obj)
virtual H1D * book(DataObject *pPar, int hID, CSTR title, Edges e)
virtual StatusCode findObject(Base *par, int item, H2D *&obj)
virtual std::ostream & print(Base *h, std::ostream &s=std::cout) const
Print (ASCII) the 1D histogram into the output stream.
virtual P2D * bookProf(DataObject *pPar, int hID, CSTR title, Edges x, Edges y, double upper, double lower)
virtual StatusCode findObject(DataObject *par, CSTR item, H1D *&obj)
virtual StatusCode findObject(CSTR full, P2D *&obj)
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
virtual P1D * bookProf(STRPAIR loc, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
H3D * add(CSTR nameAndTitle, const H3D &a, const H3D &b)
virtual StatusCode findObject(Base *par, CSTR item, H1D *&obj)
struct GAUDI_API map
Parametrisation class for map-like implementation.
HistogramSvc(CSTR name, ISvcLocator *svc)
Statndard Constructor.
H1D * createCopy(STRPAIR loc, const H1D &h)
virtual StatusCode findObject(CSTR full, P1D *&obj)
P2D * createCopy(CSTR full, const P2D &h)
virtual H2D * book(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y)
virtual P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
virtual StatusCode findObject(DataObject *par, int item, H1D *&obj)
virtual H1D * book(CSTR par, int hID, CSTR title, Edges e)
Book histogram and register it with the histogram data store.
H2D * sliceXY(CSTR, const H3D &, int, int) NOT_IMPLEMENTED H2D *sliceXZ(CSTR
P1D * createProfile1D(CSTR name, CSTR tit, DBINS(x), CSTR opt)
virtual StatusCode retrieveObject(Base *par, int item, H3D *&obj)
virtual StatusCode findObject(CSTR full, H1D *&obj)
This class is used for returning status codes from appropriate routines.
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *))
P2D * createCopy(DataObject *pPar, CSTR rel, const P2D &h)
Base class used to extend a class implementing other interfaces.
virtual P2D * bookProf(CSTR par, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower)
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y))
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
virtual P2D * bookProf(DataObject *pPar, int hID, CSTR title, Edges x, Edges y)
virtual P1D * bookProf(CSTR full, CSTR title, DBINS(x), CSTR opt)
virtual StatusCode retrieveObject(DataObject *par, CSTR item, P2D *&obj)
AIDA::IBaseHistogram Base
H2D * divide(CSTR nameAndTitle, const H2D &a, const H2D &b)
H2D const H3D int NOT_IMPLEMENTED H2D * sliceYZ(CSTR, const H3D &, int, int) NOT_IMPLEMENTEDH1D *createHistogram1D(CSTR name
virtual P2D * bookProf(CSTR full, CSTR title, Edges x, Edges y)
Book histogram and register it with the histogram data store.
virtual StatusCode retrieveObject(DataObject *par, CSTR item, H3D *&obj)
virtual StatusCode retrieveObject(CSTR full, P1D *&obj)
virtual StatusCode findObject(IRegistry *pReg, CSTR path, P2D *&obj)
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
void update1Ddefs(Property &)
handler to be invoked for updating property m_defs1D
virtual P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
H2D * createHistogram2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), CSTR)
virtual StatusCode findObject(DataObject *par, int item, P2D *&obj)
P1D * createCopy(CSTR par, CSTR rel, const P1D &h)
The IRegistry represents the entry door to the environment any data object residing in a transient da...
static DataObject * __cast(T *p)
virtual H2D * book(CSTR par, CSTR rel, CSTR title, Edges x, Edges y)
virtual P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges e)
virtual StatusCode findObject(Base *par, CSTR item, P2D *&obj)
P2D * createCopy(CSTR par, CSTR rel, const P2D &h)
H1D * createHistogram1D(CSTR nameAndTitle, DBINS(x))
virtual P1D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), CSTR opt)
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
virtual StatusCode retrieveObject(DataObject *par, CSTR item, H1D *&obj)
virtual StatusCode retrieveObject(CSTR parent, CSTR rel, P2D *&obj)
virtual H1D * sliceX(CSTR name, const H2D &h, int indexY)
virtual StatusCode retrieveObject(DataObject *par, int item, H3D *&obj)
virtual P2D * bookProf(CSTR full, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
Book histogram and register it with the histogram data store.
virtual StatusCode findObject(DataObject *par, CSTR item, P2D *&obj)
virtual StatusCode retrieveObject(CSTR full, H1D *&obj)
virtual P2D * bookProf(CSTR par, int hID, CSTR title, Edges x, Edges y)
virtual P1D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
H2D * createCopy(STRPAIR loc, const H2D &h)
virtual H3D * book(DataObject *pPar, int hID, CSTR title, Edges x, Edges y, Edges z)
virtual StatusCode registerObject(CSTR parent, CSTR rel, Base *obj)
P1D * createCopy(DataObject *pPar, CSTR rel, const P1D &h)
virtual StatusCode retrieveObject(Base *par, int item, P2D *&obj)
virtual const std::string & name() const
Retrieve name of the service.
P2D * createProfile2D(CSTR nameAndTitle, DBINS(x), DBINS(y))
virtual H3D * book(CSTR full, CSTR title, DBINS(x), DBINS(y), DBINS(z))
Book histogram and register it with the histogram data store.
virtual StatusCode retrieveObject(CSTR parent, CSTR rel, H1D *&obj)
virtual DataObject * createDirectory(CSTR parentDir, CSTR subDir)
Create a sub-directory in a directory.
virtual H1D * book(DataObject *pPar, CSTR rel, CSTR title, Edges e)
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
virtual StatusCode registerObject(DataObject *pPar, int item, Base *obj)
H2D * createHistogram2D(CSTR name, CSTR tit, DBINS(x), DBINS(y))
H1D * add(CSTR nameAndTitle, const H1D &a, const H1D &b)
std::vector< std::string > DBaseEntries
virtual StatusCode findObject(CSTR par, CSTR rel, P1D *&obj)
virtual StatusCode retrieveObject(CSTR parent, CSTR rel, H2D *&obj)
virtual StatusCode retrieveObject(CSTR parent, int item, H1D *&obj)
std::vector< double > Edges
P1D * createProfile1D(CSTR name, CSTR title, const Edges &x, double upper, double lower, CSTR)
H3D * createCopy(STRPAIR loc, const H3D &h)
virtual StatusCode retrieveObject(DataObject *par, int item, H1D *&obj)
virtual H2D * book(CSTR full, CSTR title, Edges x, Edges y)
Book histogram and register it with the histogram data store.
virtual StatusCode findObject(DataObject *par, int item, H2D *&obj)
virtual H3D * book(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z))
virtual StatusCode findObject(IRegistry *pReg, CSTR path, P1D *&obj)
H3D * createCopy(DataObject *pPar, CSTR rel, const H3D &h)
Property base class allowing Property* collections to be "homogeneous".
virtual StatusCode findObject(IRegistry *pReg, CSTR path, H1D *&obj)
virtual H3D * book(CSTR par, CSTR rel, CSTR title, Edges x, Edges y, Edges z)
virtual H2D * book(CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y))
virtual StatusCode retrieveObject(DataObject *par, CSTR item, H2D *&obj)
virtual P1D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), CSTR opt)
static R * act(R *res, const S &b, Bool_t(T1::*pmf)(const T2 *, Double_t), Double_t scale)
virtual P2D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
virtual H2D * book(DataObject *pPar, int hID, CSTR title, Edges x, Edges y)
H2D * projectionXZ(CSTR nameAndTitle, const H3D &h)
virtual H2D * book(STRPAIR loc, CSTR title, Edges x, Edges y)
H1D * createCopy(CSTR full, const H1D &h)
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
virtual H3D * book(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z))
virtual H1D * book(CSTR full, CSTR title, DBINS(x))
virtual P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, Edges e, double upper, double lower)
H1D * createHistogram1D(CSTR name, CSTR title, const Edges &x, CSTR)
virtual StatusCode retrieveObject(Base *par, int item, H2D *&obj)
virtual H2D * book(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y))
virtual StatusCode unregisterObject(const std::string &fullPath)
Unregister object from the data store.
virtual P2D * bookProf(DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y))
virtual H3D * book(CSTR par, int hID, CSTR title, Edges x, Edges y, Edges z)
virtual P1D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), CSTR opt)
P2D * createProfile2D(CSTR nameAndTitle, DBINS(x), DBINS(y), double upper, double lower)
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, Edges e, double upper, double lower)
std
AIDA -> ROTO converter.
static R * act(R *res, const S &b, Bool_t(T1::*pmf)(const T2 *))
H2D const H3D int NOT_IMPLEMENTED H2D CSTR DBINS(x))
virtual P2D * bookProf(CSTR par, CSTR rel, CSTR title, Edges x, Edges y)
virtual P2D * bookProf(STRPAIR loc, CSTR title, Edges x, Edges y)
virtual H3D * book(CSTR full, CSTR title, Edges x, Edges y, Edges z)
Book histogram and register it with the histogram data store.
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
virtual StatusCode findObject(IRegistry *pReg, CSTR path, H2D *&obj)
virtual StatusCode findObject(CSTR par, int item, H3D *&obj)
H3D * createCopy(CSTR par, CSTR rel, const H3D &h)
virtual H3D * book(DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, Edges z)
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
H1D * divide(CSTR nameAndTitle, const H1D &a, const H1D &b)
virtual StatusCode retrieveObject(CSTR full, H3D *&obj)
virtual StatusCode findObject(Base *par, CSTR item, P1D *&obj)
H3D * subtract(CSTR nameAndTitle, const H3D &a, const H3D &b)
virtual StatusCode retrieveObject(Base *par, CSTR item, H1D *&obj)
StatusCode retrieve(A1 a1, A3 *&a3)
virtual P2D * bookProf(DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y))
virtual StatusCode retrieveObject(CSTR parent, CSTR rel, H3D *&obj)
This is a number of static methods for bootstrapping the Gaudi framework.
virtual StatusCode unregisterObject(Base *obj)
virtual StatusCode retrieveObject(CSTR parent, int item, H2D *&obj)
virtual H2D * book(CSTR full, CSTR title, DBINS(x), DBINS(y))
Book histogram and register it with the histogram data store.
virtual H3D * book(STRPAIR loc, CSTR title, DBINS(x), DBINS(y), DBINS(z))
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, Edges e)
virtual StatusCode findObject(DataObject *par, int item, H3D *&obj)
A DataObject is the base class of any identifiable object on any data store.
H3D * createHistogram3D(CSTR name, CSTR title, const Edges &x, const Edges &y, const Edges &z, CSTR)
virtual StatusCode retrieveObject(CSTR full, P2D *&obj)
virtual H3D * book(STRPAIR loc, CSTR title, Edges x, Edges y, Edges z)
virtual StatusCode retrieveObject(Base *par, CSTR item, H2D *&obj)
virtual StatusCode findObject(IRegistry *pReg, CSTR path, H3D *&obj)
virtual StatusCode findObject(CSTR full, H2D *&obj)
H3D * createHistogram3D(CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z), CSTR)
virtual H2D * book(CSTR par, int hID, CSTR title, DBINS(x), DBINS(y))
virtual StatusCode findObject(Base *par, int item, P1D *&obj)
P2D * createProfile2D(CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR)
virtual StatusCode findObject(CSTR par, int item, P2D *&obj)
H3D * createHistogram3D(CSTR nameAndTitle, DBINS(x), DBINS(y), DBINS(z))
virtual StatusCode retrieveObject(Base *par, int item, P1D *&obj)
virtual P1D * bookProf(STRPAIR loc, CSTR title, DBINS(x), CSTR opt)
H2D * createCopy(CSTR full, const H2D &h)
virtual StatusCode findObject(CSTR par, CSTR rel, H1D *&obj)
virtual StatusCode registerObject(CSTR parent, int item, Base *obj)
P2D * createProfile2D(CSTR name, CSTR tit, DBINS(x), DBINS(y), CSTR)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
virtual StatusCode findObject(CSTR par, CSTR rel, H3D *&obj)
P1D * createProfile1D(CSTR name, CSTR tit, DBINS(x), double upper, double lower, CSTR opt)
H3D * multiply(CSTR nameAndTitle, const H3D &a, const H3D &b)
virtual StatusCode unregisterObject(Base *obj, CSTR objectPath)
virtual P1D * bookProf(CSTR par, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
P1D * createProfile1D(CSTR nametit, DBINS(x))
virtual StatusCode reinitialize()
Initialise the service.
virtual StatusCode findObject(DataObject *par, CSTR item, H2D *&obj)
std::map< std::string, Gaudi::Histo1DDef > Histo1DMap
virtual StatusCode retrieveObject(IRegistry *pReg, CSTR path, P2D *&obj)
P2D * createCopy(STRPAIR loc, const P2D &h)
virtual StatusCode findObject(CSTR par, CSTR rel, P2D *&obj)
H1D * createHistogram1D(CSTR name, CSTR tit, DBINS(x), CSTR)
H3D * createCopy(CSTR full, const H3D &h)
H2D * projectionYZ(CSTR nameAndTitle, const H3D &h)
H2D * createHistogram2D(CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR)
virtual H1D * projectionX(CSTR name, const H2D &h)
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
H3D * divide(CSTR nameAndTitle, const H3D &a, const H3D &b)
virtual StatusCode findObject(CSTR par, CSTR rel, H2D *&obj)
virtual StatusCode findObject(CSTR par, int item, H2D *&obj)
StatusCode find(A1 a1, A2 a2, A3 *&a3)
HistogramSvc class definition.