Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

GaudiPython::Bindings Namespace Reference


Classes

class  InterfaceCast
class  Interface
class  PropertyEntry
class  iProperty
class  iService
class  iAlgorithm
class  iAlgTool
class  iDataSvc
class  iHistogramSvc
class  iNTupleSvc
class  iToolSvc
class  iJobOptSvc
class  iEventSelector
class  AppMgr
class  CallbackStreamBuf
class  PyAlgorithm

Functions

def deprecation
def loaddict
def getClass
def _getFIDandEvents
def getComponentProperties
def _copyFactoriesFromList

Variables

list __all__
tuple gbl = PyCintex.makeNamespace('')
 Gaudi = gbl.Gaudi
 _gaudi = None
 Helper = gbl.GaudiPython.Helper
tuple StringProperty = gbl.SimpleProperty('string','BoundedVerifier<string>')
tuple StringPropertyRef = gbl.SimplePropertyRef('string','NullVerifier<string>')
 GaudiHandleProperty = gbl.GaudiHandleProperty
 GaudiHandleArrayProperty = gbl.GaudiHandleArrayProperty
 DataObject = gbl.DataObject
tuple SUCCESS = gbl.StatusCode( gbl.StatusCode.SUCCESS, True )
tuple FAILURE = gbl.StatusCode( gbl.StatusCode.FAILURE, True )
tuple toArray = lambdatyp:getattr(Helper,"toArray")
 ROOT = PyCintex.libPyROOT
 makeNullPointer = PyCintex.libPyROOT.MakeNullPointer
 makeClass = PyCintex.libPyROOT.MakeRootClass
 setOwnership = PyCintex.libPyROOT.SetOwnership
 _CallbackStreamBufBase = gbl.GaudiPython.CallbackStreamBuf
 _PyAlgorithm = gbl.GaudiPython.PyAlgorithm


Function Documentation

def GaudiPython::Bindings::_copyFactoriesFromList (   factories  )  [private]

Definition at line 1072 of file Bindings.py.

01072                                       :
01073     result = []
01074     for i in range(factories.size()) :
01075         factory = factories.front()
01076         result.append(factory)
01077         factories.pop_front()
01078     for factory in result :
01079         factories.push_back(factory)
01080     return result
01081 
01082 #----CallbackStreamBuf----------------------------------------------------------------
01083 #    Used for redirecting C++ messages to python
_CallbackStreamBufBase = gbl.GaudiPython.CallbackStreamBuf

def GaudiPython::Bindings::_getFIDandEvents (   pfn  )  [private]

Definition at line 1017 of file Bindings.py.

01017                            :
01018     tfile = gbl.TFile.Open(pfn)
01019     if not tfile : raise 'Cannot open ROOT file ', pfn
01020     tree = tfile.Get('##Params')
01021     tree.GetEvent(0)
01022     text = tree.db_string
01023     if 'NAME=FID' in text :
01024         fid = text[text.rfind('VALUE=')+6:-1]
01025     nevt = tfile.Get('_Event').GetEntries()
01026     tfile.Close()
01027     return fid, nevt
01028 
01029 #--------------------------------------------------------------------------------------
def getComponentProperties( name ):

def GaudiPython::Bindings::deprecation (   message  ) 

Definition at line 61 of file Bindings.py.

00061                         :
00062     warnings.warn('GaudiPython: '+ message, DeprecationWarning, stacklevel=3)
00063 
00064 #----InterfaceCast class ----------------------------------------------------------------
class InterfaceCast(object) :

def GaudiPython::Bindings::getClass (   name,
  libs = [] 
)

Function to retrieve a certain C++ class by name and to load dictionary if requested

Usage:

from gaudimodule import getClass
# one knows that class is already loaded
AppMgr     = getClass( 'ApplicationMgr'           )
# one knows where to look for class, if not loaded yet
MCParticle = getClass( 'MCParticle' , 'EventDict' )
# one knows where to look for class, if not loaded yet
Vertex     = getClass( 'Vertex' , ['EventDict', 'PhysEventDict'] )

Definition at line 104 of file Bindings.py.

00104                                  :
00105     """
00106     Function to retrieve a certain C++ class by name and to load dictionary if requested
00107 
00108     Usage:
00109 
00110     from gaudimodule import getClass
00111     # one knows that class is already loaded
00112     AppMgr     = getClass( 'ApplicationMgr'           )
00113     # one knows where to look for class, if not loaded yet
00114     MCParticle = getClass( 'MCParticle' , 'EventDict' )
00115     # one knows where to look for class, if not loaded yet
00116     Vertex     = getClass( 'Vertex' , ['EventDict', 'PhysEventDict'] )
00117     """
00118     # see if class is already loaded
00119     if hasattr( gbl , name )  : return getattr( gbl , name )
00120     # try to load dictionaries and  look for the required class
00121     if type(libs) is not list : libs = [libs]
00122     for lib in libs :
00123         loaddict( lib )
00124         if hasattr( gbl , name ) : return getattr( gbl , name )
00125     # return None ( or raise exception? I do not know...  )
00126     return None
00127 
00128 #----PropertyEntry class---------------------------------------------------------------------
class PropertyEntry(object) :

def GaudiPython::Bindings::getComponentProperties (   name  ) 

Get all the properties of a component as a Python dictionary.
    The component is instantiated using the component library

Definition at line 1030 of file Bindings.py.

