| The Gaudi Framework v29r0 (ff2e7097)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
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 >:
[legend]
Collaboration diagram for GaudiPython::PyAlg< ALGORITHM >:
[legend]

## 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 IAlgorithm * | ialgorithm ()
virtual IProperty * | iproperty ()
virtual StatusCode | initialize_ ()
virtual StatusCode | finalize_ ()

## Protected Member Functions
| ~PyAlg () override=default
| virtual destructor More...
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...
PyAlg & | operator= (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

  self | python object
  name | name 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 }
Gaudi::Utils::setProperty
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:1173
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
Gaudi::svcLocator
GAUDI_API ISvcLocator * svcLocator()
template<class ALGORITHM >

GaudiPython::PyAlg< ALGORITHM >::~PyAlg | ( |  | ) |
| override protected default

virtual destructor

template<class ALGORITHM >

GaudiPython::PyAlg< ALGORITHM >::PyAlg | ( |  | ) |
| private delete

the default constructor is disabled

template<class ALGORITHM >

GaudiPython::PyAlg< ALGORITHM >::PyAlg | ( | const PyAlg< ALGORITHM > & |  | ) |
| private delete

the copy constructor is disabled

## Member Function Documentation

template<class ALGORITHM >

PyObject* GaudiPython::PyAlg< ALGORITHM >::_obj | ( |  | ) | const
| inline protected

get the object

Definition at line 87 of file Algorithm.h.

87 { return m_self; } // get the object
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
template<class ALGORITHM >

StatusCode GaudiPython::PyAlg< ALGORITHM >::beginRun | ( |  | ) |
| inline override

Definition at line 93 of file Algorithm.h.

93 { return GaudiPython::call_python_method( m_self, "beginRun" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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 | ( |  | ) |
| inline override

Definition at line 94 of file Algorithm.h.

94 { return GaudiPython::call_python_method( m_self, "endRun" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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 | ( |  | ) |
| inline override

Definition at line 95 of file Algorithm.h.

95 { return GaudiPython::call_python_method( m_self, "execute" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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 | ( |  | ) |
| inline override

Definition at line 97 of file Algorithm.h.

97 { return GaudiPython::call_python_method( m_self, "finalize" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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_ | ( |  | ) |
| inline virtual

Definition at line 104 of file Algorithm.h.

104 { return ALGORITHM::finalize(); }
template<class ALGORITHM >

virtual IAlgorithm* GaudiPython::PyAlg< ALGORITHM >::ialgorithm | ( |  | ) |
| inline virtual

Definition at line 99 of file Algorithm.h.

99 { return this; }
template<class ALGORITHM >

StatusCode GaudiPython::PyAlg< ALGORITHM >::initialize | ( |  | ) |
| inline override

Definition at line 91 of file Algorithm.h.

91 { return GaudiPython::call_python_method( m_self, "initialize" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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_ | ( |  | ) |
| inline virtual

Definition at line 103 of file Algorithm.h.

103 { return ALGORITHM::initialize(); }
template<class ALGORITHM >

virtual IProperty* GaudiPython::PyAlg< ALGORITHM >::iproperty | ( |  | ) |
| inline virtual

Definition at line 100 of file Algorithm.h.

100 { return this; }
template<class ALGORITHM >

PyAlg& GaudiPython::PyAlg< ALGORITHM >::operator= | ( | const PyAlg< ALGORITHM > & |  | ) |
| private delete

the assignment operator is disabled

template<class ALGORITHM >

StatusCode GaudiPython::PyAlg< ALGORITHM >::start | ( |  | ) |
| inline override

Definition at line 92 of file Algorithm.h.

92 { return GaudiPython::call_python_method( m_self, "start" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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 | ( |  | ) |
| inline override

Definition at line 96 of file Algorithm.h.

96 { return GaudiPython::call_python_method( m_self, "stop" ); }
GaudiPython::PyAlg::m_self
PyObject * m_self
"shadow" python class
Definition: Algorithm.h:118
GaudiPython::call_python_method
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 118 of file Algorithm.h.

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

- GaudiPython/GaudiPython/Algorithm.h