| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

GaudiPython::Bindings::AppMgr Class Reference

Inheritance diagram for GaudiPython::Bindings::AppMgr:
[legend]
Collaboration diagram for GaudiPython::Bindings::AppMgr:
[legend]
List of all members.

Public Member Functions

def __reset__
def __new__
def __init__
def state
def FSMState
def targetFSMState
def loaddict
def service
def declSvcType
def createSvc
def services
def algorithm
def algorithms
def tool
def property
def datasvc
def evtsvc
def detsvc
def evtsel
def histsvc
def ntuplesvc
def partsvc
def toolsvc
def optSvc
def readOptions
def addAlgorithm
def setAlgorithms
def removeAlgorithm
def config
def configure
def start
def run
def executeEvent
def execute
def exit
def __init__
def retrieveInterface
def isValid
def getInterface
def __call_interface_method__
def __setattr__
def __getattr__
def properties
def name

Public Attributes

 JobOptionsType
 OutputLevel
 HistogramPersistency

Static Public Attributes

 evtSvc = evtsvc
 histSvc = histsvc
 ntupleSvc = ntuplesvc
 evtSel = evtsel
 detSvc = detsvc
 toolSvc = toolsvc
 partSvc = partsvc
tuple initialize = lambdaself:self.__call_interface_method__("_isvc","initialize")
tuple start = lambdaself:self.__call_interface_method__("_isvc","start")
tuple stop = lambdaself:self.__call_interface_method__("_isvc","stop")
tuple finalize = lambdaself:self.__call_interface_method__("_isvc","finalize")
tuple reinitialize = lambdaself:self.__call_interface_method__("_isvc","reinitialize")
tuple restart = lambdaself:self.__call_interface_method__("_isvc","restart")

Detailed Description

Definition at line 564 of file Bindings.py.


Member Function Documentation

def GaudiPython::Bindings::AppMgr::__reset__ (   self  ) 

Definition at line 565 of file Bindings.py.

00565                      :
00566     '''Allow for a full reset.  Calling this lets a new Gaudi
00567     AppMgr to be freshly created in the same executable image.
00568     https://lists.bnl.gov/pipermail/gaudi-talk/2009-July/000443.html
00569     '''
00570 
00571     global _gaudi
00572     # Stop, Finalize and Terminate the current AppMgr
00573     self.exit()
00574     # release interfaces
00575     self._evtpro.release()
00576     self._svcloc.release()
00577     self._appmgr.release()
00578     # Reset the C++ globals
00579     gbl.Gaudi.setInstance(makeNullPointer('ISvcLocator'))
00580     gbl.Gaudi.setInstance(makeNullPointer('IAppMgrUI'))
    # Reset the Python global

def GaudiPython::Bindings::AppMgr::__new__ (   cls,
  args,
  kwargs 
)

Definition at line 581 of file Bindings.py.

00584                                       :
00585     global _gaudi
00586     if not _gaudi :
00587       newobj = object.__new__( cls, *args, **kwargs )
      cls.__init__(newobj, *args, **kwargs)

def GaudiPython::Bindings::AppMgr::__init__ (   self,
  outputlevel = -1,
  joboptions = None,
  selfoptions = {},
  dllname = None,
  factname = None 
)

Definition at line 588 of file Bindings.py.

