The Gaudi Framework  master (37c0b60a)
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 71 of file HistogramSvc.h.

Constructor & Destructor Documentation

◆ Helper()

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

Definition at line 73 of file HistogramSvc.h.

73 : 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 133 of file HistogramSvc.h.

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

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

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

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

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

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

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

◆ find() [1/2]

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

Definition at line 96 of file HistogramSvc.h.

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

◆ find() [2/2]

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

Definition at line 89 of file HistogramSvc.h.

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

◆ retrieve() [1/2]

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

Definition at line 82 of file HistogramSvc.h.

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

◆ retrieve() [2/2]

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

Definition at line 75 of file HistogramSvc.h.

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

Member Data Documentation

◆ m_svc

HistogramSvc* HistogramSvc::Helper::m_svc

Definition at line 72 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:72
StatusCode
Definition: StatusCode.h:65
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:36
GPUAvalancheSchedulerSimpleTest.a2
a2
Definition: GPUAvalancheSchedulerSimpleTest.py:103