The Gaudi Framework  master (594c33fa)
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

 evtSvc
 
 histSvc
 
 ntupleSvc
 
 evtSel
 
 detSvc
 
 toolSvc
 
 partSvc
 

Detailed Description

Definition at line 887 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 910 of file Bindings.py.

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

◆ __del__()

def GaudiPython.Bindings.AppMgr.__del__ (   self)

Definition at line 1334 of file Bindings.py.

1334  def __del__(self):
1335  self.exit()
1336 

Member Function Documentation

◆ __new__()

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

Definition at line 888 of file Bindings.py.

888  def __new__(cls, *args, **kwargs):
889  global _gaudi
890  if not _gaudi:
891  newobj = object.__new__(cls)
892  cls.__init__(newobj, *args, **kwargs)
893  _gaudi = newobj
894  return _gaudi
895 

◆ __reset__()

def GaudiPython.Bindings.AppMgr.__reset__ (   self)

Definition at line 896 of file Bindings.py.

896  def __reset__(self):
897  global _gaudi
898  # Stop, Finalize and Terminate the current AppMgr
899  self.exit()
900  # release interfaces
901  self._evtpro.release()
902  self._svcloc.release()
903  self._appmgr.release()
904  # Reset the C++ globals
905  gbl.Gaudi.setInstance(makeNullPointer("ISvcLocator"))
906  gbl.Gaudi.setInstance(makeNullPointer("IAppMgrUI"))
907  # Reset the Python global
908  _gaudi = None
909 

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

1133  def addAlgorithm(self, alg):
1134  """Add an Algorithm to the list of Top algorithms. It can be either a instance of
1135  an Algorithm class or it name"""
1136  if isinstance(alg, str):
1137  self.topAlg += [alg]
1138  else:
1139  self.pyalgorithms.append(alg)
1140  setOwnership(alg, 0)
1141  if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED:
1142  alg.sysInitialize()
1143  if self.targetFSMState() == Gaudi.StateMachine.RUNNING:
1144  alg.sysStart()
1145  self.topAlg += [alg.name()]
1146 

◆ algorithm()

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

Definition at line 1063 of file Bindings.py.

1063  def algorithm(self, name, createIf=False):
1064  alg = Helper.algorithm(self._algmgr, name, createIf)
1065  if not alg:
1066  return iAlgorithm(name, alg)
1067  else:
1068  return iAlgorithm(alg.name(), alg)
1069 

◆ algorithms()

def GaudiPython.Bindings.AppMgr.algorithms (   self)

Definition at line 1070 of file Bindings.py.

1070  def algorithms(self):
1071  l = self._algmgr.getAlgorithms()
1072  return [a.name() for a in l]
1073 

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

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

◆ configure()

def GaudiPython.Bindings.AppMgr.configure (   self)

Definition at line 1251 of file Bindings.py.

1251  def configure(self):
1252  return self._appmgr.configure()
1253 

◆ createSvc()

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

Definition at line 1056 of file Bindings.py.

1056  def createSvc(self, name):
1057  return Helper.service(self._svcloc, name, True)
1058 

◆ datasvc()

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

Definition at line 1085 of file Bindings.py.

1085  def datasvc(self, name):
1086  if self.state() == Gaudi.StateMachine.CONFIGURED:
1087  self.initialize()
1088  svc = Helper.service(self._svcloc, name)
1089  return iDataSvc(name, svc)
1090 

◆ declSvcType()

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

Definition at line 1053 of file Bindings.py.

1053  def declSvcType(self, svcname, svctype):
1054  self._svcmgr.declareSvcType(svcname, svctype)
1055 

◆ detsvc()

def GaudiPython.Bindings.AppMgr.detsvc (   self)

Definition at line 1096 of file Bindings.py.

1096  def detsvc(self):
1097  return self.datasvc("DetectorDataSvc")
1098 

◆ evtsel()

def GaudiPython.Bindings.AppMgr.evtsel (   self)

Definition at line 1102 of file Bindings.py.