00591                                                                         {},
00592                dllname = None, factname = None) :
00593     global _gaudi
00594     if _gaudi : return
00595     try:
00596         from GaudiKernel.Proxy.Configurable import expandvars
00597     except ImportError:
00598         # pass-through implementation if expandvars is not defined (AthenaCommon)
00599         expandvars = lambda data : data
00600     if dllname and factname:
00601       self.__dict__['_appmgr'] = gbl.Gaudi.createApplicationMgr(dllname,factname)
00602     elif dllname:
00603       self.__dict__['_appmgr'] = gbl.Gaudi.createApplicationMgr(dllname)
00604     else:
00605       self.__dict__['_appmgr'] = gbl.Gaudi.createApplicationMgr()
00606     self.__dict__['_svcloc'] = gbl.Gaudi.svcLocator()
00607     self.__dict__['_algmgr'] = InterfaceCast(gbl.IAlgManager)(self._appmgr)
00608     self.__dict__['_evtpro'] = InterfaceCast(gbl.IEventProcessor)(self._appmgr)
00609     self.__dict__['_svcmgr'] = InterfaceCast(gbl.ISvcManager)(self._appmgr)
00610     self.__dict__['pyalgorithms'] = []
00611     iService.__init__(self, 'ApplicationMgr', self._appmgr )
00612     #------python specific initialization-------------------------------------
00613     if self.FSMState() < Gaudi.StateMachine.CONFIGURED :  # Not yet configured
00614       self.JobOptionsType = 'NONE'
00615       if joboptions :
00616           from GaudiKernel.ProcessJobOptions import importOptions
00617           importOptions(joboptions)
00618       # Ensure that the ConfigurableUser instances have been applied
00619       import GaudiKernel.Proxy.Configurable
00620       if hasattr(GaudiKernel.Proxy.Configurable, "applyConfigurableUsers"):
00621           GaudiKernel.Proxy.Configurable.applyConfigurableUsers()
00622       # This is the default and could be overridden with "selfopts"
00623       self.OutputLevel = 3
00624       selfprops = Configurable.allConfigurables.get('ApplicationMgr',{})
00625       if selfprops : selfprops = expandvars(selfprops.getValuedProperties())
00626       for p,v in selfprops.items()   : setattr(self, p, v)
00627       for p,v in selfoptions.items() : setattr(self, p, v)
00628       # Override job options
00629       if outputlevel != -1 : self.OutputLevel = outputlevel
00630       self.configure()
00631     #---MessageSvc------------------------------------------------------------
00632     ms = self.service('MessageSvc')
00633     if 'MessageSvc' in Configurable.allConfigurables:
00634         msprops = Configurable.allConfigurables['MessageSvc']
00635         ms = self.service('MessageSvc')
00636         if hasattr(msprops,"getValuedProperties"):
00637             msprops = expandvars(msprops.getValuedProperties())
00638         for p,v in msprops.items():
00639             setattr(ms, p, v)
00640     if outputlevel != -1 : ms.OutputLevel = outputlevel
00641     #---JobOptions------------------------------------------------------------
00642     self.__dict__['_optsvc'] = InterfaceCast(gbl.IJobOptionsSvc)(Helper.service(self._svcloc,'JobOptionsSvc'))
00643     #------Configurables initialization (part2)-------------------------------
00644     for n in getNeededConfigurables():
00645       c = Configurable.allConfigurables[n]
00646       if n in ['ApplicationMgr','MessageSvc'] : continue # These are already done---
00647       for p, v in  c.getValuedProperties().items() :
00648         v = expandvars(v)
00649         # Note: AthenaCommon.Configurable does not have Configurable.PropertyReference
00650         if hasattr(Configurable,"PropertyReference") and type(v) == Configurable.PropertyReference:
00651             # this is done in "getFullName", but the exception is ignored,
00652             # so we do it again to get it 
00653             v = v.__resolve__()
00654         if   type(v) == str : v = '"%s"' % v # need double quotes
00655         elif type(v) == long: v = '%d'   % v # prevent pending 'L'

def GaudiPython::Bindings::AppMgr::state (   self  ) 

Definition at line 656 of file Bindings.py.

00657 :
        Configurable._configurationLocked = True

def GaudiPython::Bindings::AppMgr::FSMState (   self  ) 

Definition at line 657 of file Bindings.py.

00657 :
        Configurable._configurationLocked = True

def GaudiPython::Bindings::AppMgr::targetFSMState (   self  ) 

Definition at line 658 of file Bindings.py.

00659 : return self._isvc.FSMState()

def GaudiPython::Bindings::AppMgr::loaddict (   self,
  dict 
)

Definition at line 659 of file Bindings.py.

00659                   : return self._isvc.FSMState()
00660   def FSMState(self) : return self._isvc.FSMState()

def GaudiPython::Bindings::AppMgr::service (   self,
  name,
  interface = None 
)

Definition at line 661 of file Bindings.py.

00661                            : return self._isvc.targetFSMState()
00662   def loaddict(self, dict) :
00663     loaddict(dict)
00664   def service(self, name, interface = None) :
00665     svc = Helper.service( self._svcloc, name )
00666     if interface :

