The Gaudi Framework  v36r10 (fc05264c)
GaudiPython.Bindings.AppMgr Class Reference
Inheritance diagram for GaudiPython.Bindings.AppMgr:
Collaboration diagram for GaudiPython.Bindings.AppMgr:

Public Member Functions

def __new__ (cls, *args, **kwargs)
 
def __reset__ (self)
 
def __init__ (self, outputlevel=-1, joboptions=None, selfoptions={}, dllname=None, factname=None)
 
def opts (self)
 
def state (self)
 
def FSMState (self)
 
def targetFSMState (self)
 
def service (self, name, interface=None)
 
def declSvcType (self, svcname, svctype)
 
def createSvc (self, name)
 
def services (self)
 
def algorithm (self, name, createIf=False)
 
def algorithms (self)
 
def tool (self, name)
 
def property (self, name)
 
def datasvc (self, name)
 
def evtsvc (self)
 
def detsvc (self)
 
def filerecordsvc (self)
 
def evtsel (self)
 
def histsvc (self, name="HistogramDataSvc")
 
def ntuplesvc (self, name="NTupleSvc")
 
def partsvc (self)
 
def toolsvc (self, name="ToolSvc")
 
def readOptions (self, file)
 
def addAlgorithm (self, alg)
 
def setAlgorithms (self, algs)
 
def removeAlgorithm (self, alg)
 
def printAlgsSequences (self)
 
def config (self, **args)
 
def configure (self)
 
def start (self)
 
def terminate (self)
 
def run (self, n)
 
def executeEvent (self)
 
def execute (self)
 
def runSelectedEvents (self, pfn, events)
 
def exit (self)
 
def __del__ (self)
 
- Public Member Functions inherited from GaudiPython.Bindings.iService
def __init__ (self, name, isvc=cppyy.nullptr)
 
def retrieveInterface (self)
 
def initialize (self)
 
def stop (self)
 
def finalize (self)
 
def reinitialize (self)
 
def restart (self)
 
def isValid (self)
 
- Public Member Functions inherited from GaudiPython.Bindings.iProperty
def getInterface (self)
 
def __call_interface_method__ (self, ifname, method, *args)
 
def __setattr__ (self, name, value)
 
def __getattr__ (self, name)
 
def properties (self)
 
def name (self)
 

Public Attributes

 JobOptionsType
 
 OutputLevel
 
 topAlg
 

Static Public Attributes

def evtSvc = evtsvc
 
def histSvc = histsvc
 
def ntupleSvc = ntuplesvc
 
def evtSel = evtsel
 
def detSvc = detsvc
 
def toolSvc = toolsvc
 
def partSvc = partsvc
 

Detailed Description

Definition at line 872 of file Bindings.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 895 of file Bindings.py.