1102  def evtsel(self):
1103  if self.state() == Gaudi.StateMachine.CONFIGURED:
1104  self.initialize()
1105  if not hasattr(self, "_evtsel"):
1106  self.__dict__["_evtsel"] = iEventSelector()
1107  return self._evtsel
1108 

◆ evtsvc()

def GaudiPython.Bindings.AppMgr.evtsvc (   self)

Definition at line 1091 of file Bindings.py.

1091  def evtsvc(self):
1092  svc = self.datasvc("EventDataSvc")
1093  svc.selectOnlyStore() # in case of GaudiHive, check there is a single store and selects it
1094  return svc
1095 

◆ execute()

def GaudiPython.Bindings.AppMgr.execute (   self)

Definition at line 1274 of file Bindings.py.

1274  def execute(self):
1275  return self._evtpro.executeEvent()
1276 

◆ executeEvent()

def GaudiPython.Bindings.AppMgr.executeEvent (   self)

Definition at line 1271 of file Bindings.py.

1271  def executeEvent(self):
1272  return self._evtpro.executeEvent()
1273 

◆ exit()

def GaudiPython.Bindings.AppMgr.exit (   self)

Definition at line 1319 of file Bindings.py.

1319  def exit(self):
1320  # Protection against multiple calls to exit() if the finalization fails
1321  if not self._exit_called:
1322  self.__dict__["_exit_called"] = True
1323  Gaudi = self._gaudi_ns
1324  if self.FSMState() == Gaudi.StateMachine.RUNNING:
1325  self._appmgr.stop().ignore()
1326  if self.FSMState() == Gaudi.StateMachine.INITIALIZED:
1327  self._appmgr.finalize().ignore()
1328  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1329  self._appmgr.terminate()
1330  return SUCCESS
1331 

◆ filerecordsvc()

def GaudiPython.Bindings.AppMgr.filerecordsvc (   self)

Definition at line 1099 of file Bindings.py.

1099  def filerecordsvc(self):
1100  return self.datasvc("FileRecordDataSvc")
1101 

◆ FSMState()

def GaudiPython.Bindings.AppMgr.FSMState (   self)

Definition at line 1040 of file Bindings.py.

1040  def FSMState(self):
1041  return self._isvc.FSMState()
1042 

◆ histsvc()

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

Definition at line 1109 of file Bindings.py.

1109  def histsvc(self, name="HistogramDataSvc"):
1110  svc = Helper.service(self._svcloc, name)
1111  return iHistogramSvc(name, svc)
1112 

◆ ntuplesvc()

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

Definition at line 1113 of file Bindings.py.

1113  def ntuplesvc(self, name="NTupleSvc"):
1114  if name not in self.ExtSvc:
1115  self.ExtSvc += [name]
1116  # if self.HistogramPersistency == 'NONE' : self.HistogramPersistency = 'ROOT'
1117  svc = Helper.service(self._svcloc, name, True)
1118  return iNTupleSvc(name, svc)
1119 

◆ opts()

def GaudiPython.Bindings.AppMgr.opts (   self)

Definition at line 1032 of file Bindings.py.

1032  def opts(self):
1033  if "_svcloc" in self.__dict__:
1034  return self._svcloc.getOptsSvc()
1035  return None
1036 

◆ partsvc()

def GaudiPython.Bindings.AppMgr.partsvc (   self)

Definition at line 1120 of file Bindings.py.

1120  def partsvc(self):
1121  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1122  self.initialize()
1123  svc = Helper.service(self._svcloc, "ParticlePropertySvc")
1124  return InterfaceCast(gbl.IParticlePropertySvc)(svc)
1125 

◆ printAlgsSequences()

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

Definition at line 1177 of file Bindings.py.