def GaudiPython::Bindings::AppMgr::declSvcType (   self,
  svcname,
  svctype 
)

Definition at line 667 of file Bindings.py.

00668          :
      return iService(name, svc )

def GaudiPython::Bindings::AppMgr::createSvc (   self,
  name 
)

Definition at line 669 of file Bindings.py.

00670                                            :
    self._svcmgr.declareSvcType(svcname, svctype)

def GaudiPython::Bindings::AppMgr::services (   self  ) 

Definition at line 671 of file Bindings.py.

00672                              :
00673     return Helper.service( self._svcloc, name, True )
00674   def services(self) :
00675     l = self._svcloc.getServices()
00676     nl = l.__class__(l)  # get a copy
00677     s = []
00678     for i in range(l.size()) :
      s.append(nl.front().name())

def GaudiPython::Bindings::AppMgr::algorithm (   self,
  name 
)

Definition at line 679 of file Bindings.py.

00682                              :
    alg = Helper.algorithm( self._algmgr, name )

def GaudiPython::Bindings::AppMgr::algorithms (   self  ) 

Definition at line 682 of file Bindings.py.

00682                              :
00683     alg = Helper.algorithm( self._algmgr, name )
00684     return iAlgorithm(name, alg )
00685   def algorithms(self) :
00686     l = self._algmgr.getAlgorithms()
00687     nl = l.__class__(l)  # get a copy
00688     s = []
00689     for i in range(l.size()) :
      s.append(nl.front().name())

def GaudiPython::Bindings::AppMgr::tool (   self,
  name 
)

Definition at line 690 of file Bindings.py.

00693                         :
    return iAlgTool(name)

def GaudiPython::Bindings::AppMgr::property (   self,
  name 
)

Definition at line 692 of file Bindings.py.

00693                         :
00694     return iAlgTool(name)
00695   def property( self , name ) :
    if name in self.algorithms() : return self.algorithm( name )

def GaudiPython::Bindings::AppMgr::datasvc (   self,
  name 
)

Definition at line 696 of file Bindings.py.

00696                                  : return self.algorithm( name )
00697     elif name in self.services() : return self.service(name )
00698     else :                         return iProperty( name )
00699   def datasvc(self, name) :

def GaudiPython::Bindings::AppMgr::evtsvc (   self  ) 

Definition at line 700 of file Bindings.py.

00700                                                      :  self.initialize()
00701     svc = Helper.service( self._svcloc, name )

def GaudiPython::Bindings::AppMgr::detsvc (   self  ) 

Definition at line 702 of file Bindings.py.

00703                    :
    return self.datasvc('EventDataSvc')

def GaudiPython::Bindings::AppMgr::evtsel (   self  ) 

Definition at line 704 of file Bindings.py.

00705                    :
00706     return self.datasvc('DetectorDataSvc')
00707   def evtsel(self):
    if self.state() == Gaudi.StateMachine.CONFIGURED :  self.initialize()

def GaudiPython::Bindings::AppMgr::histsvc (   self,
  name = 'HistogramDataSvc' 
)

Definition at line 708 of file Bindings.py.

00708                                                      :  self.initialize()
00709     if not hasattr(self,'_evtsel') : self.__dict__['_evtsel'] = iEventSelector()
00710     return self._evtsel

def GaudiPython::Bindings::AppMgr::ntuplesvc (   self,
  name = 'NTupleSvc' 
)

Definition at line 711 of file Bindings.py.

00711                                              :
00712     svc = Helper.service( self._svcloc, name )
00713     return iHistogramSvc(name, svc)
00714   def ntuplesvc(self, name='NTupleSvc') :
00715     if name not in self.ExtSvc : self.ExtSvc += [name]
#    if self.HistogramPersistency == 'NONE' : self.HistogramPersistency = 'ROOT'

def GaudiPython::Bindings::AppMgr::partsvc (   self  ) 

Definition at line 716 of file Bindings.py.

00716                                             : self.HistogramPersistency = 'ROOT'
00717     svc = Helper.service( self._svcloc, name, True )
00718     return iNTupleSvc(name, svc)
00719   def partsvc(self ) :

def GaudiPython::Bindings::AppMgr::toolsvc (   self,
  name = 'ToolSvc' 
)