895  def __init__(
896  self,
897  outputlevel=-1,
898  joboptions=None,
899  selfoptions={},
900  dllname=None,
901  factname=None,
902  ):
903  global _gaudi
904  if _gaudi:
905  return
906  # Make sure the python stdout buffer is flushed before c++ runs
907  sys.stdout.flush()
908  # Protection against multiple calls to exit() if the finalization fails
909  self.__dict__["_exit_called"] = False
910  # keep the Gaudi namespace around (so it is still available during atexit shutdown)...
911  self.__dict__["_gaudi_ns"] = Gaudi
912  try:
913  from GaudiKernel.Proxy.Configurable import expandvars
914  except ImportError:
915  # pass-through implementation if expandvars is not defined (AthenaCommon)
916  def expandvars(data):
917  return data
918 
919  if dllname and factname:
920  self.__dict__["_appmgr"] = gbl.Gaudi.createApplicationMgr(dllname, factname)
921  elif dllname:
922  self.__dict__["_appmgr"] = gbl.Gaudi.createApplicationMgr(dllname)
923  else:
924  self.__dict__["_appmgr"] = gbl.Gaudi.createApplicationMgr()
925  self.__dict__["_svcloc"] = gbl.Gaudi.svcLocator()
926  self.__dict__["_algmgr"] = InterfaceCast(gbl.IAlgManager)(self._appmgr)
927  self.__dict__["_evtpro"] = InterfaceCast(gbl.IEventProcessor)(self._appmgr)
928  self.__dict__["_svcmgr"] = InterfaceCast(gbl.ISvcManager)(self._appmgr)
929  self.__dict__["pyalgorithms"] = []
930  iService.__init__(self, "ApplicationMgr", self._appmgr)
931  # ------python specific initialization-------------------------------------
932  if self.FSMState() < Gaudi.StateMachine.CONFIGURED: # Not yet configured
933  self.JobOptionsType = "NONE"
934  if joboptions:
935  from GaudiKernel.ProcessJobOptions import importOptions
936 
937  importOptions(joboptions)
938  # Ensure that the ConfigurableUser instances have been applied
939  import GaudiKernel.Proxy.Configurable
940 
941  if hasattr(GaudiKernel.Proxy.Configurable, "applyConfigurableUsers"):
942  GaudiKernel.Proxy.Configurable.applyConfigurableUsers()
943  # This is the default and could be overridden with "selfopts"
944  self.OutputLevel = 3
945  try:
946  appMgr = Configurable.allConfigurables["ApplicationMgr"]
947  selfprops = expandvars(appMgr.getValuedProperties())
948  except KeyError:
949  selfprops = {}
950  for p, v in selfprops.items():
951  setattr(self, p, v)
952  for p, v in selfoptions.items():
953  setattr(self, p, v)
954  # Override job options
955  if outputlevel != -1:
956  self.OutputLevel = outputlevel
957  self.configure()
958  # ---MessageSvc------------------------------------------------------------
959  ms = self.service("MessageSvc")
960  if "MessageSvc" in Configurable.allConfigurables:
961  msprops = Configurable.allConfigurables["MessageSvc"]
962  ms = self.service("MessageSvc")
963  if hasattr(msprops, "getValuedProperties"):
964  msprops = expandvars(msprops.getValuedProperties())
965  for p, v in msprops.items():
966  setattr(ms, p, v)
967  if outputlevel != -1:
968  ms.OutputLevel = outputlevel
969  # ------Configurables initialization (part2)-------------------------------
970  for n in getNeededConfigurables():
971  c = Configurable.allConfigurables[n]
972  if n in ["ApplicationMgr", "MessageSvc"]:
973  continue # These are already done---
974  for p, v in c.getValuedProperties().items():
975  v = expandvars(v)
976  # Note: AthenaCommon.Configurable does not have Configurable.PropertyReference
977  if (
978  hasattr(Configurable, "PropertyReference")
979  and type(v) == Configurable.PropertyReference
980  ):
981  # this is done in "getFullName", but the exception is ignored,
982  # so we do it again to get it
983  v = v.__resolve__()
984  if type(v) == str:
985  v = repr(v) # need double quotes
986  if type(v) == long:
987  v = "%d" % v # prevent pending 'L'
988  gbl.GaudiPython.Helpers.setProperty(
989  self._svcloc, ".".join([n, p]), str(v)
990  )
991  if hasattr(Configurable, "_configurationLocked"):
992  Configurable._configurationLocked = True
993 
994  # Ensure that the exit method is called when exiting from Python
995  import atexit
996 
997  atexit.register(self.exit)
998 
999  # ---Hack to avoid bad interactions with the ROOT exit handler
1000  # let's install a private version of atexit.register that detects when
1001  # the ROOT exit handler is installed and adds our own after it to ensure
1002  # it is called before.
1003  orig_register = atexit.register
1004 
1005  def register(func, *targs, **kargs):
1006  orig_register(func, *targs, **kargs)
1007  if hasattr(func, "__module__") and func.__module__ == "ROOT":
1008  orig_register(self.exit)
1009  # we do not need to remove out handler from the list because
1010  # it can be safely called more than once
1011 
1012  register.__doc__ = (
1013  orig_register.__doc__
1014  + "\nNote: version hacked by GaudiPython to work "
1015  + "around a problem with the ROOT exit handler"
1016  )
1017  atexit.register = register
1018 

