| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 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

list GaudiPython::Bindings::__all__

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.

GaudiPython::Bindings::_gaudi = None

Definition at line 29 of file Bindings.py.

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

Definition at line 1096 of file Bindings.py.

GaudiPython::Bindings::DataObject = gbl.DataObject

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.

GaudiPython::Bindings::Gaudi = gbl.Gaudi

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.