Gaudi Framework, version v23r5

Home   Generated: Wed Nov 28 2012
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
GaudiPython.Bindings.AppMgr Class Reference
Inheritance diagram for GaudiPython.Bindings.AppMgr:
Inheritance graph
[legend]
Collaboration diagram for GaudiPython.Bindings.AppMgr:
Collaboration graph
[legend]

Public Member Functions

def __new__
 
def __reset__
 
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 filerecordsvc
 
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 runSelectedEvents
 
def exit
 
def __del__
 Custom destructor to ensure that the application is correctly finalized when exiting from python.
 
- Public Member Functions inherited from GaudiPython.Bindings.iService
def __init__
 
def retrieveInterface
 
def isValid
 
- Public Member Functions inherited from GaudiPython.Bindings.iProperty
def __init__
 
def getInterface
 
def retrieveInterface
 
def __call_interface_method__
 
def __setattr__
 
def __getattr__
 
def properties
 
def name
 

Public Attributes

 JobOptionsType
 
 OutputLevel
 
 topAlg
 

Static Public Attributes

 evtSvc evtsvc
 
 histSvc histsvc
 
 ntupleSvc ntuplesvc
 
 evtSel evtsel
 
 detSvc detsvc
 
 toolSvc toolsvc
 
 partSvc partsvc
 
- Static Public Attributes inherited from GaudiPython.Bindings.iService
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 627 of file Bindings.py.

Constructor & Destructor Documentation

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

Definition at line 649 of file Bindings.py.