◆ __del__()

def GaudiPython.Bindings.AppMgr.__del__ (   self)

Definition at line 1320 of file Bindings.py.

1320  def __del__(self):
1321  self.exit()
1322 

Member Function Documentation

◆ __new__()

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

Definition at line 873 of file Bindings.py.

873  def __new__(cls, *args, **kwargs):
874  global _gaudi
875  if not _gaudi:
876  newobj = object.__new__(cls)
877  cls.__init__(newobj, *args, **kwargs)
878  _gaudi = newobj
879  return _gaudi
880 

◆ __reset__()

def GaudiPython.Bindings.AppMgr.__reset__ (   self)

Definition at line 881 of file Bindings.py.

881  def __reset__(self):
882  global _gaudi
883  # Stop, Finalize and Terminate the current AppMgr
884  self.exit()
885  # release interfaces
886  self._evtpro.release()
887  self._svcloc.release()
888  self._appmgr.release()
889  # Reset the C++ globals
890  gbl.Gaudi.setInstance(makeNullPointer("ISvcLocator"))
891  gbl.Gaudi.setInstance(makeNullPointer("IAppMgrUI"))
892  # Reset the Python global
893  _gaudi = None
894 

◆ addAlgorithm()

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

1119  def addAlgorithm(self, alg):
1120  """Add an Algorithm to the list of Top algorithms. It can be either a instance of
1121  an Algorithm class or it name"""
1122  if type(alg) is str:
1123  self.topAlg += [alg]
1124  else:
1125  self.pyalgorithms.append(alg)
1126  setOwnership(alg, 0)
1127  if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED:
1128  alg.sysInitialize()
1129  if self.targetFSMState() == Gaudi.StateMachine.RUNNING:
1130  alg.sysStart()
1131  self.topAlg += [alg.name()]
1132 

◆ algorithm()

def GaudiPython.Bindings.AppMgr.algorithm (   self,
  name,
  createIf = False 
)

Definition at line 1051 of file Bindings.py.

1051  def algorithm(self, name, createIf=False):
1052  alg = Helper.algorithm(self._algmgr, name, createIf)
1053  if not alg:
1054  return iAlgorithm(name, alg)
1055  else:
1056  return iAlgorithm(alg.name(), alg)
1057 

◆ algorithms()

def GaudiPython.Bindings.AppMgr.algorithms (   self)

Definition at line 1058 of file Bindings.py.

1058  def algorithms(self):
1059  l = self._algmgr.getAlgorithms()
1060  return [a.name() for a in l]
1061 

◆ config()

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

1190  def config(self, **args):
1191  """
1192  Simple utility to perform the configuration of Gaudi application.
1193  It reads the set of input job-options files, and set few
1194  additional parameters 'options' through the usage of temporary *.opts file
1195  Usage:
1196  gaudi.config( files = [ '$GAUSSOPTS/Gauss.opts' ,
1197  '$DECFILESROOT/options/10022_010.0GeV.opts' ] ,
1198  options = [ 'EventSelector.PrintFreq = 5 ' ] )
1199  """
1200  files = args.get("files", [])
1201  for file in files:
1202  sc = self.readOptions(file)
1203  if sc.isFailure():
1204  raise RuntimeError(' Unable to read file "' + file + '" ')
1205  options = args.get("options", None)
1206  if options:
1207  import tempfile
1208 
1209  tmpfilename = tempfile.mktemp()
1210  tmpfile = open(tmpfilename, "w")
1211  tmpfile.write("#pragma print on \n")
1212  tmpfile.write(
1213  '/// File "' + tmpfilename + '" generated by GaudiPython \n\n'
1214  )
1215  for opt in options:
1216  if type(options) is dict:
1217  tmpfile.write(
1218  " \t "
1219  + opt
1220  + " = "
1221  + options[opt]
1222  + " ; // added by GaudiPython \n"
1223  )
1224  else:
1225  tmpfile.write(" \t " + opt + " ; // added by GaudiPython \n")
1226  tmpfile.write(
1227  '/// End of file "' + tmpfilename + '" generated by GaudiPython \n\n'
1228  )
1229  tmpfile.close()
1230  sc = self.readOptions(tmpfilename)
1231  if sc.isFailure():
1232  raise RuntimeError(' Unable to read file "' + tmpfilename + '" ')
1233  os.remove(tmpfilename)
1234 
1235  return SUCCESS
1236 