1177  def printAlgsSequences(self):
1178  """
1179  Print the sequence of Algorithms.
1180  """
1181 
1182  def printAlgo(algName, appMgr, prefix=" "):
1183  print(prefix + algName)
1184  alg = appMgr.algorithm(algName.split("/")[-1])
1185  prop = alg.properties()
1186  if "Members" in prop:
1187  subs = prop["Members"].value()
1188  for i in subs:
1189  printAlgo(i.strip('"'), appMgr, prefix + " ")
1190 
1191  mp = self.properties()
1192  prefix = "ApplicationMgr SUCCESS "
1193  print(
1194  prefix
1195  + "****************************** Algorithm Sequence ****************************"
1196  )
1197  for i in mp["TopAlg"].value():
1198  printAlgo(i, self, prefix)
1199  print(
1200  prefix
1201  + "******************************************************************************"
1202  )
1203 

◆ property()

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

Definition at line 1077 of file Bindings.py.

1077  def property(self, name):
1078  if name in self.algorithms():
1079  return self.algorithm(name)
1080  elif name in self.services():
1081  return self.service(name)
1082  else:
1083  return iProperty(name)
1084 

◆ readOptions()

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

Definition at line 1130 of file Bindings.py.

1130  def readOptions(self, file):
1131  return self.opts.readOptions(file)
1132 

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

1165  def removeAlgorithm(self, alg):
1166  """Remove an Algorithm to the list of Top algorithms. It can be either a instance of
1167  an Algorithm class or it name"""
1168  tmp = self.topAlg
1169  if isinstance(alg, str):
1170  tmp.remove(alg)
1171  else:
1172  tmp.remove(alg.name())
1173  self.pyalgorithms.remove(alg)
1174  setOwnership(alg, 1)
1175  self.topAlg = tmp
1176 

◆ run()

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

Definition at line 1260 of file Bindings.py.

1260  def run(self, n):
1261  if self.FSMState() == Gaudi.StateMachine.CONFIGURED:
1262  sc = self.initialize()
1263  if sc.isFailure() or self.ReturnCode != 0:
1264  return sc
1265  if self.FSMState() == Gaudi.StateMachine.INITIALIZED:
1266  sc = self.start()
1267  if sc.isFailure() or self.ReturnCode != 0:
1268  return sc
1269  return self._evtpro.executeRun(n)
1270 

◆ runSelectedEvents()

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

Definition at line 1277 of file Bindings.py.

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

◆ service()

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

Definition at line 1046 of file Bindings.py.

1046  def service(self, name, interface=None):
1047  svc = Helper.service(self._svcloc, name)
1048  if interface:
1049  return InterfaceCast(interface)(svc)
1050  else:
1051  return iService(name, svc)
1052 

◆ services()

def GaudiPython.Bindings.AppMgr.services (   self)

Definition at line 1059 of file Bindings.py.

1059  def services(self):
1060  l = self._svcloc.getServices()
1061  return [s.name() for s in l]
1062 

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

1147  def setAlgorithms(self, algs):
1148  """Set the list of Top Algorithms.
1149  It can be an individual of a list of algorithms names or instances"""
1150  if not isinstance(algs, list):
1151  algs = [algs]
1152  names = []
1153  for alg in algs:
1154  if isinstance(alg, str):
1155  names.append(alg)
1156  else:
1157  self.pyalgorithms.append(alg)
1158  if self.targetFSMState() >= Gaudi.StateMachine.INITIALIZED:
1159  alg.sysInitialize()
1160  if self.targetFSMState() == Gaudi.StateMachine.RUNNING:
1161  alg.sysStart()
1162  names.append(alg.name())
1163  self.topAlg = names
1164 

◆ start()

def GaudiPython.Bindings.AppMgr.start (   self)

Reimplemented from GaudiPython.Bindings.iService.

Definition at line 1254 of file Bindings.py.

1254  def start(self):
1255  return self._appmgr.start()
1256 

◆ state()

def GaudiPython.Bindings.AppMgr.state (   self)

Definition at line 1037 of file Bindings.py.

1037  def state(self):
1038  return self._isvc.FSMState()
1039 

◆ targetFSMState()

def GaudiPython.Bindings.AppMgr.targetFSMState (   self)

Definition at line 1043 of file Bindings.py.