650  dllname = None, factname = None) :
651  global _gaudi
652  if _gaudi : return
653  # Protection against multiple calls to exit() if the finalization fails
654  self.__dict__['_exit_called'] = False
655  # keep the Gaudi namespace around (so it is still available during atexit shutdown)...
656  self.__dict__['_gaudi_ns'] = Gaudi
657  try:
658  from GaudiKernel.Proxy.Configurable import expandvars
659  except ImportError:
660  # pass-through implementation if expandvars is not defined (AthenaCommon)
661  expandvars = lambda data : data
662  if dllname and factname:
663  self.__dict__['_appmgr'] = gbl.Gaudi.createApplicationMgr(dllname,factname)
664  elif dllname:
665  self.__dict__['_appmgr'] = gbl.Gaudi.createApplicationMgr(dllname)
666  else:
667  self.__dict__['_appmgr'] = gbl.Gaudi.createApplicationMgr()
668  self.__dict__['_svcloc'] = gbl.Gaudi.svcLocator()
669  self.__dict__['_algmgr'] = InterfaceCast(gbl.IAlgManager)(self._appmgr)
670  self.__dict__['_evtpro'] = InterfaceCast(gbl.IEventProcessor)(self._appmgr)
671  self.__dict__['_svcmgr'] = InterfaceCast(gbl.ISvcManager)(self._appmgr)
672  self.__dict__['pyalgorithms'] = []
673  iService.__init__(self, 'ApplicationMgr', self._appmgr )
674  #------python specific initialization-------------------------------------
675  if self.FSMState() < Gaudi.StateMachine.CONFIGURED : # Not yet configured
676  self.JobOptionsType = 'NONE'
677  if joboptions :
678  from GaudiKernel.ProcessJobOptions import importOptions
679  importOptions(joboptions)
680  # Ensure that the ConfigurableUser instances have been applied
681  import GaudiKernel.Proxy.Configurable
682  if hasattr(GaudiKernel.Proxy.Configurable, "applyConfigurableUsers"):
683  GaudiKernel.Proxy.Configurable.applyConfigurableUsers()
684  # This is the default and could be overridden with "selfopts"
685  self.OutputLevel = 3
686  selfprops = Configurable.allConfigurables.get('ApplicationMgr',{})
687  if selfprops : selfprops = expandvars(selfprops.getValuedProperties())
688  for p,v in selfprops.items() : setattr(self, p, v)
689  for p,v in selfoptions.items() : setattr(self, p, v)
690  # Override job options
691  if outputlevel != -1 : self.OutputLevel = outputlevel
692  self.configure()
693  #---MessageSvc------------------------------------------------------------
694  ms = self.service('MessageSvc')
695  if 'MessageSvc' in Configurable.allConfigurables:
696  msprops = Configurable.allConfigurables['MessageSvc']
697  ms = self.service('MessageSvc')
698  if hasattr(msprops,"getValuedProperties"):
699  msprops = expandvars(msprops.getValuedProperties())
700  for p,v in msprops.items():
701  setattr(ms, p, v)
702  if outputlevel != -1 : ms.OutputLevel = outputlevel
703  #---JobOptions------------------------------------------------------------
704  self.__dict__['_optsvc'] = InterfaceCast(gbl.IJobOptionsSvc)(Helper.service(self._svcloc,'JobOptionsSvc'))
705  #------Configurables initialization (part2)-------------------------------
706  for n in getNeededConfigurables():
707  c = Configurable.allConfigurables[n]
708  if n in ['ApplicationMgr','MessageSvc'] : continue # These are already done---
709  for p, v in c.getValuedProperties().items() :
710  v = expandvars(v)
711  # Note: AthenaCommon.Configurable does not have Configurable.PropertyReference
712  if hasattr(Configurable,"PropertyReference") and type(v) == Configurable.PropertyReference:
713  # this is done in "getFullName", but the exception is ignored,
714  # so we do it again to get it
715  v = v.__resolve__()
716  if type(v) == str : v = '"%s"' % v # need double quotes
717  elif type(v) == long: v = '%d' % v # prevent pending 'L'
718  self._optsvc.addPropertyToCatalogue(n, StringProperty(p,str(v)))
719  if hasattr(Configurable,"_configurationLocked"):
720  Configurable._configurationLocked = True
721 
722  # Ensure that the exit method is called when exiting from Python
723  import atexit
724  atexit.register(self.exit)
725 
726  #---Hack to avoid bad interactions with the ROOT exit handler
727  # Look for an exit handler installed by ROOT
728  root_handler_installed = False
729  for h in atexit._exithandlers:
730  func = h[0]
731  if hasattr(func, "__module__") and func.__module__ == "ROOT":
732  root_handler_installed = True
733  break
734 
735  # If the handler is not yet installed, let's install our private version
736  # that detects that the ROOT exit handler is installed and add our own
737  # after it to ensure it is called before.
738  if not root_handler_installed:
739  orig_register = atexit.register
740  def register(func, *targs, **kargs):
741  orig_register(func, *targs, **kargs)
742  if hasattr(func, "__module__") and func.__module__ == "ROOT":
743  orig_register(self.exit)
744  # we do not need to remove out handler from the list because
745  # it can be safely called more than once
746  register.__doc__ = (orig_register.__doc__ +
747  "\nNote: version hacked by GaudiPython to work " +
748  "around a problem with the ROOT exit handler")
749  atexit.register = register
def GaudiPython.Bindings.AppMgr.__del__ (   self)

Custom destructor to ensure that the application is correctly finalized when exiting from python.

Definition at line 982 of file Bindings.py.

983  def __del__(self):
self.exit()

Member Function Documentation

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

Definition at line 628 of file Bindings.py.

629  def __new__ ( cls, *args, **kwargs ):
630  global _gaudi
631  if not _gaudi :
632  newobj = object.__new__( cls )
633  cls.__init__(newobj, *args, **kwargs)
634  _gaudi = newobj
return _gaudi
def GaudiPython.Bindings.AppMgr.__reset__ (   self)

Definition at line 635 of file Bindings.py.

636  def __reset__(self):
637  global _gaudi
638  # Stop, Finalize and Terminate the current AppMgr
639  self.exit()
640  # release interfaces
641  self._evtpro.release()
642  self._svcloc.release()
643  self._appmgr.release()
644  # Reset the C++ globals
645  gbl.Gaudi.setInstance(makeNullPointer('ISvcLocator'))
646  gbl.Gaudi.setInstance(makeNullPointer('IAppMgrUI'))
647  # Reset the Python global
_gaudi = None
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 825 of file Bindings.py.