◆ configure()

def GaudiPython.Bindings.AppMgr.configure (   self)

Definition at line 1237 of file Bindings.py.

1237  def configure(self):
1238  return self._appmgr.configure()
1239 

◆ createSvc()

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

Definition at line 1044 of file Bindings.py.

1044  def createSvc(self, name):
1045  return Helper.service(self._svcloc, name, True)
1046 

◆ datasvc()

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

Definition at line 1073 of file Bindings.py.

1073  def datasvc(self, name):
1074  if self.state() == Gaudi.StateMachine.CONFIGURED:
1075  self.initialize()
1076  svc = Helper.service(self._svcloc, name)
1077  return iDataSvc(name, svc)
1078 

◆ declSvcType()

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

Definition at line 1041 of file Bindings.py.

1041  def declSvcType(self, svcname, svctype):
1042  self._svcmgr.declareSvcType(svcname, svctype)
1043 

◆ detsvc()

def GaudiPython.Bindings.AppMgr.detsvc (   self)

Definition at line 1082 of file Bindings.py.

1082  def detsvc(self):
1083  return self.datasvc("DetectorDataSvc")
1084 

◆ evtsel()

def GaudiPython.Bindings.AppMgr.evtsel (   self)

Definition at line 1088 of file Bindings.py.

1088  def evtsel(self):
1089  if self.state() == Gaudi.StateMachine.CONFIGURED:
1090  self.initialize()
1091  if not hasattr(self, "_evtsel"):
1092  self.__dict__["_evtsel"] = iEventSelector()
1093  return self._evtsel
1094 

◆ evtsvc()

def GaudiPython.Bindings.AppMgr.evtsvc (   self)

Definition at line 1079 of file Bindings.py.

1079  def evtsvc(self):
1080  return self.datasvc("EventDataSvc")
1081 

◆ execute()

def GaudiPython.Bindings.AppMgr.execute (   self)

Definition at line 1260 of file Bindings.py.

1260  def execute(self):
1261  return self._evtpro.executeEvent()
1262 

◆ executeEvent()

def GaudiPython.Bindings.AppMgr.executeEvent (   self)

Definition at line 1257 of file Bindings.py.

1257  def executeEvent(self):
1258  return self._evtpro.executeEvent()
1259 

◆ exit()

def GaudiPython.Bindings.AppMgr.exit (   self)

Definition at line 1305 of file Bindings.py.

1305  def exit(self):
1306  # Protection against multiple calls to exit() if the finalization fails
1307  if not self._exit_called:
1308  self.__dict__["_exit_called"] = True
1309  Gaudi = self._gaudi_ns
1310  if self.FSMState() == Gaudi.StateMachine.RUNNING:
1311  self._appmgr.stop().ignore()
1312  if self.FSMState() == Gaudi.StateMachine.INITIALIZED:
1313  self._appmgr.finalize().ignore()
1314  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1315  self._appmgr.terminate()
1316  return SUCCESS
1317 

◆ filerecordsvc()

def GaudiPython.Bindings.AppMgr.filerecordsvc (   self)

Definition at line 1085 of file Bindings.py.

1085  def filerecordsvc(self):
1086  return self.datasvc("FileRecordDataSvc")
1087 

◆ FSMState()

def GaudiPython.Bindings.AppMgr.FSMState (   self)

Definition at line 1028 of file Bindings.py.

1028  def FSMState(self):
1029  return self._isvc.FSMState()
1030 

◆ histsvc()

def GaudiPython.Bindings.AppMgr.histsvc (   self,
  name = "HistogramDataSvc" 
)

Definition at line 1095 of file Bindings.py.

1095  def histsvc(self, name="HistogramDataSvc"):
1096  svc = Helper.service(self._svcloc, name)
1097  return iHistogramSvc(name, svc)
1098 

◆ ntuplesvc()

def GaudiPython.Bindings.AppMgr.ntuplesvc (   self,
  name = "NTupleSvc" 
)

Definition at line 1099 of file Bindings.py.

1099  def ntuplesvc(self, name="NTupleSvc"):
1100  if name not in self.ExtSvc:
1101  self.ExtSvc += [name]
1102  # if self.HistogramPersistency == 'NONE' : self.HistogramPersistency = 'ROOT'
1103  svc = Helper.service(self._svcloc, name, True)
1104  return iNTupleSvc(name, svc)
1105 

◆ opts()

def GaudiPython.Bindings.AppMgr.opts (   self)

Definition at line 1020 of file Bindings.py.

1020  def opts(self):
1021  if "_svcloc" in self.__dict__:
1022  return self._svcloc.getOptsSvc()
1023  return None
1024 

◆ partsvc()

def GaudiPython.Bindings.AppMgr.partsvc (   self)

Definition at line 1106 of file Bindings.py.

1106  def partsvc(self):
1107  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1108  self.initialize()
1109  svc = Helper.service(self._svcloc, "ParticlePropertySvc")
1110  return InterfaceCast(gbl.IParticlePropertySvc)(svc)
1111 

◆ printAlgsSequences()

def GaudiPython.Bindings.AppMgr.printAlgsSequences (   self)
Print the sequence of Algorithms.

Definition at line 1163 of file Bindings.py.

1163  def printAlgsSequences(self):
1164  """
1165  Print the sequence of Algorithms.
1166  """
1167 
1168  def printAlgo(algName, appMgr, prefix=" "):
1169  print(prefix + algName)
1170  alg = appMgr.algorithm(algName.split("/")[-1])
1171  prop = alg.properties()
1172  if "Members" in prop:
1173  subs = prop["Members"].value()
1174  for i in subs:
1175  printAlgo(i.strip('"'), appMgr, prefix + " ")
1176 
1177  mp = self.properties()
1178  prefix = "ApplicationMgr SUCCESS "
1179  print(
1180  prefix
1181  + "****************************** Algorithm Sequence ****************************"
1182  )
1183  for i in mp["TopAlg"].value():
1184  printAlgo(i, self, prefix)
1185  print(
1186  prefix
1187  + "******************************************************************************"
1188  )
1189 

◆ property()

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

Definition at line 1065 of file Bindings.py.

1065  def property(self, name):
1066  if name in self.algorithms():
1067  return self.algorithm(name)
1068  elif name in self.services():
1069  return self.service(name)
1070  else:
1071  return iProperty(name)
1072 

◆ readOptions()

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

Definition at line 1116 of file Bindings.py.

1116  def readOptions(self, file):
1117  return self.opts.readOptions(file)
1118 

◆ removeAlgorithm()

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

1151  def removeAlgorithm(self, alg):
1152  """Remove an Algorithm to the list of Top algorithms. It can be either a instance of
1153  an Algorithm class or it name"""
1154  tmp = self.topAlg
1155  if type(alg) is str:
1156  tmp.remove(alg)
1157  else:
1158  tmp.remove(alg.name())
1159  self.pyalgorithms.remove(alg)
1160  setOwnership(alg, 1)
1161  self.topAlg = tmp
1162 

◆ run()

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

Definition at line 1246 of file Bindings.py.

1246  def run(self, n):
1247  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1248  sc = self.initialize()
1249  if sc.isFailure() or self.ReturnCode != 0:
1250  return sc
1251  if self.FSMState() == Gaudi.StateMachine.INITIALIZED:
1252  sc = self.start()
1253  if sc.isFailure() or self.ReturnCode != 0:
1254  return sc
1255  return self._evtpro.executeRun(n)
1256 

◆ runSelectedEvents()

def GaudiPython.Bindings.AppMgr.runSelectedEvents (   self,
  pfn,
  events 
)