01030                                   :
01031     """ Get all the properties of a component as a Python dictionary.
01032         The component is instantiated using the component library
01033     """
01034     properties = {}
01035     if name == 'GaudiSvc' :
01036         if Helper.loadDynamicLib(name) != 1 :
01037             raise ImportError,  'Error loading component library '+ name
01038         factorylist = gbl.FactoryTable.instance().getEntries()
01039         factories = _copyFactoriesFromList(factorylist)
01040         g = AppMgr(outputlevel=7)
01041     else :
01042         g = AppMgr(outputlevel=7)
01043         if Helper.loadDynamicLib(name) != 1 :
01044             raise ImportError,  'Error loading component library '+ name
01045         factorylist = gbl.FactoryTable.instance().getEntries()
01046         factories = _copyFactoriesFromList(factorylist)
01047     svcloc    = gbl.Gaudi.svcLocator()
01048     dummysvc  = gbl.Service('DummySvc',svcloc)
01049     for factory in factories :
01050         if    InterfaceCast(gbl.IAlgFactory)(factory) : ctype = 'Algorithm'
01051         elif  InterfaceCast(gbl.ISvcFactory)(factory) : ctype = 'Service'
01052         elif  InterfaceCast(gbl.IToolFactory)(factory) : ctype = 'AlgTool'
01053         elif  factory.ident() == 'ApplicationMgr' :  ctype = 'ApplicationMgr'
01054         else :  ctype = 'Unknown'
01055         cname = factory.ident().split()[-1]
01056         if ctype in ('Algorithm','Service', 'AlgTool', 'ApplicationMgr') :
01057             try :
01058                 if ctype == 'AlgTool' :
01059                     obj = factory.instantiate(dummysvc)
01060                 else :
01061                     obj = factory.instantiate(svcloc)
01062             except RuntimeError, text :
01063                 print 'Error instantiating', cname, ' from ', name
01064                 print text
01065                 continue
01066             prop = iProperty('dummy', obj)
01067             properties[cname] = [ctype, prop.properties()]
01068             try:  obj.release()
01069             except: pass
01070     return properties
01071 
def _copyFactoriesFromList(factories) :

def GaudiPython::Bindings::loaddict (   dict  ) 

Load a LCG dictionary using various mechanisms

Definition at line 94 of file Bindings.py.

00094                    :
00095     """ Load a LCG dictionary using various mechanisms"""
00096     if Helper.loadDynamicLib(dict) == 1 : return
00097     else :
00098         try:
00099             PyCintex.loadDict(dict)
00100         except:
00101             raise ImportError, 'Error loading dictionary library'
00102 
00103 #---get a class (by loading modules if needed)--------------------------------------------
def getClass( name , libs = [] ) :


Variable Documentation

Initial value:

[ 'gbl','InterfaceCast', 'Interface', 'PropertyEntry',
            'AppMgr', 'PyAlgorithm', 'CallbackStreamBuf',
            'iAlgorithm', 'iDataSvc', 'iHistogramSvc','iNTupleSvc','iService', 'iAlgTool', 'Helper',
            'SUCCESS', 'FAILURE', 'toArray',
            'ROOT', 'makeNullPointer', 'makeClass', 'setOwnership',
            'getClass', 'loaddict', 'deprecation' ]

Definition at line 11 of file Bindings.py.

GaudiPython::Bindings::_CallbackStreamBufBase = gbl.GaudiPython.CallbackStreamBuf

Definition at line 1084 of file Bindings.py.

Definition at line 29 of file Bindings.py.

GaudiPython::Bindings::_PyAlgorithm = gbl.GaudiPython.PyAlgorithm

Definition at line 1096 of file Bindings.py.

Definition at line 38 of file Bindings.py.

tuple GaudiPython::Bindings::FAILURE = gbl.StatusCode( gbl.StatusCode.FAILURE, True )

Definition at line 40 of file Bindings.py.

Definition at line 27 of file Bindings.py.

GaudiPython::Bindings::GaudiHandleArrayProperty = gbl.GaudiHandleArrayProperty

Definition at line 37 of file Bindings.py.

GaudiPython::Bindings::GaudiHandleProperty = gbl.GaudiHandleProperty

Definition at line 36 of file Bindings.py.

tuple GaudiPython::Bindings::gbl = PyCintex.makeNamespace('')

Definition at line 26 of file Bindings.py.

GaudiPython::Bindings::Helper = gbl.GaudiPython.Helper

Definition at line 33 of file Bindings.py.

GaudiPython::Bindings::makeClass = PyCintex.libPyROOT.MakeRootClass

Definition at line 58 of file Bindings.py.

GaudiPython::Bindings::makeNullPointer = PyCintex.libPyROOT.MakeNullPointer

Definition at line 57 of file Bindings.py.

GaudiPython::Bindings::ROOT = PyCintex.libPyROOT

Definition at line 56 of file Bindings.py.

GaudiPython::Bindings::setOwnership = PyCintex.libPyROOT.SetOwnership

Definition at line 59 of file Bindings.py.

tuple GaudiPython::Bindings::StringProperty = gbl.SimpleProperty('string','BoundedVerifier<string>')

Definition at line 34 of file Bindings.py.

tuple GaudiPython::Bindings::StringPropertyRef = gbl.SimplePropertyRef('string','NullVerifier<string>')

Definition at line 35 of file Bindings.py.

tuple GaudiPython::Bindings::SUCCESS = gbl.StatusCode( gbl.StatusCode.SUCCESS, True )

Definition at line 39 of file Bindings.py.

tuple GaudiPython::Bindings::toArray = lambdatyp:getattr(Helper,"toArray")

Definition at line 50 of file Bindings.py.


Generated at Thu Sep 30 09:59:00 2010 for Gaudi Framework, version v21r11 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004