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

# GaudiPython::PyAlg< ALGORITHM > Class Template Reference

`#include <Algorithm.h>`

Inheritance diagram for GaudiPython::PyAlg< ALGORITHM >:

[legend]
Collaboration diagram for GaudiPython::PyAlg< ALGORITHM >:

[legend]

List of all members.

## Detailed Description

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

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

Author:
  Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr

Date:
  2005-08-03

Definition at line 65 of file Algorithm.h.

## Public Member Functions
| PyAlg (PyObject *self, const std::string &name)
| constructor from Python object and the name
virtual StatusCode | initialize ()
| Initialization (from CONFIGURED to INITIALIZED).
virtual StatusCode | start ()
| Start (from INITIALIZED to RUNNING).
virtual StatusCode | beginRun ()
| Algorithm begin run.
virtual StatusCode | endRun ()
| Algorithm end run.
virtual StatusCode | execute ()
| The action to be performed by the algorithm on an event.
virtual StatusCode | stop ()
| Stop (from RUNNING to INITIALIZED).
virtual StatusCode | finalize ()
| Finalize (from INITIALIZED to CONFIGURED).
virtual IAlgorithm * | ialgorithm ()
virtual IProperty * | iproperty ()
virtual StatusCode | initialize_ ()
virtual StatusCode | finalize_ ()
## Protected Member Functions
virtual | ~PyAlg ()
| virtual destructor
PyObject * | _obj () const
## Private Member Functions
| PyAlg ()
| PyAlg (const PyAlg &)
PyAlg & | operator= (const PyAlg &)
## Private Attributes
PyObject * | m_self

## 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 76 of file Algorithm.h.

    00078       : ALGORITHM ( name , Gaudi::svcLocator() )
    00079       , m_self ( self )
    00080     {
    00081       // the printout of actual type for embedded algorithm has no sence
    00082       setProperty ( "TypePrint" , "false" ) ;
    00083       setProperty ( "StatPrint" , "true"  ) ;
    00084
    00085       // The owner of the Algorithm is Python (as creator) therfore
    00086       // it should not be deleted by Gaudi (added an extra addRef()).
    00087       addRef() ;
    00088       addRef() ;
    00089     }

template<class ALGORITHM>

virtual GaudiPython::PyAlg< ALGORITHM >::~PyAlg | ( |  | ) | `[inline, protected, virtual]`

virtual destructor

Definition at line 92 of file Algorithm.h.

    00092 {}

template<class ALGORITHM>

GaudiPython::PyAlg< ALGORITHM >::PyAlg | ( |  | ) | `[private]`

template<class ALGORITHM>

GaudiPython::PyAlg< ALGORITHM >::PyAlg | ( | const PyAlg< ALGORITHM > & |  | ) | `[private]`

## Member Function Documentation

template<class ALGORITHM>

PyObject* GaudiPython::PyAlg< ALGORITHM >::_obj | ( |  | ) | const`[inline, protected]`

Definition at line 93 of file Algorithm.h.

    00093 { return m_self ; }

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::initialize | ( |  | ) | `[inline, virtual]`

Initialization (from CONFIGURED to INITIALIZED).

Implements IAlgorithm.

Definition at line 96 of file Algorithm.h.

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

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::start | ( |  | ) | `[inline, virtual]`

Start (from INITIALIZED to RUNNING).

Implements IAlgorithm.

Definition at line 99 of file Algorithm.h.

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

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::beginRun | ( |  | ) | `[inline, virtual]`

Algorithm begin run.

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

Implements IAlgorithm.

Definition at line 102 of file Algorithm.h.

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

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::endRun | ( |  | ) | `[inline, virtual]`

Algorithm end run.

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

Implements IAlgorithm.

Definition at line 104 of file Algorithm.h.

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

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::execute | ( |  | ) | `[inline, 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 107 of file Algorithm.h.

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

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::stop | ( |  | ) | `[inline, virtual]`

Stop (from RUNNING to INITIALIZED).

Implements IAlgorithm.

Definition at line 110 of file Algorithm.h.

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

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::finalize | ( |  | ) | `[inline, virtual]`

Finalize (from INITIALIZED to CONFIGURED).

Implements IAlgorithm.

Definition at line 112 of file Algorithm.h.

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

template<class ALGORITHM>

virtual IAlgorithm* GaudiPython::PyAlg< ALGORITHM >::ialgorithm | ( |  | ) | `[inline, virtual]`

Definition at line 115 of file Algorithm.h.

    00115 { return this ; }

template<class ALGORITHM>

virtual IProperty* GaudiPython::PyAlg< ALGORITHM >::iproperty | ( |  | ) | `[inline, virtual]`

Definition at line 116 of file Algorithm.h.

    00116 { return this ; }

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::initialize_ | ( |  | ) | `[inline, virtual]`

Definition at line 119 of file Algorithm.h.

    00119 { return ALGORITHM::initialize () ; }

template<class ALGORITHM>

virtual StatusCode GaudiPython::PyAlg< ALGORITHM >::finalize_ | ( |  | ) | `[inline, virtual]`

Definition at line 120 of file Algorithm.h.

    00120 { return ALGORITHM::finalize   () ; }

template<class ALGORITHM>

PyAlg& GaudiPython::PyAlg< ALGORITHM >::operator= | ( | const PyAlg< ALGORITHM > & |  | ) | `[private]`

## Member Data Documentation

template<class ALGORITHM>

PyObject* GaudiPython::PyAlg< ALGORITHM >::m_self`[private]`

Definition at line 131 of file Algorithm.h.

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

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