Definition at line 720 of file Bindings.py.

00720                                                         :  self.initialize()
00721     svc = Helper.service( self._svcloc, 'ParticlePropertySvc' )
00722     return InterfaceCast(gbl.IParticlePropertySvc)(svc)

def GaudiPython::Bindings::AppMgr::optSvc (   self,
  name = 'JobOptionsSvc' 
)

Definition at line 723 of file Bindings.py.

00723                                     :
00724     svc = Helper.service( self._svcloc, name, True )
00725     return iToolSvc(name, svc)
  def optSvc (self, name='JobOptionsSvc') :

def GaudiPython::Bindings::AppMgr::readOptions (   self,
  file 
)

Definition at line 726 of file Bindings.py.

00726                                           :
00727     svc = Helper.service( self._svcloc, name, True )
    return iJobOptSvc(name, svc)    

def GaudiPython::Bindings::AppMgr::addAlgorithm (   self,
  alg 
)

Add an Algorithm to the list of Top algorithms. It can be either a instance of
an Algorithm class or it name 

Definition at line 728 of file Bindings.py.

00729                               :
00730     return self._optsvc.readOptions(file)
00731   def addAlgorithm(self, alg) :
00732     """ Add an Algorithm to the list of Top algorithms. It can be either a instance of
00733         an Algorithm class or it name """
00734     if type(alg) is  str :
00735       self.topAlg += [alg]
00736     else :
00737       self.pyalgorithms.append(alg)
00738       setOwnership(alg,0)
00739       if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED :
00740           alg.sysInitialize()
          if self.targetFSMState() == Gaudi.StateMachine.RUNNING :

def GaudiPython::Bindings::AppMgr::setAlgorithms (   self,
  algs 
)

Set the list of Top Algorithms. 
It can be an individual of a list of algorithms names or instances 

Definition at line 741 of file Bindings.py.

00741                                                                  :
00742               alg.sysStart()
00743       self.topAlg += [alg.name()]
00744   def setAlgorithms(self, algs) :
00745     """ Set the list of Top Algorithms. 
00746         It can be an individual of a list of algorithms names or instances """
00747     if type(algs) is not list : algs = [algs]
00748     names = []
00749     for alg in algs :
00750       if type(alg) is str : names.append(alg)
00751       else :
00752         self.pyalgorithms.append(alg)
00753         if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED :
00754             alg.sysInitialize()
00755             if self.targetFSMState() == Gaudi.StateMachine.RUNNING :
                alg.sysStart()

def GaudiPython::Bindings::AppMgr::removeAlgorithm (   self,
  alg 
)

Remove an Algorithm to the list of Top algorithms. It can be either a instance of
an Algorithm class or it name 

Definition at line 756 of file Bindings.py.

00759                                  :
00760     """ Remove an Algorithm to the list of Top algorithms. It can be either a instance of
00761         an Algorithm class or it name """
00762     tmp = self.topAlg    
00763     if type(alg) is  str :
00764       tmp.remove(alg)
00765     else :
00766       tmp.remove(alg.name())
      self.pyalgorithms.remove(alg)

def GaudiPython::Bindings::AppMgr::config (   self,
  args 
)

Simple utility to perform the configuration of Gaudi application.
It reads the set of input job-options files, and set few
additional parameters 'options' through the usage of temporary *.opts file
Usage:
gaudi.config( files   = [ '$GAUSSOPTS/Gauss.opts'                     ,
                      '$DECFILESROOT/options/10022_010.0GeV.opts' ] ,
          options = [ 'EventSelector.PrintFreq   =   5  '         ] )

Definition at line 767 of file Bindings.py.

00770                              :
00771     """  
00772     Simple utility to perform the configuration of Gaudi application.
00773     It reads the set of input job-options files, and set few
00774     additional parameters 'options' through the usage of temporary *.opts file
00775     Usage:
00776     gaudi.config( files   = [ '$GAUSSOPTS/Gauss.opts'                     ,
00777                               '$DECFILESROOT/options/10022_010.0GeV.opts' ] ,
00778                   options = [ 'EventSelector.PrintFreq   =   5  '         ] )
00779     """
00780     files  = args.get('files',[])
00781     for file in files :
00782       sc = self.readOptions(file)
00783       if sc.isFailure() :
00784         raise RuntimeError , ' Unable to read file "' + file +'" '
00785     options  = args.get('options',None)
00786     if options :
00787       import tempfile
00788       tmpfilename = tempfile.mktemp()
00789       tmpfile     = open( tmpfilename, 'w' )
00790       tmpfile.write ( '#pragma print on  \n' ) 
00791       tmpfile.write ( '/// File         "' + tmpfilename+'" generated by GaudiPython \n\n' ) 
00792       for opt in options :
00793         if type(options) is dict :
00794           tmpfile.write( ' \t ' + opt + ' = '+ options[opt]+ ' ;  // added by GaudiPython \n' )
00795         else :
00796           tmpfile.write( ' \t ' + opt + ' ;  // added by GaudiPython \n' )
00797       tmpfile.write ( '/// End of  file "' + tmpfilename+'" generated by GaudiPython \n\n' ) 
00798       tmpfile.close() 
00799       sc = self.readOptions( tmpfilename )
00800       if sc.isFailure() :
00801         raise RuntimeError , ' Unable to read file "' + tmpfilename +'" '
00802       os.remove( tmpfilename )
00803     # We need to make sure that the options are taken by the ApplicationMgr
00804     if self.FSMState() != Gaudi.StateMachine.OFFLINE : # The state is already configured, so we need to do something....
00805 
00806       ## get job-options-service, @see class iJobOptSvc 
00807       jos   = self.optSvc()
00808       
00809       ## list of all libraries 
00810       _dlls = jos.getProperty   ( self.name() , 'DLLs'   )
00811       ## take care about libraries : APPEND if not done yet 
00812       if _dlls :
00813         libs = [ l for l in _dlls if not l in self.DLLs ] 
00814         if libs : self.DLLs  += libs
00815       
00816       ## all external services 
00817       _svcs = jos.getProperty   ( self.name() , 'ExtSvc' )
00818       ## take care about services : APPEND  if not done yet 
00819       if _svcs :
00820         svcs = [ s for s in _svcs if not s in self.ExtSvc ]
00821         if svcs : self.ExtSvc += svcs
00822         
00823       ## get all properties 
00824       props = jos.getProperties ( self.name() )
00825       ## finally treat all other properties (presumably scalar properties)
00826       for key in props :
        if 'DLLS' == key or 'EXTSVC' == key : continue

def GaudiPython::Bindings::AppMgr::configure (   self  ) 

Definition at line 827 of file Bindings.py.

00827                                             : continue
00828         self.__setattr__( key , props[key] )

def GaudiPython::Bindings::AppMgr::start (   self  ) 

Definition at line 829 of file Bindings.py.

00830                       :
    return self._appmgr.configure()

def GaudiPython::Bindings::AppMgr::run (   self,
  n 
)

Definition at line 831 of file Bindings.py.

00832                   :
00833     return self._appmgr.start()
00834   def run(self, n) :
00835     if self.FSMState() == Gaudi.StateMachine.CONFIGURED :
00836       sc = self.initialize()
00837       if sc.isFailure(): return sc
00838     if self.FSMState() == Gaudi.StateMachine.INITIALIZED :
      sc = self.start()

def GaudiPython::Bindings::AppMgr::executeEvent (   self  ) 

Definition at line 839 of file Bindings.py.

00840                        : return sc

def GaudiPython::Bindings::AppMgr::execute (   self  ) 

Definition at line 841 of file Bindings.py.

00842                          :
    return self._evtpro.executeEvent()

def GaudiPython::Bindings::AppMgr::exit (   self  ) 

Definition at line 843 of file Bindings.py.

00844                     :
00845     return self._evtpro.executeEvent()
00846   def exit(self) :
    if self.FSMState() == Gaudi.StateMachine.RUNNING: self._appmgr.stop().ignore()

def GaudiPython::Bindings::iService::__init__ (   self,
  name,
  isvc = None 
) [inherited]

Reimplemented from GaudiPython::Bindings::iProperty.

Reimplemented in GaudiPython::Bindings::iDataSvc, GaudiPython::Bindings::iHistogramSvc, GaudiPython::Bindings::iNTupleSvc, GaudiPython::Bindings::iToolSvc, and GaudiPython::Bindings::iJobOptSvc.

