Gaudi Framework, version v23r2

Home   Generated: Thu Jun 28 2012
Classes | Functions | Variables

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 1046 of file Bindings.py.

01047                                       :
01048     result = []
01049     for i in range(factories.size()) :
01050         factory = factories.front()
01051         result.append(factory)
01052         factories.pop_front()
01053     for factory in result :
01054         factories.push_back(factory)
01055     return result
01056 
01057 #----CallbackStreamBuf----------------------------------------------------------------
#    Used for redirecting C++ messages to python
def GaudiPython::Bindings::_getFIDandEvents (   pfn ) [private]

Definition at line 991 of file Bindings.py.

00992                            :
00993     tfile = gbl.TFile.Open(pfn)
00994     if not tfile : raise 'Cannot open ROOT file ', pfn
00995     tree = tfile.Get('##Params')
00996     tree.GetEvent(0)
00997     text = tree.db_string
00998     if 'NAME=FID' in text :
00999         fid = text[text.rfind('VALUE=')+6:-1]
01000     nevt = tfile.Get('_Event').GetEntries()
01001     tfile.Close()
01002     return fid, nevt
01003 
#--------------------------------------------------------------------------------------
def GaudiPython::Bindings::deprecation (   message )

Definition at line 61 of file Bindings.py.

00062                         :
00063     warnings.warn('GaudiPython: '+ message, DeprecationWarning, stacklevel=3)
00064 
#----InterfaceCast class ----------------------------------------------------------------
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.

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

01005                                   :
01006     """ Get all the properties of a component as a Python dictionary.
01007         The component is instantiated using the component library
01008     """
01009     properties = {}
01010     if name == 'GaudiCoreSvc' :
01011         if Helper.loadDynamicLib(name) != 1 :
01012             raise ImportError,  'Error loading component library '+ name
01013         factorylist = gbl.FactoryTable.instance().getEntries()
01014         factories = _copyFactoriesFromList(factorylist)
01015         g = AppMgr(outputlevel=7)
01016     else :
01017         g = AppMgr(outputlevel=7)
01018         if Helper.loadDynamicLib(name) != 1 :
01019             raise ImportError,  'Error loading component library '+ name
01020         factorylist = gbl.FactoryTable.instance().getEntries()
01021         factories = _copyFactoriesFromList(factorylist)
01022     svcloc    = gbl.Gaudi.svcLocator()
01023     dummysvc  = gbl.Service('DummySvc',svcloc)
01024     for factory in factories :
01025         if    InterfaceCast(gbl.IAlgFactory)(factory) : ctype = 'Algorithm'
01026         elif  InterfaceCast(gbl.ISvcFactory)(factory) : ctype = 'Service'
01027         elif  InterfaceCast(gbl.IToolFactory)(factory) : ctype = 'AlgTool'
01028         elif  factory.ident() == 'ApplicationMgr' :  ctype = 'ApplicationMgr'
01029         else :  ctype = 'Unknown'
01030         cname = factory.ident().split()[-1]
01031         if ctype in ('Algorithm','Service', 'AlgTool', 'ApplicationMgr') :
01032             try :
01033                 if ctype == 'AlgTool' :
01034                     obj = factory.instantiate(dummysvc)
01035                 else :
01036                     obj = factory.instantiate(svcloc)
01037             except RuntimeError, text :
01038                 print 'Error instantiating', cname, ' from ', name
01039                 print text
01040                 continue
01041             prop = iProperty('dummy', obj)
01042             properties[cname] = [ctype, prop.properties()]
01043             try:  obj.release()
01044             except: pass
01045     return properties

def GaudiPython::Bindings::loaddict (   dict )
Load a LCG dictionary using various mechanisms

Definition at line 94 of file Bindings.py.

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

Variable Documentation

Initial value:
00001 [ 'gbl','InterfaceCast', 'Interface', 'PropertyEntry',
00002             'AppMgr', 'PyAlgorithm', 'CallbackStreamBuf',
00003             'iAlgorithm', 'iDataSvc', 'iHistogramSvc','iNTupleSvc','iService', 'iAlgTool', 'Helper',
00004             'SUCCESS', 'FAILURE', 'toArray',
00005             'ROOT', 'makeNullPointer', 'makeClass', 'setOwnership',
00006             'getClass', 'loaddict', 'deprecation' ]

Definition at line 11 of file Bindings.py.

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

Definition at line 1058 of file Bindings.py.

Definition at line 29 of file Bindings.py.

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

Definition at line 1070 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.

Definition at line 34 of file Bindings.py.

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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Thu Jun 28 2012 23:27:52 for Gaudi Framework, version v23r2 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004