826  def addAlgorithm(self, alg) :
827  """ Add an Algorithm to the list of Top algorithms. It can be either a instance of
828  an Algorithm class or it name """
829  if type(alg) is str :
830  self.topAlg += [alg]
831  else :
832  self.pyalgorithms.append(alg)
833  setOwnership(alg,0)
834  if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED :
835  alg.sysInitialize()
836  if self.targetFSMState() == Gaudi.StateMachine.RUNNING :
837  alg.sysStart()
self.topAlg += [alg.name()]
def GaudiPython.Bindings.AppMgr.algorithm (   self,
  name,
  createIf = False 
)

Definition at line 773 of file Bindings.py.

774  def algorithm(self, name , createIf = False ) :
775  alg = Helper.algorithm( self._algmgr, name , createIf )
776  if not alg : return iAlgorithm ( name , alg )
else : return iAlgorithm ( alg.name() , alg )
def GaudiPython.Bindings.AppMgr.algorithms (   self)

Definition at line 777 of file Bindings.py.

778  def algorithms(self) :
779  l = self._algmgr.getAlgorithms()
780  nl = l.__class__(l) # get a copy
781  s = []
782  for i in range(l.size()) :
783  s.append(nl.front().name())
784  nl.pop_front()
return s
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 864 of file Bindings.py.

865  def config ( self, **args ):
866  """
867  Simple utility to perform the configuration of Gaudi application.
868  It reads the set of input job-options files, and set few
869  additional parameters 'options' through the usage of temporary *.opts file
870  Usage:
871  gaudi.config( files = [ '$GAUSSOPTS/Gauss.opts' ,
872  '$DECFILESROOT/options/10022_010.0GeV.opts' ] ,
873  options = [ 'EventSelector.PrintFreq = 5 ' ] )
874  """
875  files = args.get('files',[])
876  for file in files :
877  sc = self.readOptions(file)
878  if sc.isFailure() :
879  raise RuntimeError , ' Unable to read file "' + file +'" '
880  options = args.get('options',None)
881  if options :
882  import tempfile
883  tmpfilename = tempfile.mktemp()
884  tmpfile = open( tmpfilename, 'w' )
885  tmpfile.write ( '#pragma print on \n' )
886  tmpfile.write ( '/// File "' + tmpfilename+'" generated by GaudiPython \n\n' )
887  for opt in options :
888  if type(options) is dict :
889  tmpfile.write( ' \t ' + opt + ' = '+ options[opt]+ ' ; // added by GaudiPython \n' )
890  else :
891  tmpfile.write( ' \t ' + opt + ' ; // added by GaudiPython \n' )
892  tmpfile.write ( '/// End of file "' + tmpfilename+'" generated by GaudiPython \n\n' )
893  tmpfile.close()
894  sc = self.readOptions( tmpfilename )
895  if sc.isFailure() :
896  raise RuntimeError , ' Unable to read file "' + tmpfilename +'" '
897  os.remove( tmpfilename )
898  # We need to make sure that the options are taken by the ApplicationMgr
899  if self.FSMState() != Gaudi.StateMachine.OFFLINE : # The state is already configured, so we need to do something....
900 
901  ## get job-options-service, @see class iJobOptSvc
902  jos = self.optSvc()
903 
904  ## list of all libraries
905  _dlls = jos.getProperty ( self.name() , 'DLLs' )
906  ## take care about libraries : APPEND if not done yet
907  if _dlls :
908  libs = [ l for l in _dlls if not l in self.DLLs ]
909  if libs : self.DLLs += libs
910 
911  ## all external services
912  _svcs = jos.getProperty ( self.name() , 'ExtSvc' )
913  ## take care about services : APPEND if not done yet
914  if _svcs :
915  svcs = [ s for s in _svcs if not s in self.ExtSvc ]
916  if svcs : self.ExtSvc += svcs
917 
918  ## get all properties
919  props = jos.getProperties ( self.name() )
920  ## finally treat all other properties (presumably scalar properties)
921  for key in props :
922  if 'DLLS' == key or 'EXTSVC' == key : continue
923  self.__setattr__( key , props[key] )
return SUCCESS # RETURN
def GaudiPython.Bindings.AppMgr.configure (   self)

Definition at line 924 of file Bindings.py.

925  def configure(self) :
return self._appmgr.configure()
def GaudiPython.Bindings.AppMgr.createSvc (   self,
  name 
)

Definition at line 763 of file Bindings.py.

764  def createSvc(self, name ) :
return Helper.service( self._svcloc, name, True )
def GaudiPython.Bindings.AppMgr.datasvc (   self,
  name 
)

Definition at line 791 of file Bindings.py.

792  def datasvc(self, name) :
793  if self.state() == Gaudi.StateMachine.CONFIGURED : self.initialize()
794  svc = Helper.service( self._svcloc, name )
return iDataSvc(name, svc)
def GaudiPython.Bindings.AppMgr.declSvcType (   self,
  svcname,
  svctype 
)

Definition at line 761 of file Bindings.py.

762  def declSvcType(self, svcname, svctype ) :
self._svcmgr.declareSvcType(svcname, svctype)
def GaudiPython.Bindings.AppMgr.detsvc (   self)

Definition at line 797 of file Bindings.py.

798  def detsvc(self) :
return self.datasvc('DetectorDataSvc')
def GaudiPython.Bindings.AppMgr.evtsel (   self)

Definition at line 801 of file Bindings.py.

802  def evtsel(self):
803  if self.state() == Gaudi.StateMachine.CONFIGURED : self.initialize()
804  if not hasattr(self,'_evtsel') : self.__dict__['_evtsel'] = iEventSelector()
return self._evtsel
def GaudiPython.Bindings.AppMgr.evtsvc (   self)

Definition at line 795 of file Bindings.py.

796  def evtsvc(self) :
return self.datasvc('EventDataSvc')
def GaudiPython.Bindings.AppMgr.execute (   self)

Definition at line 940 of file Bindings.py.

941  def execute(self) :
return self._evtpro.executeEvent()
def GaudiPython.Bindings.AppMgr.executeEvent (   self)

Definition at line 938 of file Bindings.py.

939  def executeEvent(self) :
return self._evtpro.executeEvent()
def GaudiPython.Bindings.AppMgr.exit (   self)

Definition at line 969 of file Bindings.py.

970  def exit(self):
971  # Protection against multiple calls to exit() if the finalization fails
972  if not self._exit_called:
973  self.__dict__['_exit_called'] = True
974  Gaudi = self._gaudi_ns
975  if self.FSMState() == Gaudi.StateMachine.RUNNING:
976  self._appmgr.stop().ignore()
977  if self.FSMState() == Gaudi.StateMachine.INITIALIZED:
978  self._appmgr.finalize().ignore()
979  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
980  self._appmgr.terminate()
return SUCCESS
def GaudiPython.Bindings.AppMgr.filerecordsvc (   self)

Definition at line 799 of file Bindings.py.

800  def filerecordsvc(self) :
return self.datasvc('FileRecordDataSvc')
def GaudiPython.Bindings.AppMgr.FSMState (   self)

Definition at line 751 of file Bindings.py.

def FSMState(self) : return self._isvc.FSMState()
def GaudiPython.Bindings.AppMgr.histsvc (   self,
  name = 'HistogramDataSvc' 
)

Definition at line 805 of file Bindings.py.

806  def histsvc(self, name='HistogramDataSvc') :
807  svc = Helper.service( self._svcloc, name )
return iHistogramSvc(name, svc)
def GaudiPython.Bindings.AppMgr.loaddict (   self,
  dict 
)

Definition at line 753 of file Bindings.py.

754  def loaddict(self, dict) :
loaddict(dict)
def GaudiPython.Bindings.AppMgr.ntuplesvc (   self,
  name = 'NTupleSvc' 
)

Definition at line 808 of file Bindings.py.