Definition at line 247 of file Bindings.py.

00247                                          :
00248     iProperty.__init__(self, name, isvc )
00249     if isvc : self.__dict__['_isvc'] = InterfaceCast(gbl.IService)(isvc)
00250     else    : self.__dict__['_isvc'] = None
  def retrieveInterface(self) :

def GaudiPython::Bindings::iService::retrieveInterface (   self  )  [inherited]

Reimplemented from GaudiPython::Bindings::iProperty.

Definition at line 251 of file Bindings.py.

00251                               :
00252     isvc = Helper.service(self._svcloc,self._name)
00253     if isvc : iService.__init__(self, self._name, isvc)
  initialize   = lambda self : self.__call_interface_method__("_isvc","initialize")

def GaudiPython::Bindings::iService::isValid (   self  )  [inherited]

Definition at line 260 of file Bindings.py.

00260                     :
00261     if self._isvc: return True
00262     else :         return False
00263 
00264 #----iAlgorithm class--------------------------------------------------------------------- 
class iAlgorithm(iProperty) :

def GaudiPython::Bindings::iProperty::getInterface (   self  )  [inherited]

Definition at line 165 of file Bindings.py.

00165                          :
00166     if not self._ip : self.retrieveInterface()
00167     return self._ip
  def retrieveInterface(self) :

def GaudiPython::Bindings::iProperty::__call_interface_method__ (   self,
  ifname,
  method,
  args 
) [inherited]

Definition at line 170 of file Bindings.py.

00170                                                          :
00171     if not getattr(self,ifname) : self.retrieveInterface()
00172     return getattr(getattr(self,ifname),method)(*args)
  def __setattr__(self, name, value):

def GaudiPython::Bindings::iProperty::__setattr__ (   self,
  name,
  value 
) [inherited]

The method which is used for setting the property from the given value.
- In the case of the valid instance it sets the property through IProperty interface
- In the case of placeholder the property is added to JobOptionsCatalogue

Definition at line 173 of file Bindings.py.

00173                                     :
00174     """
00175     The method which is used for setting the property from the given value.
00176     - In the case of the valid instance it sets the property through IProperty interface
00177     - In the case of placeholder the property is added to JobOptionsCatalogue
00178     """
00179     if hasattr( value, 'toStringProperty' ):
00180       # user defined behaviour
00181       value = '%s' % value.toStringProperty()
00182     ip = self.getInterface()
00183     if ip :
00184       if not gbl.Gaudi.Utils.hasProperty ( ip , name ) :
00185         raise AttributeError, 'property %s does not exist' % name  
00186       prop = ip.getProperty(name)
00187       if not type( value ) == type( prop.value() ) :
00188         if not long  == type( value ) : value = '%s' % value
00189         else                          : value = '%d' % value
00190         if prop.fromString( value ).isFailure() :
00191           raise AttributeError, 'property %s could not be set from %s' % (name,value)  
00192       else :
00193         if not prop.setValue( value ) :
00194           raise AttributeError, 'property %s could not be set from %s' % (name,value)            
00195     else :
00196         if   type(value) == str : value = '"%s"' % value # need double quotes
00197         elif type(value) == long: value = '%d'   % value # prevent pending 'L'
00198         sp = StringProperty( name , str(value))
00199         self._optsvc.addPropertyToCatalogue( self._name , sp )
  def __getattr__(self, name ):

def GaudiPython::Bindings::iProperty::__getattr__ (   self,
  name 
) [inherited]

The method which returns the value for the given property
- In the case of the valid instance it returns the valid property value through IProperty interface
- In the case of placeholder the property value is retrieevd from JobOptionsCatalogue    

Definition at line 200 of file Bindings.py.

