The Gaudi Framework  v29r0 (ff2e7097)
HistogramSvc::Helper Struct Reference

#include <GaudiCommonSvc/HistogramSvc.h>

Collaboration diagram for HistogramSvc::Helper:

Public Member Functions

 Helper (HistogramSvc *p)
 
template<class A1 , class A3 >
StatusCode retrieve (A1 a1, A3 *&a3)
 
template<class A1 , class A2 , class A3 >
StatusCode retrieve (A1 a1, A2 a2, A3 *&a3)
 
template<class A1 , class A3 >
StatusCode find (A1 a1, A3 *&a3)
 
template<class A1 , class A2 , class A3 >
StatusCode find (A1 a1, A2 a2, A3 *&a3)
 

Static Public Member Functions

template<class R , class S , class T1 , class T2 >
static R * act (R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
 
template<class R , class S , class T1 , class T2 >
static R * act (R *res, const S &b, Bool_t(T1::*pmf)(const T2 *, Double_t), Double_t scale)
 
template<class R , class S , class T1 , class T2 >
static R * act (R *res, const S &b, void(T1::*pmf)(const T2 *))
 
template<class R , class S , class T1 , class T2 >
static R * act (R *res, const S &b, Bool_t(T1::*pmf)(const T2 *))
 

Public Attributes

HistogramSvcm_svc
 

Detailed Description

Definition at line 67 of file HistogramSvc.h.

Constructor & Destructor Documentation

HistogramSvc::Helper::Helper ( HistogramSvc p)
inline

Definition at line 69 of file HistogramSvc.h.

69 : m_svc( p ) {}
HistogramSvc * m_svc
Definition: HistogramSvc.h:68

Member Function Documentation

template<class R , class S , class T1 , class T2 >
static R* HistogramSvc::Helper::act ( R *  res,
const S &  b,
void(T1::*)(const T2 *, Double_t)  pmf,
Double_t  scale 
)
inlinestatic

Definition at line 103 of file HistogramSvc.h.

104  {
105  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
106  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
107  if ( h1 && h2 ) {
108  ( h1->*pmf )( h2, scale );
109  return res;
110  }
111  return nullptr;
112  }
template<class R , class S , class T1 , class T2 >
static R* HistogramSvc::Helper::act ( R *  res,
const S &  b,
Bool_t(T1::*)(const T2 *, Double_t)  pmf,
Double_t  scale 
)
inlinestatic

Definition at line 114 of file HistogramSvc.h.

115  {
116  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
117  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
118  if ( h1 && h2 ) {
119  ( h1->*pmf )( h2, scale );
120  return res;
121  }
122  return nullptr;
123  }
template<class R , class S , class T1 , class T2 >
static R* HistogramSvc::Helper::act ( R *  res,
const S &  b,
void(T1::*)(const T2 *)  pmf 
)
inlinestatic

Definition at line 125 of file HistogramSvc.h.

126  {
127  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
128  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
129  if ( h1 && h2 ) {
130  ( h1->*pmf )( h2 );
131  return res;
132  }
133  return nullptr;
134  }
template<class R , class S , class T1 , class T2 >
static R* HistogramSvc::Helper::act ( R *  res,
const S &  b,
Bool_t(T1::*)(const T2 *)  pmf 
)
inlinestatic

Definition at line 136 of file HistogramSvc.h.

137  {
138  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
139  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
140  if ( h1 && h2 ) {
141  ( h1->*pmf )( h2 );
142  return res;
143  }
144  return nullptr;
145  }
template<class A1 , class A3 >
StatusCode HistogramSvc::Helper::find ( A1  a1,
A3 *&  a3 
)
inline

Definition at line 87 of file HistogramSvc.h.

88  {
89  DataObject* pObject = nullptr;
90  StatusCode sc = m_svc->DataSvc::findObject( a1, pObject );
91  a3 = dynamic_cast<A3*>( pObject );
92  return sc;
93  }
HistogramSvc * m_svc
Definition: HistogramSvc.h:68
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
template<class A1 , class A2 , class A3 >
StatusCode HistogramSvc::Helper::find ( A1  a1,
A2  a2,
A3 *&  a3 
)
inline

Definition at line 95 of file HistogramSvc.h.

96  {
97  DataObject* pObject = nullptr;
98  StatusCode sc = m_svc->DataSvc::findObject( a1, a2, pObject );
99  a3 = dynamic_cast<A3*>( pObject );
100  return sc;
101  }
HistogramSvc * m_svc
Definition: HistogramSvc.h:68
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
template<class A1 , class A3 >
StatusCode HistogramSvc::Helper::retrieve ( A1  a1,
A3 *&  a3 
)
inline

Definition at line 71 of file HistogramSvc.h.

72  {
73  DataObject* pObject = nullptr;
74  StatusCode sc = m_svc->DataSvc::retrieveObject( a1, pObject );
75  a3 = dynamic_cast<A3*>( pObject );
76  return sc;
77  }
HistogramSvc * m_svc
Definition: HistogramSvc.h:68
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
template<class A1 , class A2 , class A3 >
StatusCode HistogramSvc::Helper::retrieve ( A1  a1,
A2  a2,
A3 *&  a3 
)
inline

Definition at line 79 of file HistogramSvc.h.

80  {
81  DataObject* pObject = nullptr;
82  StatusCode sc = m_svc->DataSvc::retrieveObject( a1, a2, pObject );
83  a3 = dynamic_cast<A3*>( pObject );
84  return sc;
85  }
HistogramSvc * m_svc
Definition: HistogramSvc.h:68
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29

Member Data Documentation

HistogramSvc* HistogramSvc::Helper::m_svc

Definition at line 68 of file HistogramSvc.h.


The documentation for this struct was generated from the following file: