Gaudi Framework, version v23r0 |
Home | Generated: Mon Jan 30 2012 |
#include <Helpers.h>
Public Member Functions | |
Helper () | |
Static Public Member Functions | |
static IService * | service (ISvcLocator *svcloc, const std::string &name, bool createif=false) |
static IAlgorithm * | algorithm (IAlgManager *algmgr, const std::string &name, const bool createIf=false) |
static DataObject * | dataobject (IDataProviderSvc *dpsvc, const std::string &path) |
static GAUDI_API DataObject * | findobject (IDataProviderSvc *dpsvc, const std::string &path) |
simple wrapper for IDataProviderSvc::findObject The methdod does NOT trigger the loading the object from tape or Data-On-Demand action | |
static GAUDI_API DataObject * | getobject (IDataProviderSvc *dpsvc, const std::string &path, const bool retrieve=true, const bool disableDoD=false) |
the generic function to get object from TES | |
static IAlgTool * | tool (IToolSvc *toolsvc, const std::string &type, const std::string &name, IInterface *p, bool cif) |
static long | loadDynamicLib (const std::string &name) |
static IHistogram1D * | histo1D (IHistogramSvc *hsvc, const std::string &path) |
static IHistogram2D * | histo2D (IHistogramSvc *hsvc, const std::string &path) |
static IHistogram3D * | histo3D (IHistogramSvc *hsvc, const std::string &path) |
static IProfile1D * | profile1D (IHistogramSvc *hsvc, const std::string &path) |
static IProfile2D * | profile2D (IHistogramSvc *hsvc, const std::string &path) |
template<class T > | |
static PyObject * | toArray (T *ptr, Py_ssize_t size) |
static PyObject * | toIntArray (void *ptr, Py_ssize_t size) |
static PyObject * | toShortArray (void *ptr, Py_ssize_t size) |
static PyObject * | toFloatArray (void *ptr, Py_ssize_t size) |
static PyObject * | toDoubleArray (void *ptr, Py_ssize_t size) |
template<class T > | |
static T * | toAddress (std::vector< T > &v) |
template<class T > | |
static T * | toAddress (void *a) |
Static Private Member Functions | |
template<class T > | |
static Py_ssize_t | Array_length (PyObject *self) |
template<class T > | |
static PyObject * | toPython (T *o) |
static PyObject * | toPython (int *o) |
static PyObject * | toPython (short *o) |
static PyObject * | toPython (char *o) |
static PyObject * | toPython (long *o) |
static PyObject * | toPython (float *o) |
static PyObject * | toPython (double *o) |
template<class T > | |
static PyObject * | Array_item (PyObject *self, Py_ssize_t idx) |
Definition at line 39 of file Helpers.h.
static IAlgorithm* GaudiPython::Helper::algorithm | ( | IAlgManager * | algmgr, |
const std::string & | name, | ||
const bool | createIf = false |
||
) | [inline, static] |
static PyObject* GaudiPython::Helper::Array_item | ( | PyObject * | self, |
Py_ssize_t | idx | ||
) | [inline, static, private] |
Definition at line 159 of file Helpers.h.
{ #if PY_VERSION_HEX < 0x02050000 const #endif char* buf = 0; Py_ssize_t size = (*(self->ob_type->tp_as_buffer->bf_getcharbuffer))( self, 0, &buf ); if ( idx < 0 || idx >= size/int(sizeof(T)) ) { PyErr_SetString( PyExc_IndexError, "buffer index out of range" ); return 0; } return toPython((T*)buf + idx); }
static Py_ssize_t GaudiPython::Helper::Array_length | ( | PyObject * | self ) | [inline, static, private] |
Definition at line 141 of file Helpers.h.
{ #if PY_VERSION_HEX < 0x02050000 const #endif char* buf = 0; Py_ssize_t size = (*(self->ob_type->tp_as_buffer->bf_getcharbuffer))( self, 0, &buf ); return size/sizeof(T); }
static DataObject* GaudiPython::Helper::dataobject | ( | IDataProviderSvc * | dpsvc, |
const std::string & | path | ||
) | [inline, static] |
Definition at line 57 of file Helpers.h.
{ DataObject* o; if ( dpsvc->retrieveObject(path,o).isSuccess() ) return o; else return 0; }
DataObject * GaudiPython::Helper::findobject | ( | IDataProviderSvc * | dpsvc, |
const std::string & | path | ||
) | [static] |
simple wrapper for IDataProviderSvc::findObject The methdod does NOT trigger the loading the object from tape or Data-On-Demand action
psvc | (INPUT) pointer to Data ProviderService |
path | the full path in TES |
Definition at line 41 of file Helpers.cpp.
{ DataObject* o = 0 ; if ( 0 == dpsvc ) { return 0 ; } // RETURN StatusCode sc = dpsvc -> findObject ( path , o ) ; // NB! if ( sc.isFailure() ) { return 0 ; } // RETURN return o ; // RETURN }
DataObject * GaudiPython::Helper::getobject | ( | IDataProviderSvc * | dpsvc, |
const std::string & | path, | ||
const bool | retrieve = true , |
||
const bool | disableDoD = false |
||
) | [static] |
the generic function to get object from TES
psvc | (INPUT) pointer to Data ProviderService |
path | the full path in TES |
rerieve | (INPUT) retrieve or find object ? |
disableDoD | (INPUT) disable 'on-demand-actions' ? |
Definition at line 133 of file Helpers.cpp.
{ if ( 0 == dpsvc ) { return 0 ; } // RETURN 0 // create the sentry: Disabler sentry ( dpsvc , disable ) ; // DataObject * result = 0 ; // StatusCode sc = retrieve ? dpsvc -> retrieveObject ( path , result ) : dpsvc -> findObject ( path , result ) ; // if ( sc.isFailure() ) { return 0 ; } // RETURN // return result ; // RETURN }
static IHistogram1D* GaudiPython::Helper::histo1D | ( | IHistogramSvc * | hsvc, |
const std::string & | path | ||
) | [inline, static] |
Definition at line 105 of file Helpers.h.
{ IHistogram1D* h; if ( hsvc->findObject(path, h ).isSuccess() ) return h; else return 0; }
static IHistogram2D* GaudiPython::Helper::histo2D | ( | IHistogramSvc * | hsvc, |
const std::string & | path | ||
) | [inline, static] |
Definition at line 110 of file Helpers.h.
{ IHistogram2D* h; if ( hsvc->findObject(path, h ).isSuccess() ) return h; else return 0; }
static IHistogram3D* GaudiPython::Helper::histo3D | ( | IHistogramSvc * | hsvc, |
const std::string & | path | ||
) | [inline, static] |
Definition at line 115 of file Helpers.h.
{ IHistogram3D* h; if ( hsvc->findObject(path, h ).isSuccess() ) return h; else return 0; }
static long GaudiPython::Helper::loadDynamicLib | ( | const std::string & | name ) | [inline, static] |
Definition at line 101 of file Helpers.h.
{ void* h; return System::loadDynamicLib(name, &h); }
static IProfile1D* GaudiPython::Helper::profile1D | ( | IHistogramSvc * | hsvc, |
const std::string & | path | ||
) | [inline, static] |
Definition at line 122 of file Helpers.h.
{ IProfile1D* h = 0 ; if ( 0 != hsvc && hsvc->findObject ( path , h ).isSuccess() ) { return h ; } return 0 ; }
static IProfile2D* GaudiPython::Helper::profile2D | ( | IHistogramSvc * | hsvc, |
const std::string & | path | ||
) | [inline, static] |
Definition at line 131 of file Helpers.h.
{ IProfile2D* h = 0 ; if ( 0 != hsvc && hsvc->findObject ( path , h ).isSuccess() ) { return h ; } return 0 ; }
static IService* GaudiPython::Helper::service | ( | ISvcLocator * | svcloc, |
const std::string & | name, | ||
bool | createif = false |
||
) | [inline, static] |
static T* GaudiPython::Helper::toAddress | ( | std::vector< T > & | v ) | [inline, static] |
template double * GaudiPython::Helper::toAddress< double > | ( | void * | a ) | [inline, static] |
static PyObject* GaudiPython::Helper::toArray | ( | T * | ptr, |
Py_ssize_t | size | ||
) | [inline, static] |
Definition at line 174 of file Helpers.h.
{ static PyTypeObject type = PyBuffer_Type; static PySequenceMethods meth = *(PyBuffer_Type.tp_as_sequence); #if PY_VERSION_HEX < 0x02050000 meth.sq_item = (intargfunc) &Array_item<T>; meth.sq_length = (inquiry) &Array_length<T>; #else meth.sq_item = (ssizeargfunc) &Array_item<T>; meth.sq_length = (lenfunc) &Array_length<T>; #endif type.tp_as_sequence = &meth; PyObject* buf = PyBuffer_FromReadWriteMemory( ptr, size*sizeof(T) ); buf->ob_type = &type; Py_INCREF( buf->ob_type ); return buf; }
static PyObject* GaudiPython::Helper::toDoubleArray | ( | void * | ptr, |
Py_ssize_t | size | ||
) | [inline, static] |
static PyObject* GaudiPython::Helper::toFloatArray | ( | void * | ptr, |
Py_ssize_t | size | ||
) | [inline, static] |
static PyObject* GaudiPython::Helper::toIntArray | ( | void * | ptr, |
Py_ssize_t | size | ||
) | [inline, static] |
static IAlgTool* GaudiPython::Helper::tool | ( | IToolSvc * | toolsvc, |
const std::string & | type, | ||
const std::string & | name, | ||
IInterface * | p, | ||
bool | cif | ||
) | [inline, static] |
static PyObject* GaudiPython::Helper::toPython | ( | long * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toPython | ( | float * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toPython | ( | int * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toPython | ( | char * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toPython | ( | T * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toPython | ( | short * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toPython | ( | double * | o ) | [inline, static, private] |
static PyObject* GaudiPython::Helper::toShortArray | ( | void * | ptr, |
Py_ssize_t | size | ||
) | [inline, static] |