00200                               :
00201     """
00202     The method which returns the value for the given property
00203     - In the case of the valid instance it returns the valid property value through IProperty interface
00204     - In the case of placeholder the property value is retrieevd from JobOptionsCatalogue    
00205     """
00206     ip = self.getInterface()
00207     if ip :
00208       if not gbl.Gaudi.Utils.hasProperty ( ip , name ) :
00209         raise AttributeError, 'property %s does not exist' % name  
00210       prop = ip.getProperty(name)
00211       if   StringProperty    == type( prop )   : return prop.value() 
00212       elif StringPropertyRef == type( prop )   : return prop.value() 
00213       try:     return eval( prop.toString(), {}, {} )
00214       except : return p.value()
00215     else :
00216       props = self._optsvc.getProperties(self._name)
00217       for p in props :
00218         if not p.name() == name : continue
00219         # from JobOptionsSvc we always have only strings
00220         try:    return eval( p.value(), {}, {} )
00221         except: return p.value()
00222       raise AttributeError, 'property %s does not exist' % name  
  def properties(self):

def GaudiPython::Bindings::iProperty::properties (   self  )  [inherited]

Definition at line 223 of file Bindings.py.

00223                       :
00224     dct = {}
00225     props = None
00226     ip = self.getInterface()
00227     if ip :
00228       props = ip.getProperties()
00229       propsFrom = self._name # "interface"
00230     else:
00231       props = self._optsvc.getProperties( self._name )
00232       propsFrom = "jobOptionsSvc"
00233     if props:
00234       for p in props :
00235         try:
00236           dct[p.name()] = PropertyEntry(p)
00237         except (ValueError,TypeError),e:
00238           raise ValueError, "gaudimodule.iProperty.properties(): %s%s processing property %s.%s = %s" % \
00239                 (e.__class__.__name__, e.args, propsFrom, p.name(), p.value())
00240     return dct
  def name(self) :

def GaudiPython::Bindings::iProperty::name (   self  )  [inherited]

Reimplemented in GaudiPython::Bindings::iAlgTool.

Definition at line 241 of file Bindings.py.

00241                  :
00242     return self._name
00243 
00244 #----iService class--------------------------------------------------------------------- 
class iService(iProperty) :


Member Data Documentation

GaudiPython::Bindings::AppMgr::evtSvc = evtsvc [static]

Definition at line 847 of file Bindings.py.

GaudiPython::Bindings::AppMgr::histSvc = histsvc [static]

Definition at line 848 of file Bindings.py.

GaudiPython::Bindings::AppMgr::ntupleSvc = ntuplesvc [static]

Definition at line 849 of file Bindings.py.

GaudiPython::Bindings::AppMgr::evtSel = evtsel [static]

Definition at line 850 of file Bindings.py.

GaudiPython::Bindings::AppMgr::detSvc = detsvc [static]

Definition at line 851 of file Bindings.py.

GaudiPython::Bindings::AppMgr::toolSvc = toolsvc [static]

Definition at line 852 of file Bindings.py.

GaudiPython::Bindings::AppMgr::partSvc = partsvc [static]

Definition at line 853 of file Bindings.py.

GaudiPython::Bindings::AppMgr::JobOptionsType

Definition at line 610 of file Bindings.py.

GaudiPython::Bindings::AppMgr::OutputLevel

Definition at line 619 of file Bindings.py.

GaudiPython::Bindings::AppMgr::HistogramPersistency

Definition at line 713 of file Bindings.py.

tuple GaudiPython::Bindings::iService::initialize = lambdaself:self.__call_interface_method__("_isvc","initialize") [static, inherited]

Definition at line 254 of file Bindings.py.

tuple GaudiPython::Bindings::iService::start = lambdaself:self.__call_interface_method__("_isvc","start") [static, inherited]

Definition at line 255 of file Bindings.py.

tuple GaudiPython::Bindings::iService::stop = lambdaself:self.__call_interface_method__("_isvc","stop") [static, inherited]

Definition at line 256 of file Bindings.py.

tuple GaudiPython::Bindings::iService::finalize = lambdaself:self.__call_interface_method__("_isvc","finalize") [static, inherited]

Definition at line 257 of file Bindings.py.

tuple GaudiPython::Bindings::iService::reinitialize = lambdaself:self.__call_interface_method__("_isvc","reinitialize") [static, inherited]

Definition at line 258 of file Bindings.py.

tuple GaudiPython::Bindings::iService::restart = lambdaself:self.__call_interface_method__("_isvc","restart") [static, inherited]

Definition at line 259 of file Bindings.py.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:58:58 2011 for GaudiPython by doxygen 1.4.7