Specialist execution class for merging NTUPLE files.
More...
|
def | preExecute (self, input=set(), output=set()) |
|
def | exe (self) |
|
def | exe (self, value) |
|
def | exeArgs (self) |
|
def | exeArgs (self, value) |
|
def | execute (self) |
|
def | postExecute (self) |
|
def | validate (self) |
|
def | inData (self) |
|
def | inData (self, value) |
|
def | outData (self) |
|
def | outData (self, value) |
|
def | myMerger (self) |
| Now define properties for these data members. More...
|
|
def | name (self) |
|
def | name (self, value) |
|
def | substep (self) |
|
def | trf (self) |
|
def | trf (self, value) |
|
def | inDataUpdate (self, value) |
|
def | outDataUpdate (self, value) |
|
def | input (self) |
|
def | output (self) |
|
def | extraMetadata (self) |
|
def | hasExecuted (self) |
|
def | rc (self) |
|
def | errMsg (self) |
|
def | validation (self) |
|
def | validation (self, value) |
|
def | hasValidated (self) |
|
def | isValidated (self) |
|
def | first (self) |
|
def | preExeStartTimes (self) |
|
def | exeStartTimes (self) |
|
def | exeStopTimes (self) |
|
def | valStartTimes (self) |
|
def | valStopTimes (self) |
|
def | preExeCpuTime (self) |
|
def | preExeWallTime (self) |
|
def | cpuTime (self) |
|
def | usrTime (self) |
|
def | sysTime (self) |
|
def | wallTime (self) |
|
def | memStats (self) |
|
def | memAnalysis (self) |
|
def | postExeCpuTime (self) |
|
def | postExeWallTime (self) |
|
def | validationCpuTime (self) |
|
def | validationWallTime (self) |
|
def | cpuTimeTotal (self) |
|
def | wallTimeTotal (self) |
|
def | eventCount (self) |
|
def | reSimEvent (self) |
|
def | athenaMP (self) |
|
def | dbMonitor (self) |
|
def | setPreExeStart (self) |
|
def | setValStart (self) |
|
def | doAll (self, input=set(), output=set()) |
| Convenience function. More...
|
|
Specialist execution class for merging NTUPLE files.
Definition at line 2110 of file trfExe.py.
◆ _buildStandardCommand()
def python.trfExe.scriptExecutor._buildStandardCommand |
( |
|
self | ) |
|
|
privateinherited |
Definition at line 705 of file trfExe.py.
705 def _buildStandardCommand(self):
707 self._cmd = [self.exe, ]
709 raise trfExceptions.TransformExecutionException(trfExit.nameToCode(
'TRF_EXEC_SETUP_FAIL'),
710 'No executor set in {0}'.
format(self.__class__.__name__))
711 for arg
in self.exeArgs:
712 if arg
in self.conf.argdict:
716 if isinstance(self.conf.argdict[arg].value, list):
717 self._cmd.
extend([
str(v)
for v
in self.conf.argdict[arg].value])
719 self._cmd.
append(
str(self.conf.argdict[arg].value))
◆ athenaMP()
def python.trfExe.transformExecutor.athenaMP |
( |
|
self | ) |
|
|
inherited |
Definition at line 451 of file trfExe.py.
452 return self._athenaMP
◆ cpuTime()
def python.trfExe.transformExecutor.cpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 365 of file trfExe.py.
366 if self._exeStart
and self._exeStop:
◆ cpuTimeTotal()
def python.trfExe.transformExecutor.cpuTimeTotal |
( |
|
self | ) |
|
|
inherited |
Definition at line 429 of file trfExe.py.
429 def cpuTimeTotal(self):
430 if self._preExeStart
and self._valStop:
431 return calcCpuTime(self._preExeStart, self._valStop)
◆ dbMonitor()
def python.trfExe.transformExecutor.dbMonitor |
( |
|
self | ) |
|
|
inherited |
Definition at line 455 of file trfExe.py.
456 return self._dbMonitor
◆ doAll()
def python.trfExe.transformExecutor.doAll |
( |
|
self, |
|
|
|
input = set() , |
|
|
|
output = set() |
|
) |
| |
|
inherited |
Convenience function.
Definition at line 498 of file trfExe.py.
498 def doAll(self, input=set(), output=
set()):
499 self.preExecute(input, output)
◆ errMsg()
def python.trfExe.transformExecutor.errMsg |
( |
|
self | ) |
|
|
inherited |
◆ eventCount()
def python.trfExe.transformExecutor.eventCount |
( |
|
self | ) |
|
|
inherited |
Definition at line 443 of file trfExe.py.
443 def eventCount(self):
444 return self._eventCount
◆ exe() [1/2]
def python.trfExe.scriptExecutor.exe |
( |
|
self | ) |
|
|
inherited |
◆ exe() [2/2]
def python.trfExe.scriptExecutor.exe |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 644 of file trfExe.py.
644 def exe(self, value):
646 self._extraMetadata[
'script'] = value
◆ exeArgs() [1/2]
def python.trfExe.scriptExecutor.exeArgs |
( |
|
self | ) |
|
|
inherited |
◆ exeArgs() [2/2]
def python.trfExe.scriptExecutor.exeArgs |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 653 of file trfExe.py.
653 def exeArgs(self, value):
654 self._exeArgs = value
◆ execute()
def python.trfExe.scriptExecutor.execute |
( |
|
self | ) |
|
|
inherited |
Reimplemented from python.trfExe.transformExecutor.
Reimplemented in python.trfExe.bsMergeExecutor, and python.trfExe.POOLMergeExecutor.
Definition at line 722 of file trfExe.py.
723 self._hasExecuted =
True
724 msg.info(
'Starting execution of {0} ({1})'.
format(self._name, self._cmd))
726 self._exeStart = os.times()
727 msg.debug(
'exeStart time is {0}'.
format(self._exeStart))
728 if (
'execOnly' in self.conf.argdict
and self.conf.argdict[
'execOnly']
is True):
729 msg.info(
'execOnly flag is set - execution will now switch, replacing the transform')
730 os.execvp(self._cmd[0], self._cmd)
732 encargs = {
'encoding' :
'utf8'}
737 if self._alreadyInContainer
and self._containerSetup
is not None:
738 msg.info(
"chdir /srv to launch a nested container for the substep")
740 p = subprocess.Popen(self._cmd, shell =
False, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, bufsize = 1, **encargs)
742 if self._alreadyInContainer
and self._containerSetup
is not None:
743 msg.info(
"chdir {} after launching the nested container".
format(self._workdir))
744 os.chdir(self._workdir)
748 self._memSummaryFile =
'prmon.summary.' + self._name +
'.json'
749 self._memFullFile =
'prmon.full.' + self._name
750 memMonitorCommand = [
'prmon',
'--pid',
str(p.pid),
'--filename',
'prmon.full.' + self._name,
751 '--json-summary', self._memSummaryFile,
'--log-filename',
'prmon.' + self._name +
'.log',
753 mem_proc = subprocess.Popen(memMonitorCommand, shell =
False, close_fds=
True, **encargs)
755 except Exception
as e:
756 msg.warning(
'Failed to spawn memory monitor for {0}: {1}'.
format(self._name, e))
757 self._memMonitor =
False
759 while p.poll()
is None:
760 line = p.stdout.readline()
762 self._echologger.
info(line.rstrip())
764 for line
in p.stdout:
765 self._echologger.
info(line.rstrip())
767 self._rc = p.returncode
768 msg.info(
'%s executor returns %d', self._name, self._rc)
769 self._exeStop = os.times()
770 msg.debug(
'exeStop time is {0}'.
format(self._exeStop))
772 errMsg =
'Execution of {0} failed and raised OSError: {1}'.
format(self._cmd[0], e)
774 raise trfExceptions.TransformExecutionException(trfExit.nameToCode(
'TRF_EXEC'), errMsg)
778 mem_proc.send_signal(signal.SIGUSR1)
780 while (
not mem_proc.poll())
and countWait < 10:
◆ exeStartTimes()
def python.trfExe.transformExecutor.exeStartTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 335 of file trfExe.py.
335 def exeStartTimes(self):
336 return self._exeStart
◆ exeStopTimes()
def python.trfExe.transformExecutor.exeStopTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 339 of file trfExe.py.
339 def exeStopTimes(self):
◆ extraMetadata()
def python.trfExe.transformExecutor.extraMetadata |
( |
|
self | ) |
|
|
inherited |
Definition at line 291 of file trfExe.py.
291 def extraMetadata(self):
292 return self._extraMetadata
◆ first()
def python.trfExe.transformExecutor.first |
( |
|
self | ) |
|
|
inherited |
- Note
- At the moment only athenaExecutor sets this property, but that might be changed...
Definition at line 324 of file trfExe.py.
325 if hasattr(self,
'_first'):
◆ hasExecuted()
def python.trfExe.transformExecutor.hasExecuted |
( |
|
self | ) |
|
|
inherited |
Definition at line 295 of file trfExe.py.
295 def hasExecuted(self):
296 return self._hasExecuted
◆ hasValidated()
def python.trfExe.transformExecutor.hasValidated |
( |
|
self | ) |
|
|
inherited |
Definition at line 315 of file trfExe.py.
315 def hasValidated(self):
316 return self._hasValidated
◆ inData() [1/2]
def python.trfExe.transformExecutor.inData |
( |
|
self | ) |
|
|
inherited |
◆ inData() [2/2]
def python.trfExe.transformExecutor.inData |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 241 of file trfExe.py.
241 def inData(self, value):
242 self._inData =
set(value)
◆ inDataUpdate()
def python.trfExe.transformExecutor.inDataUpdate |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 244 of file trfExe.py.
244 def inDataUpdate(self, value):
246 if '_inData' in dir(self):
247 self._inData.
update(value)
◆ input()
def python.trfExe.transformExecutor.input |
( |
|
self | ) |
|
|
inherited |
- Note
- This returns the actual input data with which this executor ran (c.f.
inData
which returns all the possible data types this executor could run with)
Definition at line 275 of file trfExe.py.
277 if '_input' in dir(self):
◆ isValidated()
def python.trfExe.transformExecutor.isValidated |
( |
|
self | ) |
|
|
inherited |
Definition at line 319 of file trfExe.py.
319 def isValidated(self):
320 return self._isValidated
◆ memAnalysis()
def python.trfExe.transformExecutor.memAnalysis |
( |
|
self | ) |
|
|
inherited |
Definition at line 397 of file trfExe.py.
397 def memAnalysis(self):
398 return self._memLeakResult
◆ memStats()
def python.trfExe.transformExecutor.memStats |
( |
|
self | ) |
|
|
inherited |
Definition at line 393 of file trfExe.py.
394 return self._memStats
◆ myMerger()
def python.trfExe.transformExecutor.myMerger |
( |
|
self | ) |
|
|
inherited |
Now define properties for these data members.
Definition at line 206 of file trfExe.py.
207 return self._myMerger
◆ name() [1/2]
def python.trfExe.transformExecutor.name |
( |
|
self | ) |
|
|
inherited |
◆ name() [2/2]
def python.trfExe.transformExecutor.name |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
◆ outData() [1/2]
def python.trfExe.transformExecutor.outData |
( |
|
self | ) |
|
|
inherited |
◆ outData() [2/2]
def python.trfExe.transformExecutor.outData |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 261 of file trfExe.py.
261 def outData(self, value):
262 self._outData =
set(value)
◆ outDataUpdate()
def python.trfExe.transformExecutor.outDataUpdate |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 264 of file trfExe.py.
264 def outDataUpdate(self, value):
266 if '_outData' in dir(self):
267 self._outData.
update(value)
◆ output()
def python.trfExe.transformExecutor.output |
( |
|
self | ) |
|
|
inherited |
- Note
- This returns the actual output data with which this executor ran (c.f.
outData
which returns all the possible data types this executor could run with)
Definition at line 284 of file trfExe.py.
286 if '_output' in dir(self):
◆ postExeCpuTime()
def python.trfExe.transformExecutor.postExeCpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 401 of file trfExe.py.
401 def postExeCpuTime(self):
402 if self._exeStop
and self._valStart:
◆ postExecute()
def python.trfExe.scriptExecutor.postExecute |
( |
|
self | ) |
|
|
inherited |
◆ postExeWallTime()
def python.trfExe.transformExecutor.postExeWallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 408 of file trfExe.py.
408 def postExeWallTime(self):
409 if self._exeStop
and self._valStart:
◆ preExeCpuTime()
def python.trfExe.transformExecutor.preExeCpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 351 of file trfExe.py.
351 def preExeCpuTime(self):
352 if self._preExeStart
and self._exeStart:
353 return calcCpuTime(self._preExeStart, self._exeStart)
◆ preExecute()
def python.trfExe.NTUPMergeExecutor.preExecute |
( |
|
self, |
|
|
|
input = set() , |
|
|
|
output = set() |
|
) |
| |
Reimplemented from python.trfExe.scriptExecutor.
Definition at line 2112 of file trfExe.py.
2112 def preExecute(self, input = set(), output =
set()):
2113 self.setPreExeStart()
2114 msg.debug(
'[NTUP] Preparing for execution of {0} with inputs {1} and outputs {2}'.
format(self.name, input, output))
2117 if self._exe
is None:
2119 self._cmd = [self._exe,
"-f"]
2123 if len(output) != 1:
2124 raise trfExceptions.TransformExecutionException(trfExit.nameToCode(
'TRF_EXEC_SETUP_FAIL'),
2125 'One (and only one) output file must be given to {0} (got {1})'.
format(self.name, len(output)))
2126 outDataType =
list(output)[0]
2127 self._cmd.
append(self.conf.dataDictionary[outDataType].value[0])
2129 for dataType
in input:
2130 self._cmd.
extend(self.conf.dataDictionary[dataType].value)
2132 super(NTUPMergeExecutor, self).preExecute(input=input, output=output)
◆ preExeStartTimes()
def python.trfExe.transformExecutor.preExeStartTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 331 of file trfExe.py.
331 def preExeStartTimes(self):
332 return self._preExeStart
◆ preExeWallTime()
def python.trfExe.transformExecutor.preExeWallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 358 of file trfExe.py.
358 def preExeWallTime(self):
359 if self._preExeStart
and self._exeStart:
◆ rc()
def python.trfExe.transformExecutor.rc |
( |
|
self | ) |
|
|
inherited |
◆ reSimEvent()
def python.trfExe.transformExecutor.reSimEvent |
( |
|
self | ) |
|
|
inherited |
Definition at line 447 of file trfExe.py.
447 def reSimEvent(self):
448 return self._resimevents
◆ setPreExeStart()
def python.trfExe.transformExecutor.setPreExeStart |
( |
|
self | ) |
|
|
inherited |
Definition at line 460 of file trfExe.py.
460 def setPreExeStart(self):
461 if self._preExeStart
is None:
462 self._preExeStart = os.times()
463 msg.debug(
'preExeStart time is {0}'.
format(self._preExeStart))
◆ setValStart()
def python.trfExe.transformExecutor.setValStart |
( |
|
self | ) |
|
|
inherited |
Definition at line 465 of file trfExe.py.
465 def setValStart(self):
466 if self._valStart
is None:
467 self._valStart = os.times()
468 msg.debug(
'valStart time is {0}'.
format(self._valStart))
◆ substep()
def python.trfExe.transformExecutor.substep |
( |
|
self | ) |
|
|
inherited |
◆ sysTime()
def python.trfExe.transformExecutor.sysTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 379 of file trfExe.py.
380 if self._exeStart
and self._exeStop:
381 return self._exeStop[3] - self._exeStart[3]
◆ trf() [1/2]
def python.trfExe.transformExecutor.trf |
( |
|
self | ) |
|
|
inherited |
◆ trf() [2/2]
def python.trfExe.transformExecutor.trf |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
◆ usrTime()
def python.trfExe.transformExecutor.usrTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 372 of file trfExe.py.
373 if self._exeStart
and self._exeStop:
374 return self._exeStop[2] - self._exeStart[2]
◆ validate()
def python.trfExe.scriptExecutor.validate |
( |
|
self | ) |
|
|
inherited |
Reimplemented from python.trfExe.transformExecutor.
Reimplemented in python.trfExe.DQMPostProcessExecutor, python.trfExe.DQMergeExecutor, python.trfExe.optionalAthenaExecutor, and python.trfExe.athenaExecutor.
Definition at line 800 of file trfExe.py.
801 if self._valStart
is None:
802 self._valStart = os.times()
803 msg.debug(
'valStart time is {0}'.
format(self._valStart))
804 self._hasValidated =
True
808 msg.info(
'Executor {0} validated successfully (return code {1})'.
format(self._name, self._rc))
809 self._isValidated =
True
815 self._isValidated =
False
818 self._rc = 128 - self._rc
819 if trfExit.codeToSignalname(self._rc) !=
"":
820 self._errMsg =
'{0} got a {1} signal (exit code {2})'.
format(self._name, trfExit.codeToSignalname(self._rc), self._rc)
822 self._errMsg =
'Non-zero return code from %s (%d)' % (self._name, self._rc)
823 raise trfExceptions.TransformValidationException(trfExit.nameToCode(
'TRF_EXEC_FAIL'), self._errMsg)
827 if 'checkEventCount' in self.conf.argdict
and self.conf.argdict[
'checkEventCount'].returnMyValue(exe=self)
is False:
828 msg.info(
'Event counting for substep {0} is skipped'.
format(self.name))
830 checkcount=trfValidation.eventMatch(self)
832 self._eventCount = checkcount.eventCount
833 msg.info(
'Event counting for substep {0} passed'.
format(self.name))
835 self._valStop = os.times()
836 msg.debug(
'valStop time is {0}'.
format(self._valStop))
◆ validation() [1/2]
def python.trfExe.transformExecutor.validation |
( |
|
self | ) |
|
|
inherited |
Definition at line 307 of file trfExe.py.
308 return self._validation
◆ validation() [2/2]
def python.trfExe.transformExecutor.validation |
( |
|
self, |
|
|
|
value |
|
) |
| |
|
inherited |
Definition at line 311 of file trfExe.py.
312 self._validation = value
◆ validationCpuTime()
def python.trfExe.transformExecutor.validationCpuTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 415 of file trfExe.py.
415 def validationCpuTime(self):
416 if self._valStart
and self._valStop:
◆ validationWallTime()
def python.trfExe.transformExecutor.validationWallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 422 of file trfExe.py.
422 def validationWallTime(self):
423 if self._valStart
and self._valStop:
◆ valStartTimes()
def python.trfExe.transformExecutor.valStartTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 343 of file trfExe.py.
343 def valStartTimes(self):
344 return self._valStart
◆ valStopTimes()
def python.trfExe.transformExecutor.valStopTimes |
( |
|
self | ) |
|
|
inherited |
Definition at line 347 of file trfExe.py.
347 def valStopTimes(self):
◆ wallTime()
def python.trfExe.transformExecutor.wallTime |
( |
|
self | ) |
|
|
inherited |
Definition at line 386 of file trfExe.py.
387 if self._exeStart
and self._exeStop:
◆ wallTimeTotal()
def python.trfExe.transformExecutor.wallTimeTotal |
( |
|
self | ) |
|
|
inherited |
Definition at line 436 of file trfExe.py.
436 def wallTimeTotal(self):
437 if self._preExeStart
and self._valStop:
◆ _alreadyInContainer
python.trfExe.transformExecutor._alreadyInContainer |
|
privateinherited |
◆ _athenaConcurrentEvents
python.trfExe.transformExecutor._athenaConcurrentEvents |
|
privateinherited |
◆ _athenaMP
python.trfExe.transformExecutor._athenaMP |
|
privateinherited |
◆ _athenaMT
python.trfExe.transformExecutor._athenaMT |
|
privateinherited |
◆ _cmd
python.trfExe.NTUPMergeExecutor._cmd |
|
private |
◆ _containerSetup
python.trfExe.transformExecutor._containerSetup |
|
privateinherited |
◆ _dbMonitor
python.trfExe.transformExecutor._dbMonitor |
|
privateinherited |
◆ _echologger
python.trfExe.scriptExecutor._echologger |
|
privateinherited |
◆ _echoOutput
python.trfExe.scriptExecutor._echoOutput |
|
privateinherited |
- Note
- Query the environment for echo configuration Let the manual envars always win over auto-detected settings
Definition at line 631 of file trfExe.py.
◆ _echostream
python.trfExe.scriptExecutor._echostream |
|
privateinherited |
◆ _errMsg
python.trfExe.scriptExecutor._errMsg |
|
privateinherited |
◆ _eventCount
python.trfExe.scriptExecutor._eventCount |
|
privateinherited |
Check event counts (always do this by default) Do this here so that all script executors have this by default (covers most use cases with events)
Definition at line 832 of file trfExe.py.
◆ _exe
python.trfExe.NTUPMergeExecutor._exe |
|
private |
◆ _exeArgs
python.trfExe.scriptExecutor._exeArgs |
|
privateinherited |
◆ _exeLogFile
python.trfExe.scriptExecutor._exeLogFile |
|
privateinherited |
◆ _exeStart
python.trfExe.scriptExecutor._exeStart |
|
privateinherited |
◆ _exeStop
python.trfExe.scriptExecutor._exeStop |
|
privateinherited |
◆ _extraMetadata
python.trfExe.transformExecutor._extraMetadata |
|
privateinherited |
◆ _hasExecuted
python.trfExe.scriptExecutor._hasExecuted |
|
privateinherited |
◆ _hasValidated
python.trfExe.scriptExecutor._hasValidated |
|
privateinherited |
◆ _inData
python.trfExe.transformExecutor._inData |
|
privateinherited |
◆ _input
python.trfExe.scriptExecutor._input |
|
privateinherited |
◆ _isValidated
python.trfExe.scriptExecutor._isValidated |
|
privateinherited |
◆ _logFileName
python.trfExe.scriptExecutor._logFileName |
|
privateinherited |
- Note
- If an inherited class has set self._cmd leave it alone
Definition at line 670 of file trfExe.py.
◆ _memFullFile
python.trfExe.scriptExecutor._memFullFile |
|
privateinherited |
◆ _memLeakResult
python.trfExe.transformExecutor._memLeakResult |
|
privateinherited |
◆ _memMonitor
python.trfExe.scriptExecutor._memMonitor |
|
privateinherited |
◆ _memStats
python.trfExe.scriptExecutor._memStats |
|
privateinherited |
◆ _memSummaryFile
python.trfExe.scriptExecutor._memSummaryFile |
|
privateinherited |
◆ _myMerger
python.trfExe.transformExecutor._myMerger |
|
privateinherited |
◆ _name
python.trfExe.transformExecutor._name |
|
privateinherited |
◆ _outData
python.trfExe.transformExecutor._outData |
|
privateinherited |
◆ _output
python.trfExe.scriptExecutor._output |
|
privateinherited |
◆ _preExeStart
python.trfExe.transformExecutor._preExeStart |
|
privateinherited |
- Note
- Place holders for resource consumption. CPU and walltime are available for all executors but currently only athena is instrumented to fill in memory stats (and then only if PerfMonSD is enabled).
Definition at line 185 of file trfExe.py.
◆ _rc
python.trfExe.scriptExecutor._rc |
|
privateinherited |
◆ _resimevents
python.trfExe.transformExecutor._resimevents |
|
privateinherited |
◆ _trf
python.trfExe.transformExecutor._trf |
|
privateinherited |
◆ _validation
python.trfExe.transformExecutor._validation |
|
privateinherited |
◆ _valStart
python.trfExe.scriptExecutor._valStart |
|
privateinherited |
◆ _valStop
python.trfExe.scriptExecutor._valStop |
|
privateinherited |
◆ conf
python.trfExe.transformExecutor.conf |
|
inherited |
Executor configuration:
- Note
- that if conf and trf are
None
then we'll probably set the conf up later (this is allowed and expected to be done once the master transform has figured out what it's doing for this job)
Definition at line 162 of file trfExe.py.
◆ inData
python.trfExe.transformExecutor.inData |
|
inherited |
- Note
- Protect against _inData not yet being defined
-
Use normal setter
Definition at line 250 of file trfExe.py.
◆ outData
python.trfExe.transformExecutor.outData |
|
inherited |
- Note
- Protect against _outData not yet being defined
-
Use normal setter
Definition at line 270 of file trfExe.py.
The documentation for this class was generated from the following file:
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.