Definition at line 1263 of file Bindings.py.

1263  def runSelectedEvents(self, pfn, events):
1264  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1265  sc = self.initialize()
1266  if sc.isFailure():
1267  return sc
1268  if self.FSMState() == Gaudi.StateMachine.INITIALIZED:
1269  sc = self.start()
1270  if sc.isFailure():
1271  return sc
1272  # --- Access a number of services ----
1273  if not hasattr(self, "_perssvc"):
1274  self.__dict__["_perssvc"] = self.service(
1275  "EventPersistencySvc", "IAddressCreator"
1276  )
1277  if not hasattr(self, "_filecat"):
1278  self.__dict__["_filecat"] = self.service(
1279  "FileCatalog", "Gaudi::IFileCatalog"
1280  )
1281  if not hasattr(self, "_evtmgr"):
1282  self.__dict__["_evtmgr"] = self.service("EventDataSvc", "IDataManagerSvc")
1283  # --- Get FID from PFN and number of events in file
1284  if pfn.find("PFN:") == 0:
1285  pfn = pfn[4:]
1286  fid, maxevt = _getFIDandEvents(pfn)
1287  # --- Add FID into catalog if needed ---
1288  if not self._filecat.existsFID(fid):
1289  self._filecat.registerPFN(fid, pfn, "")
1290  # --- Loop over events
1291  if type(events) is not list:
1292  events = (events,)
1293  for evt in events:
1294  # --- Create POOL Address from Generic Address
1295  gadd = gbl.GenericAddress(0x02, 1, fid, "/Event", 0, evt)
1296  oadd = makeNullPointer("IOpaqueAddress")
1297  self._perssvc.createAddress(
1298  gadd.svcType(), gadd.clID(), gadd.par(), gadd.ipar(), oadd
1299  )
1300  # --- Clear TES, set root and run all algorithms
1301  self._evtmgr.clearStore()
1302  self._evtmgr.setRoot("/Event", oadd)
1303  self._evtpro.executeEvent()
1304 

◆ service()

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

Definition at line 1034 of file Bindings.py.

1034  def service(self, name, interface=None):
1035  svc = Helper.service(self._svcloc, name)
1036  if interface:
1037  return InterfaceCast(interface)(svc)
1038  else:
1039  return iService(name, svc)
1040 

◆ services()

def GaudiPython.Bindings.AppMgr.services (   self)

Definition at line 1047 of file Bindings.py.

1047  def services(self):
1048  l = self._svcloc.getServices()
1049  return [s.name() for s in l]
1050 

◆ setAlgorithms()

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

1133  def setAlgorithms(self, algs):
1134  """Set the list of Top Algorithms.
1135  It can be an individual of a list of algorithms names or instances"""
1136  if type(algs) is not list:
1137  algs = [algs]
1138  names = []
1139  for alg in algs:
1140  if type(alg) is str:
1141  names.append(alg)
1142  else:
1143  self.pyalgorithms.append(alg)
1144  if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED:
1145  alg.sysInitialize()
1146  if self.targetFSMState() == Gaudi.StateMachine.RUNNING:
1147  alg.sysStart()
1148  names.append(alg.name())
1149  self.topAlg = names
1150 

◆ start()

def GaudiPython.Bindings.AppMgr.start (   self)

Reimplemented from GaudiPython.Bindings.iService.

Definition at line 1240 of file Bindings.py.

1240  def start(self):
1241  return self._appmgr.start()
1242 

◆ state()

def GaudiPython.Bindings.AppMgr.state (   self)

Definition at line 1025 of file Bindings.py.

1025  def state(self):
1026  return self._isvc.FSMState()
1027 

◆ targetFSMState()

def GaudiPython.Bindings.AppMgr.targetFSMState (   self)

Definition at line 1031 of file Bindings.py.

1031  def targetFSMState(self):
1032  return self._isvc.targetFSMState()
1033 

◆ terminate()

def GaudiPython.Bindings.AppMgr.terminate (   self)

Definition at line 1243 of file Bindings.py.