809  def ntuplesvc(self, name='NTupleSvc') :
810  if name not in self.ExtSvc : self.ExtSvc += [name]
811 # if self.HistogramPersistency == 'NONE' : self.HistogramPersistency = 'ROOT'
812  svc = Helper.service( self._svcloc, name, True )
return iNTupleSvc(name, svc)
def GaudiPython.Bindings.AppMgr.optSvc (   self,
  name = 'JobOptionsSvc' 
)

Definition at line 820 of file Bindings.py.

821  def optSvc (self, name='JobOptionsSvc') :
822  svc = Helper.service( self._svcloc, name, True )
return iJobOptSvc(name, svc)
def GaudiPython.Bindings.AppMgr.partsvc (   self)

Definition at line 813 of file Bindings.py.

814  def partsvc(self ) :
815  if self.FSMState() == Gaudi.StateMachine.CONFIGURED : self.initialize()
816  svc = Helper.service( self._svcloc, 'ParticlePropertySvc' )
return InterfaceCast(gbl.IParticlePropertySvc)(svc)
def GaudiPython.Bindings.AppMgr.property (   self,
  name 
)

Definition at line 787 of file Bindings.py.

788  def property( self , name ) :
789  if name in self.algorithms() : return self.algorithm( name )
790  elif name in self.services() : return self.service(name )
else : return iProperty( name )
def GaudiPython.Bindings.AppMgr.readOptions (   self,
  file 
)

Definition at line 823 of file Bindings.py.

824  def readOptions(self, file) :
return self._optsvc.readOptions(file)
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 853 of file Bindings.py.

854  def removeAlgorithm(self, alg) :
855  """ Remove an Algorithm to the list of Top algorithms. It can be either a instance of
856  an Algorithm class or it name """
857  tmp = self.topAlg
858  if type(alg) is str :
859  tmp.remove(alg)
860  else :
861  tmp.remove(alg.name())
862  self.pyalgorithms.remove(alg)
863  setOwnership(alg,1)
self.topAlg = tmp
def GaudiPython.Bindings.AppMgr.run (   self,
  n 
)

Definition at line 928 of file Bindings.py.

929  def run(self, n) :
930  if self.FSMState() == Gaudi.StateMachine.CONFIGURED :
931  sc = self.initialize()
932  if sc.isFailure() or self.ReturnCode != 0:
933  return sc
934  if self.FSMState() == Gaudi.StateMachine.INITIALIZED :
935  sc = self.start()
936  if sc.isFailure() or self.ReturnCode != 0:
937  return sc
return self._evtpro.executeRun(n)
def GaudiPython.Bindings.AppMgr.runSelectedEvents (   self,
  pfn,
  events 
)

Definition at line 942 of file Bindings.py.

943  def runSelectedEvents(self, pfn, events):
944  if self.FSMState() == Gaudi.StateMachine.CONFIGURED :
945  sc = self.initialize()
946  if sc.isFailure(): return sc
947  if self.FSMState() == Gaudi.StateMachine.INITIALIZED :
948  sc = self.start()
949  if sc.isFailure(): return sc
950  #--- Access a number of services ----
951  if not hasattr(self,'_perssvc'): self.__dict__['_perssvc'] = self.service('EventPersistencySvc','IAddressCreator')
952  if not hasattr(self,'_filecat'): self.__dict__['_filecat'] = self.service('FileCatalog','Gaudi::IFileCatalog')
953  if not hasattr(self,'_evtmgr'): self.__dict__['_evtmgr'] = self.service('EventDataSvc','IDataManagerSvc')
954  #--- Get FID from PFN and number of events in file
955  if pfn.find('PFN:') == 0: pfn = pfn[4:]
956  fid, maxevt = _getFIDandEvents(pfn)
957  #--- Add FID into catalog if needed ---
958  if not self._filecat.existsFID(fid) : self._filecat.registerPFN(fid, pfn, '')
959  #--- Loop over events
960  if type(events) is not list : events = (events,)
961  for evt in events :
962  #--- Create POOL Address from Generic Address
963  gadd = gbl.GenericAddress(0x02, 1, fid, '/Event', 0, evt)
964  oadd = makeNullPointer('IOpaqueAddress')
965  self._perssvc.createAddress(gadd.svcType(),gadd.clID(),gadd.par(),gadd.ipar(),oadd)
966  #--- Clear TES, set root and run all algorithms
967  self._evtmgr.clearStore()
968  self._evtmgr.setRoot('/Event',oadd)
self._evtpro.executeEvent()
def GaudiPython.Bindings.AppMgr.service (   self,
  name,
  interface = None 
)

Definition at line 755 of file Bindings.py.

756  def service(self, name, interface = None) :
757  svc = Helper.service( self._svcloc, name )
758  if interface :
759  return InterfaceCast(interface)(svc)
760  else :
return iService(name, svc )
def GaudiPython.Bindings.AppMgr.services (   self)

Definition at line 765 of file Bindings.py.

766  def services(self) :
767  l = self._svcloc.getServices()
768  nl = l.__class__(l) # get a copy
769  s = []
770  for i in range(l.size()) :
771  s.append(nl.front().name())
772  nl.pop_front()
return s
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 838 of file Bindings.py.

839  def setAlgorithms(self, algs) :
840  """ Set the list of Top Algorithms.
841  It can be an individual of a list of algorithms names or instances """
842  if type(algs) is not list : algs = [algs]
843  names = []
844  for alg in algs :
845  if type(alg) is str : names.append(alg)
846  else :
847  self.pyalgorithms.append(alg)
848  if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED :
849  alg.sysInitialize()
850  if self.targetFSMState() == Gaudi.StateMachine.RUNNING :
851  alg.sysStart()
852  names.append(alg.name())
self.topAlg = names
def GaudiPython.Bindings.AppMgr.start (   self)

Definition at line 926 of file Bindings.py.

927  def start(self) :
return self._appmgr.start()
def GaudiPython.Bindings.AppMgr.state (   self)

Definition at line 750 of file Bindings.py.

def state(self) : return self._isvc.FSMState()
def GaudiPython.Bindings.AppMgr.targetFSMState (   self)

Definition at line 752 of file Bindings.py.

def targetFSMState(self) : return self._isvc.targetFSMState()
def GaudiPython.Bindings.AppMgr.tool (   self,
  name 
)

Definition at line 785 of file Bindings.py.

786  def tool(self, name ) :
return iAlgTool(name)
def GaudiPython.Bindings.AppMgr.toolsvc (   self,
  name = 'ToolSvc' 
)

Definition at line 817 of file Bindings.py.

818  def toolsvc(self, name='ToolSvc') :
819  svc = Helper.service( self._svcloc, name, True )
return iToolSvc(name, svc)

Member Data Documentation

GaudiPython.Bindings.AppMgr.detSvc detsvc
static

Definition at line 988 of file Bindings.py.

GaudiPython.Bindings.AppMgr.evtSel evtsel
static

Definition at line 987 of file Bindings.py.

GaudiPython.Bindings.AppMgr.evtSvc evtsvc
static

Definition at line 984 of file Bindings.py.

GaudiPython.Bindings.AppMgr.histSvc histsvc
static

Definition at line 985 of file Bindings.py.

GaudiPython.Bindings.AppMgr.JobOptionsType

Definition at line 675 of file Bindings.py.

GaudiPython.Bindings.AppMgr.ntupleSvc ntuplesvc
static

Definition at line 986 of file Bindings.py.

GaudiPython.Bindings.AppMgr.OutputLevel

Definition at line 684 of file Bindings.py.

GaudiPython.Bindings.AppMgr.partSvc partsvc
static

Definition at line 990 of file Bindings.py.

GaudiPython.Bindings.AppMgr.toolSvc toolsvc
static

Definition at line 989 of file Bindings.py.

GaudiPython.Bindings.AppMgr.topAlg

Definition at line 852 of file Bindings.py.


The documentation for this class was generated from the following file:
Generated at Wed Nov 28 2012 12:17:40 for Gaudi Framework, version v23r5 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004