Gaudi Framework, version v24r2

Home   Generated: Wed Dec 4 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members
GaudiPython.GaudiAlgs.GaudiAlgo Class Reference

the base class for all algorithm Python-image of C++ clkass GaudiAlgorithm More...

Inheritance diagram for GaudiPython.GaudiAlgs.GaudiAlgo:
Inheritance graph
[legend]
Collaboration diagram for GaudiPython.GaudiAlgs.GaudiAlgo:
Collaboration graph
[legend]

Additional Inherited Members

- Public Member Functions inherited from GaudiPython.Bindings.iAlgorithm
def __init__
 
def retrieveInterface
 
- Static Public Attributes inherited from GaudiPython.Bindings.iAlgorithm
tuple initialize lambdaself:self.__call_interface_method__("_ialg","initialize")
 
tuple start lambdaself:self.__call_interface_method__("_ialg","start")
 
tuple execute lambdaself:self.__call_interface_method__("_ialg","execute")
 
tuple stop lambdaself:self.__call_interface_method__("_ialg","stop")
 
tuple finalize lambdaself:self.__call_interface_method__("_ialg","finalize")
 
tuple reinitialize lambdaself:self.__call_interface_method__("_ialg","reinitialize")
 
tuple restart lambdaself:self.__call_interface_method__("_ialg","restart")
 
tuple sysInitialize lambdaself:self.__call_interface_method__("_ialg","sysInitialize")
 
tuple sysStart lambdaself:self.__call_interface_method__("_ialg","sysStart")
 
tuple sysExecute lambdaself:self.__call_interface_method__("_ialg","sysExecute")
 
tuple sysStop lambdaself:self.__call_interface_method__("_ialg","sysStop")
 
tuple sysFinalize lambdaself:self.__call_interface_method__("_ialg","sysFinalize")
 
tuple sysReinitialize lambdaself:self.__call_interface_method__("_ialg","sysReinitialize")
 
tuple sysRestart lambdaself:self.__call_interface_method__("_ialg","sysRestart")
 

Detailed Description

the base class for all algorithm Python-image of C++ clkass GaudiAlgorithm

*******************************************************************************
*                                                * 'Physisics do not like it, *
*                                                *  physisics do not need it, *
*                                                *  physisics do not use  it' *
*                                                * ****************************
*  Usage:                                                                     *
*                                                                             *
*  from GaudiPython.GaudiAlgs   import GaudiAlgo, SUCCESS                     *
*                                                                             *
*  class MyClass(GaudiAlgo) :                                                 *
*       ' My specific Algorithm, derived from GaudiAlgo base class '          *
*       def __init__( self , name , **args ) :                                *
*            'Constructor from algorithm instance name & parameters'          *
*             #invoke the constructor of base class                           *
*             GaudiAlgo.__init__(self , name , **args )                       *
*                                                                             *
*       def initialize ( self ) :                                             *
*           'Algorithm initialization'                                        *
*           # initialize the base class                                       *
*           status = GaudiAlgo.initialize( self )                             *
*           if status.isFailure() : return status                             *
*                                                                             *
*           # locate the services and tools                                   *
*                                                                             *
*           # locate some tool:                                               *
*           extrapolator = self.tool(ITrExtrapolator,'TrExtrapolator')        *
*                                                                             *
*           # locate the service                                              *
*           rndmSvc = self.svc(IRndmGenSvc, 'RndmGenSvc')                     *
*                                                                             *
*           return SUCCESS                                                    *
*                                                                             *
*                                                                             *
*       def execute ( self ) :                                                *
*            'Major method (from IAlgorithm interface)'                       *
*                                                                             *
*           # get some data from Transient Event Store                        *
*           tracks = self.get('/Event/Rec/Tracks')                            *
*                                                                             *
*           # use counters                                                    *
*           c1 = self.counter('#Tracks')                                      *
*           c2 = self.counter('No Tracks')                                    *
*           if tracks.empty :                                                 *
*              c2+=1                                                          *
*           c1 += tracks->size()                                              *
*                                                                             *
*           if 1000 < tracks.size() :                                         *
*                return self.Error('The event is *VERY* busy')                *
*                                                                             *
*           return SUCCESS                                                    *
*                                                                             *
*******************************************************************************

Usage:

1 from GauidPython.GaudiAlgs import GaudiAlgo, SUCCESS
2 
3 class MyClass(GaudiAlgo) :
4  """
5  My specific Algorithm, derived from GaudiAlgo base class
6  """
7  def __init__( self , name , **args ) :
8  """
9  Constructor from algorithm instance name & parameters'
10  """
11  #invoke the constructor of base class
12  GaudiAlgo.__init__(self , name , **args )
13 
14  def initialize ( self ) :
15  'Algorithm initialization'
16  # initialize the base class
17  status = GaudiAlgo.initialize( self )
18  if status.isFailure() : return status
19 
20  # locate the services and tools
21 
22  # locate some tool:
23  extrapolator = self.tool(ITrExtrapolator,'TrExtrapolator')
24 
25  # locate the service
26  rndmSvc = self.svc(IRndmGenSvc, 'RndmGenSvc')
27 
28  return SUCCESS
29 
30 
31  def execute ( self ) :
32  'Major method (from IAlgorithm interface)'
33 
34  # get some data from Transient Event Store
35  tracks = self.get('/Event/Rec/Tracks')
36 
37  # use counters
38  c1 = self.counter('#Tracks')
39  c2 = self.counter('No Tracks')
40  if tracks.empty :
41  c2+=1
42  c1 += tracks->size()
43 
44  if 1000 < tracks.size() :
45  return self.Error('The event is *VERY* busy')
46 
47  return SUCCESS
See Also
GaudiAlgorithm
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-11-26

Definition at line 551 of file GaudiAlgs.py.


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

Generated at Wed Dec 4 2013 14:33:23 for Gaudi Framework, version v24r2 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004