| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# GaudiPython::PyAlgorithm Class Reference

`#include <Algorithm.h>`

Inheritance diagram for GaudiPython::PyAlgorithm:

[legend]
Collaboration diagram for GaudiPython::PyAlgorithm:

[legend]

List of all members.

## Detailed Description

Python Algorithm base class.

Definition at line 35 of file Algorithm.h.

## Public Member Functions
| PyAlgorithm (PyObject *self, const std::string &name)
| constructor
StatusCode | initialize ()
| the default (empty) implementation of IStateful::initialize() method
StatusCode | start ()
| the default (empty) implementation of IStateful::start() method
StatusCode | beginRun ()
| Algorithm begin run.
StatusCode | endRun ()
| Algorithm end run. This method is called at the end of the event loop.
StatusCode | execute ()
| The action to be performed by the algorithm on an event.
StatusCode | stop ()
| the default (empty) implementation of IStateful::stop() method
StatusCode | finalize ()
| the default (empty) implementation of IStateful::finalize() method
IAlgorithm * | myself ()
## Private Attributes
PyObject * | m_self

## Constructor & Destructor Documentation

GaudiPython::PyAlgorithm::PyAlgorithm | ( | PyObject * | self,
|  | const std::string & | name |
| ) |  |  |

constructor

Parameters:

  | self | python objects
  | name | name of algorithm instance

Definition at line 76 of file Algorithm.cpp.

    00078   : Algorithm ( name , Gaudi::svcLocator() )
    00079   , m_self ( self )
    00080 {
    00081   // The owner of the Algorithm is Python (as creator) therefore
    00082   // it should not be deleted by Gaudi (added an extra addRef()).
    00083   addRef() ;
    00084   addRef() ;
    00085 };

## Member Function Documentation

StatusCode GaudiPython::PyAlgorithm::initialize | ( |  | ) | `[virtual]`

the default (empty) implementation of IStateful::initialize() method

Reimplemented from Algorithm.

Definition at line 89 of file Algorithm.cpp.

    00090 { return GaudiPython::call_python_method ( m_self , "initialize" ) ; }

StatusCode GaudiPython::PyAlgorithm::start | ( |  | ) | `[virtual]`

the default (empty) implementation of IStateful::start() method

Reimplemented from Algorithm.

Definition at line 92 of file Algorithm.cpp.

    00093 { return GaudiPython::call_python_method ( m_self , "start" ) ; }

StatusCode GaudiPython::PyAlgorithm::beginRun | ( |  | ) | `[virtual]`

Algorithm begin run.

This method is called at the beginning of the event loop.

Reimplemented from Algorithm.

Definition at line 104 of file Algorithm.cpp.

    00104                                             {
    00105   return GaudiPython::call_python_method ( m_self , "beginRun" ) ; }

StatusCode GaudiPython::PyAlgorithm::endRun | ( |  | ) | `[virtual]`

Algorithm end run. This method is called at the end of the event loop.

Reimplemented from Algorithm.

Definition at line 106 of file Algorithm.cpp.

    00106                                           {
    00107   return GaudiPython::call_python_method ( m_self , "endRun" ) ; }

StatusCode GaudiPython::PyAlgorithm::execute | ( |  | ) | `[virtual]`

The action to be performed by the algorithm on an event.

This method is invoked once per event for top level algorithms by the application manager.

Implements IAlgorithm.

Definition at line 95 of file Algorithm.cpp.

    00096 { return GaudiPython::call_python_method ( m_self , "execute" ) ; }

StatusCode GaudiPython::PyAlgorithm::stop | ( |  | ) | `[virtual]`

the default (empty) implementation of IStateful::stop() method

Reimplemented from Algorithm.

Definition at line 98 of file Algorithm.cpp.

    00099 { return GaudiPython::call_python_method ( m_self , "stop" ) ; }

StatusCode GaudiPython::PyAlgorithm::finalize | ( | void |  | ) | `[virtual]`

the default (empty) implementation of IStateful::finalize() method

Reimplemented from Algorithm.

Definition at line 101 of file Algorithm.cpp.

    00102 { return GaudiPython::call_python_method ( m_self , "finalize" ) ; }

IAlgorithm* GaudiPython::PyAlgorithm::myself | ( |  | ) | `[inline]`

Definition at line 53 of file Algorithm.h.

    00053 { return this; }

## Member Data Documentation

PyObject* GaudiPython::PyAlgorithm::m_self`[private]`

Definition at line 55 of file Algorithm.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiPython/GaudiPython/Algorithm.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiPython/src/Lib/Algorithm.cpp