1243  def terminate(self):
1244  return self._appmgr.terminate()
1245 

◆ tool()

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

Definition at line 1062 of file Bindings.py.

1062  def tool(self, name):
1063  return iAlgTool(name)
1064 

◆ toolsvc()

def GaudiPython.Bindings.AppMgr.toolsvc (   self,
  name = "ToolSvc" 
)

Definition at line 1112 of file Bindings.py.

1112  def toolsvc(self, name="ToolSvc"):
1113  svc = Helper.service(self._svcloc, name, True)
1114  return iToolSvc(name, svc)
1115 

Member Data Documentation

◆ detSvc

def GaudiPython.Bindings.AppMgr.detSvc = detsvc
static

Definition at line 1327 of file Bindings.py.

◆ evtSel

def GaudiPython.Bindings.AppMgr.evtSel = evtsel
static

Definition at line 1326 of file Bindings.py.

◆ evtSvc

def GaudiPython.Bindings.AppMgr.evtSvc = evtsvc
static

Definition at line 1323 of file Bindings.py.

◆ histSvc

def GaudiPython.Bindings.AppMgr.histSvc = histsvc
static

Definition at line 1324 of file Bindings.py.

◆ JobOptionsType

GaudiPython.Bindings.AppMgr.JobOptionsType

Definition at line 926 of file Bindings.py.

◆ ntupleSvc

def GaudiPython.Bindings.AppMgr.ntupleSvc = ntuplesvc
static

Definition at line 1325 of file Bindings.py.

◆ OutputLevel

GaudiPython.Bindings.AppMgr.OutputLevel

Definition at line 937 of file Bindings.py.

◆ partSvc

def GaudiPython.Bindings.AppMgr.partSvc = partsvc
static

Definition at line 1329 of file Bindings.py.

◆ toolSvc

def GaudiPython.Bindings.AppMgr.toolSvc = toolsvc
static

Definition at line 1328 of file Bindings.py.

◆ topAlg

GaudiPython.Bindings.AppMgr.topAlg

Definition at line 1149 of file Bindings.py.


The documentation for this class was generated from the following file:
GaudiPython.Bindings.makeNullPointer
makeNullPointer
Definition: Bindings.py:135
Aida2RootEx.configure
def configure(gaudi=None)
Definition: Aida2RootEx.py:126
conf.release
string release
Definition: conf.py:27
prepareBenchmark.config
def config
Definition: prepareBenchmark.py:47
GaudiPython.Bindings.setOwnership
setOwnership
Definition: Bindings.py:136
GaudiPython.GaudiAlgs.iAlgorithm
iAlgorithm
Definition: GaudiAlgs.py:67
GaudiKernel.Proxy.getNeededConfigurables
getNeededConfigurables
Definition: Proxy.py:30
bug_34121.tool
tool
Definition: bug_34121.py:17
gaudirun.opts
opts
Definition: gaudirun.py:336
GaudiKernel.ProcessJobOptions
Definition: ProcessJobOptions.py:1
GaudiPython.Pythonizations.execute
execute
Definition: Pythonizations.py:588
Histograms_with_global.algorithms
list algorithms
Definition: Histograms_with_global.py:19
GaudiPython.Pythonizations.executeEvent
executeEvent
Helpers for re-entrant interfaces.
Definition: Pythonizations.py:584
GaudiPython.GaudiAlgs.iAlgTool
iAlgTool
Definition: GaudiAlgs.py:68
GaudiKernel.ProcessJobOptions.importOptions
def importOptions(optsfile)
Definition: ProcessJobOptions.py:541
GaudiPython.Bindings._getFIDandEvents
def _getFIDandEvents(pfn)
Definition: Bindings.py:1335
gaudirun.type
type
Definition: gaudirun.py:160
compareRootHistos.state
def state
Definition: compareRootHistos.py:500
IOTest.start
def start
Definition: IOTest.py:113
GaudiKernel.Configurable.expandvars
def expandvars(data)
Definition: Configurable.py:73
GaudiPython.Pythonizations.items
items
Definition: Pythonizations.py:546