The Gaudi Framework  v30r3 (a5ef0a68)
GaudiPython::PyAlg< ALGORITHM > Class Template Reference

general class to embed the existing algorithm/base class into the python More...

#include <GaudiPython/Algorithm.h>

Inheritance diagram for GaudiPython::PyAlg< ALGORITHM >:
Collaboration diagram for GaudiPython::PyAlg< ALGORITHM >:

Public Member Functions

 PyAlg (PyObject *self, const std::string &name)
 constructor from Python object and the name More...
 
StatusCode initialize () override
 
StatusCode start () override
 
StatusCode beginRun () override
 
StatusCode endRun () override
 
StatusCode execute () override
 
StatusCode stop () override
 
StatusCode finalize () override
 
virtual IAlgorithmialgorithm ()
 
virtual IPropertyiproperty ()
 
virtual StatusCode initialize_ ()
 
virtual StatusCode finalize_ ()
 

Protected Member Functions

PyObject * _obj () const
 get the object More...
 

Private Member Functions

 PyAlg ()=delete
 the default constructor is disabled More...
 
 PyAlg (const PyAlg &)=delete
 the copy constructor is disabled More...
 
PyAlgoperator= (const PyAlg &)=delete
 the assignment operator is disabled More...
 

Private Attributes

PyObject * m_self
 "shadow" python class More...
 

Detailed Description

template<class ALGORITHM>
class GaudiPython::PyAlg< ALGORITHM >

general class to embed the existing algorithm/base class into the python

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@l.nosp@m.app..nosp@m.in2p3.nosp@m..fr
Date
2005-08-03

Definition at line 62 of file Algorithm.h.

Constructor & Destructor Documentation

template<class ALGORITHM>
GaudiPython::PyAlg< ALGORITHM >::PyAlg ( PyObject *  self,
const std::string name 
)
inline

constructor from Python object and the name

Parameters
selfpython object
namename of algorithm instance

Definition at line 71 of file Algorithm.h.

71  : ALGORITHM( name, Gaudi::svcLocator() ), m_self( self )
72  {
73  // the printout of actual type for embedded algorithm has no sense
74  this->setProperty( "TypePrint", "false" );
75  this->setProperty( "StatPrint", "true" );
76  // The owner of the Algorithm is Python (as creator) therefore
77  // it should not be deleted by Gaudi (added an extra addRef()).
78  this->addRef();
79  this->addRef();
80  }
StatusCode setProperty(IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
simple function to set the property of the given object from the value
Definition: Property.h:1243
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API ISvcLocator * svcLocator()
template<class ALGORITHM>
GaudiPython::PyAlg< ALGORITHM >::PyAlg ( )
privatedelete

the default constructor is disabled

template<class ALGORITHM>
GaudiPython::PyAlg< ALGORITHM >::PyAlg ( const PyAlg< ALGORITHM > &  )
privatedelete

the copy constructor is disabled

Member Function Documentation

template<class ALGORITHM>
PyObject* GaudiPython::PyAlg< ALGORITHM >::_obj ( ) const
inlineprotected

get the object

Definition at line 85 of file Algorithm.h.

85 { return m_self; } // get the object
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::beginRun ( )
inlineoverride

Definition at line 91 of file Algorithm.h.

91 { return GaudiPython::call_python_method( m_self, "beginRun" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::endRun ( )
inlineoverride

Definition at line 92 of file Algorithm.h.

92 { return GaudiPython::call_python_method( m_self, "endRun" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::execute ( )
inlineoverride

Definition at line 93 of file Algorithm.h.

93 { return GaudiPython::call_python_method( m_self, "execute" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::finalize ( )
inlineoverride

Definition at line 95 of file Algorithm.h.

95 { return GaudiPython::call_python_method( m_self, "finalize" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
template<class ALGORITHM>
virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::finalize_ ( )
inlinevirtual

Definition at line 102 of file Algorithm.h.

102 { return ALGORITHM::finalize(); }
template<class ALGORITHM>
virtual IAlgorithm* GaudiPython::PyAlg< ALGORITHM >::ialgorithm ( )
inlinevirtual

Definition at line 97 of file Algorithm.h.

97 { return this; }
template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::initialize ( )
inlineoverride

Definition at line 89 of file Algorithm.h.

89 { return GaudiPython::call_python_method( m_self, "initialize" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
template<class ALGORITHM>
virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::initialize_ ( )
inlinevirtual

Definition at line 101 of file Algorithm.h.

101 { return ALGORITHM::initialize(); }
template<class ALGORITHM>
virtual IProperty* GaudiPython::PyAlg< ALGORITHM >::iproperty ( )
inlinevirtual

Definition at line 98 of file Algorithm.h.

98 { return this; }
template<class ALGORITHM>
PyAlg& GaudiPython::PyAlg< ALGORITHM >::operator= ( const PyAlg< ALGORITHM > &  )
privatedelete

the assignment operator is disabled

template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::start ( )
inlineoverride

Definition at line 90 of file Algorithm.h.

90 { return GaudiPython::call_python_method( m_self, "start" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29
template<class ALGORITHM>
StatusCode GaudiPython::PyAlg< ALGORITHM >::stop ( )
inlineoverride

Definition at line 94 of file Algorithm.h.

94 { return GaudiPython::call_python_method( m_self, "stop" ); }
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:116
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:29

Member Data Documentation

template<class ALGORITHM>
PyObject* GaudiPython::PyAlg< ALGORITHM >::m_self
private

"shadow" python class

Definition at line 116 of file Algorithm.h.


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