1043  def targetFSMState(self):
1044  return self._isvc.targetFSMState()
1045 

◆ terminate()

def GaudiPython.Bindings.AppMgr.terminate (   self)

Definition at line 1257 of file Bindings.py.

1257  def terminate(self):
1258  return self._appmgr.terminate()
1259 

◆ tool()

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

Definition at line 1074 of file Bindings.py.

1074  def tool(self, name):
1075  return iAlgTool(name)
1076 

◆ toolsvc()

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

Definition at line 1126 of file Bindings.py.

1126  def toolsvc(self, name="ToolSvc"):
1127  svc = Helper.service(self._svcloc, name, True)
1128  return iToolSvc(name, svc)
1129 

Member Data Documentation

◆ detSvc

GaudiPython.Bindings.AppMgr.detSvc
static

Definition at line 1341 of file Bindings.py.

◆ evtSel

GaudiPython.Bindings.AppMgr.evtSel
static

Definition at line 1340 of file Bindings.py.

◆ evtSvc

GaudiPython.Bindings.AppMgr.evtSvc
static

Definition at line 1337 of file Bindings.py.

◆ histSvc

GaudiPython.Bindings.AppMgr.histSvc
static

Definition at line 1338 of file Bindings.py.

◆ JobOptionsType

GaudiPython.Bindings.AppMgr.JobOptionsType

Definition at line 941 of file Bindings.py.

◆ ntupleSvc

GaudiPython.Bindings.AppMgr.ntupleSvc
static

Definition at line 1339 of file Bindings.py.

◆ OutputLevel

GaudiPython.Bindings.AppMgr.OutputLevel

Definition at line 952 of file Bindings.py.

◆ partSvc

GaudiPython.Bindings.AppMgr.partSvc
static

Definition at line 1343 of file Bindings.py.

◆ toolSvc

GaudiPython.Bindings.AppMgr.toolSvc
static

Definition at line 1342 of file Bindings.py.

◆ topAlg

GaudiPython.Bindings.AppMgr.topAlg

Definition at line 1163 of file Bindings.py.


The documentation for this class was generated from the following file:
GaudiPython.Bindings.makeNullPointer
makeNullPointer
Definition: Bindings.py:129
GaudiAlg.Algs.iAlgTool
iAlgTool
Definition: Algs.py:67
conf.release
string release
Definition: conf.py:27
GaudiPartProp.Service.InterfaceCast
InterfaceCast
Definition: Service.py:40
GaudiPython.Bindings.setOwnership
setOwnership
Definition: Bindings.py:130
IOTest.start
start
Definition: IOTest.py:110
GaudiAlg.Algs.iAlgorithm
iAlgorithm
Definition: Algs.py:66
GaudiKernel.Proxy.getNeededConfigurables
getNeededConfigurables
Definition: Proxy.py:30
prepareBenchmark.config
config
Definition: prepareBenchmark.py:43
bug_34121.tool
tool
Definition: bug_34121.py:18
gaudirun.opts
opts
Definition: gaudirun.py:336
GaudiKernel.ProcessJobOptions
Definition: ProcessJobOptions.py:1
GaudiPython.Pythonizations.execute
execute
Definition: Pythonizations.py:578
GaudiPython.Pythonizations.executeEvent
executeEvent
Helpers for re-entrant interfaces.
Definition: Pythonizations.py:574
GaudiKernel.ProcessJobOptions.importOptions
def importOptions(optsfile)
Definition: ProcessJobOptions.py:541
GaudiPython.Bindings._getFIDandEvents
def _getFIDandEvents(pfn)
Definition: Bindings.py:1349
event_timeout_check.algorithms
algorithms
Definition: event_timeout_check.py:40
ExtendedProperties.configure
def configure(gaudi=None)
Definition: ExtendedProperties.py:40
GaudiPartProp.Service.iService
iService
Definition: Service.py:38
compareRootHistos.state
state
Definition: compareRootHistos.py:496
GaudiKernel.Configurable.expandvars
def expandvars(data)
Definition: Configurable.py:77