The Gaudi Framework  v40r0 (475e45c1)
HistogramSvc::Helper Struct Reference

#include </builds/gaudi/Gaudi/GaudiCommonSvc/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 70 of file HistogramSvc.h.

Constructor & Destructor Documentation

◆ Helper()

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

Definition at line 72 of file HistogramSvc.h.

72 : m_svc( p ) {}

Member Function Documentation

◆ act() [1/4]

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

132  {
133  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
134  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
135  if ( h1 && h2 ) {
136  ( h1->*pmf )( h2 );
137  return res;
138  }
139  return nullptr;
140  }

◆ act() [2/4]

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

112  {
113  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
114  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
115  if ( h1 && h2 ) {
116  ( h1->*pmf )( h2, scale );
117  return res;
118  }
119  return nullptr;
120  }

◆ act() [3/4]

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

122  {
123  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
124  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
125  if ( h1 && h2 ) {
126  ( h1->*pmf )( h2 );
127  return res;
128  }
129  return nullptr;
130  }

◆ act() [4/4]

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

102  {
103  auto h1 = Gaudi::getRepresentation<R, T1>( *res );
104  const auto h2 = Gaudi::getRepresentation<R, T2>( b );
105  if ( h1 && h2 ) {
106  ( h1->*pmf )( h2, scale );
107  return res;
108  }
109  return nullptr;
110  }

◆ find() [1/2]

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.

95  {
96  DataObject* pObject = nullptr;
97  StatusCode sc = m_svc->findObject( a1, a2, pObject );
98  a3 = dynamic_cast<A3*>( pObject );
99  return sc;
100  }

◆ find() [2/2]

template<class A1 , class A3 >
StatusCode HistogramSvc::Helper::find ( A1  a1,
A3 *&  a3 
)
inline

Definition at line 88 of file HistogramSvc.h.

88  {
89  DataObject* pObject = nullptr;
90  StatusCode sc = m_svc->findObject( a1, pObject );
91  a3 = dynamic_cast<A3*>( pObject );
92  return sc;
93  }

◆ retrieve() [1/2]

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

Definition at line 81 of file HistogramSvc.h.

81  {
82  DataObject* pObject = nullptr;
83  StatusCode sc = m_svc->retrieveObject( a1, a2, pObject );
84  a3 = dynamic_cast<A3*>( pObject );
85  return sc;
86  }

◆ retrieve() [2/2]

template<class A1 , class A3 >
StatusCode HistogramSvc::Helper::retrieve ( A1  a1,
A3 *&  a3 
)
inline

Definition at line 74 of file HistogramSvc.h.

74  {
75  DataObject* pObject = nullptr;
76  StatusCode sc = m_svc->retrieveObject( a1, pObject );
77  a3 = dynamic_cast<A3*>( pObject );
78  return sc;
79  }

Member Data Documentation

◆ m_svc

HistogramSvc* HistogramSvc::Helper::m_svc

Definition at line 71 of file HistogramSvc.h.


The documentation for this struct was generated from the following file:
GPUAvalancheSchedulerSimpleTest.a1
a1
Definition: GPUAvalancheSchedulerSimpleTest.py:100
HistogramSvc::retrieveObject
StatusCode retrieveObject(IRegistry *pReg, const std::string &path, AIDA::IHistogram1D *&obj) override
Definition: HistogramSvc.cpp:908
HistogramSvc::Helper::m_svc
HistogramSvc * m_svc
Definition: HistogramSvc.h:71
StatusCode
Definition: StatusCode.h:64
HistogramSvc::findObject
StatusCode findObject(IRegistry *pReg, const std::string &path, AIDA::IProfile1D *&obj) override
Definition: HistogramSvc.cpp:1109
GPUAvalancheSchedulerSimpleTest.a3
a3
Definition: GPUAvalancheSchedulerSimpleTest.py:107
DataObject
Definition: DataObject.h:37
GPUAvalancheSchedulerSimpleTest.a2
a2
Definition: GPUAvalancheSchedulerSimpleTest.py:103