The Gaudi Framework  master (1304469f)
Loading...
Searching...
No Matches
GaudiPython.Bindings.AppMgr Class Reference
Inheritance diagram for GaudiPython.Bindings.AppMgr:
Collaboration diagram for GaudiPython.Bindings.AppMgr:

Public Member Functions

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

Public Attributes

str JobOptionsType = "NONE"
 
int OutputLevel = 3
 
 exit = True
 
 ExtSvc
 
 topAlg = names
 

Static Public Attributes

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

Protected Attributes

 _appmgr
 
 _exit_called
 
- Protected Attributes inherited from GaudiPython.Bindings.iService
 _isvc
 
- Protected Attributes inherited from GaudiPython.Bindings.iProperty
 _ip
 
 _svcloc
 
 _name
 

Private Attributes

 __dict__
 

Detailed Description

Definition at line 887 of file Bindings.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 910 of file Bindings.py.

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__()

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__()

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__()

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()

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()

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()

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()

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()

GaudiPython.Bindings.AppMgr.configure ( self)

Definition at line 1251 of file Bindings.py.

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

◆ createSvc()

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()

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()

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()

GaudiPython.Bindings.AppMgr.detsvc ( self)

Definition at line 1096 of file Bindings.py.

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

◆ evtsel()

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()

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()

GaudiPython.Bindings.AppMgr.execute ( self)

Definition at line 1274 of file Bindings.py.

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

◆ executeEvent()

GaudiPython.Bindings.AppMgr.executeEvent ( self)

Definition at line 1271 of file Bindings.py.

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

◆ exit()

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()

GaudiPython.Bindings.AppMgr.filerecordsvc ( self)

Definition at line 1099 of file Bindings.py.

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

◆ FSMState()

GaudiPython.Bindings.AppMgr.FSMState ( self)

Definition at line 1040 of file Bindings.py.

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

◆ histsvc()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

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()

GaudiPython.Bindings.AppMgr.state ( self)

Definition at line 1037 of file Bindings.py.

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

◆ targetFSMState()

GaudiPython.Bindings.AppMgr.targetFSMState ( self)

Definition at line 1043 of file Bindings.py.

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

◆ terminate()

GaudiPython.Bindings.AppMgr.terminate ( self)

Definition at line 1257 of file Bindings.py.

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

◆ tool()

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()

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

◆ __dict__

GaudiPython.Bindings.AppMgr.__dict__
private

Definition at line 1033 of file Bindings.py.

◆ _appmgr

GaudiPython.Bindings.AppMgr._appmgr
protected

Definition at line 945 of file Bindings.py.

◆ _exit_called

GaudiPython.Bindings.AppMgr._exit_called
protected

Definition at line 1321 of file Bindings.py.

◆ detSvc

GaudiPython.Bindings.AppMgr.detSvc = detsvc
static

Definition at line 1341 of file Bindings.py.

◆ evtSel

GaudiPython.Bindings.AppMgr.evtSel = evtsel
static

Definition at line 1340 of file Bindings.py.

◆ evtSvc

GaudiPython.Bindings.AppMgr.evtSvc = evtsvc
static

Definition at line 1337 of file Bindings.py.

◆ exit

GaudiPython.Bindings.AppMgr.exit = True

Definition at line 1009 of file Bindings.py.

◆ ExtSvc

GaudiPython.Bindings.AppMgr.ExtSvc

Definition at line 1114 of file Bindings.py.

◆ histSvc

GaudiPython.Bindings.AppMgr.histSvc = histsvc
static

Definition at line 1338 of file Bindings.py.

◆ JobOptionsType

str GaudiPython.Bindings.AppMgr.JobOptionsType = "NONE"

Definition at line 948 of file Bindings.py.

◆ ntupleSvc

GaudiPython.Bindings.AppMgr.ntupleSvc = ntuplesvc
static

Definition at line 1339 of file Bindings.py.

◆ OutputLevel

int GaudiPython.Bindings.AppMgr.OutputLevel = 3

Definition at line 959 of file Bindings.py.

◆ partSvc

GaudiPython.Bindings.AppMgr.partSvc = partsvc
static

Definition at line 1343 of file Bindings.py.

◆ toolSvc

GaudiPython.Bindings.AppMgr.toolSvc = toolsvc
static

Definition at line 1342 of file Bindings.py.

◆ topAlg

GaudiPython.Bindings.AppMgr.topAlg = names

Definition at line 1163 of file Bindings.py.


The documentation for this class was generated from the following file: