GaudiMP.GMPBase.GMPComponent Class Reference
Inheritance diagram for GaudiMP.GMPBase.GMPComponent:
Collaboration diagram for GaudiMP.GMPBase.GMPComponent:

Public Member Functions

def __init__ (self, nodeType, nodeID, queues, events, params, subworkers)
 
def Start (self)
 
def Engine (self)
 
def processConfiguration (self)
 
def SetupGaudiPython (self)
 
def StartGaudiPython (self)
 
def LoadTES (self, tbufferfile)
 
def getEventNumber (self)
 
def IdentifyWriters (self)
 
def dumpHistograms (self)
 
def Initialize (self)
 
def Finalize (self)
 
def Report (self)
 
def __init__ (self, nodeType, nodeID, queues, events, params, subworkers)
 
def Start (self)
 
def Engine (self)
 
def processConfiguration (self)
 
def SetupGaudiPython (self)
 
def StartGaudiPython (self)
 
def LoadTES (self, tbufferfile)
 
def getEventNumber (self)
 
def IdentifyWriters (self)
 
def dumpHistograms (self)
 
def Initialize (self)
 
def Finalize (self)
 
def Report (self)
 

Public Attributes

 nodeType
 
 finalEvent
 
 lastEvent
 
 log
 
 subworkers
 
 nodeID
 
 currentEvent
 
 queues
 
 num
 
 app
 
 evcom
 
 evcoms
 
 hq
 
 fq
 
 nIn
 
 nOut
 
 stat
 
 iTime
 
 rTime
 
 fTime
 
 firstEvTime
 
 tTime
 
 proc
 
 a
 
 evt
 
 hvt
 
 fsr
 
 inc
 
 pers
 
 ts
 
 TS
 
 cntr
 

Detailed Description

Definition at line 393 of file GMPBase.py.

Constructor & Destructor Documentation

def GaudiMP.GMPBase.GMPComponent.__init__ (   self,
  nodeType,
  nodeID,
  queues,
  events,
  params,
  subworkers 
)

Definition at line 400 of file GMPBase.py.

400  def __init__( self, nodeType, nodeID, queues, events, params, subworkers ) :
401  # declare a Gaudi MultiProcessing Node
402  # the nodeType is going to be one of Reader, Worker, Writer
403  # qPair is going to be a tuple of ( qin, qout )
404  # for sending and receiving
405  # if nodeType is "Writer", it will be a list of qPairs,
406  # as there's one queue-in from each Worker
407  #
408  # params is a tuple of (nWorkers, config, log)
409 
410  self.nodeType = nodeType
411  current_process().name = nodeType
412 
413  # Synchronisation Event() objects for keeping track of the system
414  self.initEvent, eventLoopSyncer, self.finalEvent = events
415  self.eventLoopSyncer, self.lastEvent = eventLoopSyncer # unpack tuple
416 
417  # necessary for knowledge of the system
418  self.nWorkers, self.sEvent, self.config, self.log = params
419  self.subworkers = subworkers
420  self.nodeID = nodeID
421 
422  # describe the state of the node by the current Event Number
423  self.currentEvent = None
424 
425  # Unpack the Queues : (events, histos, filerecords)
426  self.queues = queues
427  self.num = 0
428 
429  ks = self.config.keys()
430  self.app = None
431  list = ["Brunel", "DaVinci", "Boole", "Gauss"]
432  for k in list:
433  if k in ks: self.app = k
434 
def __init__(self, nodeType, nodeID, queues, events, params, subworkers)
Definition: GMPBase.py:400
def GaudiMP.GMPBase.GMPComponent.__init__ (   self,
  nodeType,
  nodeID,
  queues,
  events,
  params,
  subworkers 
)

Definition at line 400 of file GMPBase.py.

400  def __init__( self, nodeType, nodeID, queues, events, params, subworkers ) :
401  # declare a Gaudi MultiProcessing Node
402  # the nodeType is going to be one of Reader, Worker, Writer
403  # qPair is going to be a tuple of ( qin, qout )
404  # for sending and receiving
405  # if nodeType is "Writer", it will be a list of qPairs,
406  # as there's one queue-in from each Worker
407  #
408  # params is a tuple of (nWorkers, config, log)
409 
410  self.nodeType = nodeType
411  current_process().name = nodeType
412 
413  # Synchronisation Event() objects for keeping track of the system
414  self.initEvent, eventLoopSyncer, self.finalEvent = events
415  self.eventLoopSyncer, self.lastEvent = eventLoopSyncer # unpack tuple
416 
417  # necessary for knowledge of the system
418  self.nWorkers, self.sEvent, self.config, self.log = params
419  self.subworkers = subworkers
420  self.nodeID = nodeID
421 
422  # describe the state of the node by the current Event Number
423  self.currentEvent = None
424 
425  # Unpack the Queues : (events, histos, filerecords)
426  self.queues = queues
427  self.num = 0
428 
429  ks = self.config.keys()
430  self.app = None
431  list = ["Brunel", "DaVinci", "Boole", "Gauss"]
432  for k in list:
433  if k in ks: self.app = k
434 
def __init__(self, nodeType, nodeID, queues, events, params, subworkers)
Definition: GMPBase.py:400

Member Function Documentation

def GaudiMP.GMPBase.GMPComponent.dumpHistograms (   self)
Method used by the GaudiPython algorithm CollectHistos
to obtain a dictionary of form { path : object }
representing the Histogram Store

Definition at line 586 of file GMPBase.py.

586  def dumpHistograms( self ) :
587  '''
588  Method used by the GaudiPython algorithm CollectHistos
589  to obtain a dictionary of form { path : object }
590  representing the Histogram Store
591  '''
592  nlist = self.hvt.getHistoNames( )
593  histDict = {}
594  objects = 0 ; histos = 0
595  if nlist :
596  for n in nlist :
597  o = self.hvt[ n ]
598  if type(o) in aidatypes :
599  o = aida2root(o)
600  histos += 1
601  else :
602  objects += 1
603  histDict[ n ] = o
604  else :
605  print 'WARNING : no histograms to recover?'
606  return histDict
607 
string type
Definition: gaudirun.py:151
def GaudiMP.GMPBase.GMPComponent.dumpHistograms (   self)
Method used by the GaudiPython algorithm CollectHistos
to obtain a dictionary of form { path : object }
representing the Histogram Store

Definition at line 586 of file GMPBase.py.

586  def dumpHistograms( self ) :
587  '''
588  Method used by the GaudiPython algorithm CollectHistos
589  to obtain a dictionary of form { path : object }
590  representing the Histogram Store
591  '''
592  nlist = self.hvt.getHistoNames( )
593  histDict = {}
594  objects = 0 ; histos = 0
595  if nlist :
596  for n in nlist :
597  o = self.hvt[ n ]
598  if type(o) in aidatypes :
599  o = aida2root(o)
600  histos += 1
601  else :
602  objects += 1
603  histDict[ n ] = o
604  else :
605  print 'WARNING : no histograms to recover?'
606  return histDict
607 
string type
Definition: gaudirun.py:151
def GaudiMP.GMPBase.GMPComponent.Engine (   self)

Definition at line 483 of file GMPBase.py.

483  def Engine( self ) :
484  # This will be the method carried out by the Node
485  # Different for all
486  pass
487 
def GaudiMP.GMPBase.GMPComponent.Engine (   self)

Definition at line 483 of file GMPBase.py.

483  def Engine( self ) :
484  # This will be the method carried out by the Node
485  # Different for all
486  pass
487 
def GaudiMP.GMPBase.GMPComponent.Finalize (   self)

Definition at line 624 of file GMPBase.py.

624  def Finalize( self ) :
625  start = time.time()
626  self.a.stop()
627  self.a.finalize()
628  self.log.info( '%s-%i Finalized'%(self.nodeType, self.nodeID) )
629  self.finalEvent.set()
630  self.fTime = time.time() - start
631 
def GaudiMP.GMPBase.GMPComponent.Finalize (   self)

Definition at line 624 of file GMPBase.py.

624  def Finalize( self ) :
625  start = time.time()
626  self.a.stop()
627  self.a.finalize()
628  self.log.info( '%s-%i Finalized'%(self.nodeType, self.nodeID) )
629  self.finalEvent.set()
630  self.fTime = time.time() - start
631 
def GaudiMP.GMPBase.GMPComponent.getEventNumber (   self)

Definition at line 522 of file GMPBase.py.

522  def getEventNumber( self ) :
523  if self.app != 'Gauss':
524  # Using getList or getHistoNames can result in the EventSelector
525  # re-initialising connection to RootDBase, which costs a lot of
526  # time... try to build a set of Header paths??
527 
528  # First Attempt : Unpacked Event Data
529  lst = [ '/Event/Gen/Header',
530  '/Event/Rec/Header' ]
531  for l in lst :
532  path = l
533  try :
534  n = self.evt[path].evtNumber()
535 
536  return n
537  except :
538  # No evt number at this path
539  continue
540 
541  # second attepmt : try DAQ/RawEvent data
542  # The Evt Number is in bank type 16, bank 0, data pt 4
543  try :
544  n = self.evt['/Event/DAQ/RawEvent'].banks(16)[0].data()[4]
545 
546  return n
547  except :
548  pass
549 
550  # Default Action
551  if self.nIn > 0 or self.nOut > 0 :
552  pass
553  else :
554  self.log.warning('Could not determine Event Number')
555  return -1
556  else:
557  if self.nodeID == -1:
558  self.num = self.num + 1
559 
560  return self.num
561 
def GaudiMP.GMPBase.GMPComponent.getEventNumber (   self)

Definition at line 522 of file GMPBase.py.

522  def getEventNumber( self ) :
523  if self.app != 'Gauss':
524  # Using getList or getHistoNames can result in the EventSelector
525  # re-initialising connection to RootDBase, which costs a lot of
526  # time... try to build a set of Header paths??
527 
528  # First Attempt : Unpacked Event Data
529  lst = [ '/Event/Gen/Header',
530  '/Event/Rec/Header' ]
531  for l in lst :
532  path = l
533  try :
534  n = self.evt[path].evtNumber()
535 
536  return n
537  except :
538  # No evt number at this path
539  continue
540 
541  # second attepmt : try DAQ/RawEvent data
542  # The Evt Number is in bank type 16, bank 0, data pt 4
543  try :
544  n = self.evt['/Event/DAQ/RawEvent'].banks(16)[0].data()[4]
545 
546  return n
547  except :
548  pass
549 
550  # Default Action
551  if self.nIn > 0 or self.nOut > 0 :
552  pass
553  else :
554  self.log.warning('Could not determine Event Number')
555  return -1
556  else:
557  if self.nodeID == -1:
558  self.num = self.num + 1
559 
560  return self.num
561 
def GaudiMP.GMPBase.GMPComponent.IdentifyWriters (   self)

Definition at line 562 of file GMPBase.py.

562  def IdentifyWriters( self ) :
563  #
564  # Identify Writers in the Configuration
565  #
566  d = {}
567  keys = [ "events", "records", "tuples", "histos" ]
568  for k in keys :
569  d[k] = []
570 
571  # Identify Writers and Classify
572  wkeys = WRITERTYPES.keys()
573  for v in self.config.values() :
574  if v.__class__.__name__ in wkeys :
575  writerType = WRITERTYPES[ v.__class__.__name__ ]
576  d[writerType].append( MiniWriter(v, writerType, self.config) )
577  if self.nodeID == 0 :
578  self.log.info('Writer Found : %s'%(v.name()))
579 
580  # Now Check for the Histogram Service
581  if 'HistogramPersistencySvc' in self.config.keys() :
582  hfile =self.config['HistogramPersistencySvc'].getProp('OutputFile')
583  d[ "histos" ].append( hfile )
584  return d
585 
def GaudiMP.GMPBase.GMPComponent.IdentifyWriters (   self)

Definition at line 562 of file GMPBase.py.

562  def IdentifyWriters( self ) :
563  #
564  # Identify Writers in the Configuration
565  #
566  d = {}
567  keys = [ "events", "records", "tuples", "histos" ]
568  for k in keys :
569  d[k] = []
570 
571  # Identify Writers and Classify
572  wkeys = WRITERTYPES.keys()
573  for v in self.config.values() :
574  if v.__class__.__name__ in wkeys :
575  writerType = WRITERTYPES[ v.__class__.__name__ ]
576  d[writerType].append( MiniWriter(v, writerType, self.config) )
577  if self.nodeID == 0 :
578  self.log.info('Writer Found : %s'%(v.name()))
579 
580  # Now Check for the Histogram Service
581  if 'HistogramPersistencySvc' in self.config.keys() :
582  hfile =self.config['HistogramPersistencySvc'].getProp('OutputFile')
583  d[ "histos" ].append( hfile )
584  return d
585 
def GaudiMP.GMPBase.GMPComponent.Initialize (   self)

Definition at line 608 of file GMPBase.py.

608  def Initialize( self ) :
609  start = time.time()
610  self.processConfiguration( )
611  self.SetupGaudiPython( )
612  self.initEvent.set()
613  self.StartGaudiPython( )
614 
615  if self.app == 'Gauss':
616 
617  tool = self.a.tool( "ToolSvc.EvtCounter" )
618  self.cntr = InterfaceCast( gbl.IEventCounter )( tool.getInterface() )
619  else:
620  self.cntr = None
621 
622  self.iTime = time.time() - start
623 
def processConfiguration(self)
Definition: GMPBase.py:488
def GaudiMP.GMPBase.GMPComponent.Initialize (   self)

Definition at line 608 of file GMPBase.py.

608  def Initialize( self ) :
609  start = time.time()
610  self.processConfiguration( )
611  self.SetupGaudiPython( )
612  self.initEvent.set()
613  self.StartGaudiPython( )
614 
615  if self.app == 'Gauss':
616 
617  tool = self.a.tool( "ToolSvc.EvtCounter" )
618  self.cntr = InterfaceCast( gbl.IEventCounter )( tool.getInterface() )
619  else:
620  self.cntr = None
621 
622  self.iTime = time.time() - start
623 
def processConfiguration(self)
Definition: GMPBase.py:488
def GaudiMP.GMPBase.GMPComponent.LoadTES (   self,
  tbufferfile 
)

Definition at line 516 of file GMPBase.py.

516  def LoadTES( self, tbufferfile ) :
517  root = gbl.DataObject()
518  setOwnership(root, False)
519  self.evt.setRoot( '/Event', root )
520  self.ts.loadBuffer(tbufferfile)
521 
def LoadTES(self, tbufferfile)
Definition: GMPBase.py:516
def GaudiMP.GMPBase.GMPComponent.LoadTES (   self,
  tbufferfile 
)

Definition at line 516 of file GMPBase.py.

516  def LoadTES( self, tbufferfile ) :
517  root = gbl.DataObject()
518  setOwnership(root, False)
519  self.evt.setRoot( '/Event', root )
520  self.ts.loadBuffer(tbufferfile)
521 
def LoadTES(self, tbufferfile)
Definition: GMPBase.py:516
def GaudiMP.GMPBase.GMPComponent.processConfiguration (   self)

Definition at line 488 of file GMPBase.py.

488  def processConfiguration( self ) :
489  # Different for all ; customize Configuration for multicore
490  pass
491 
def processConfiguration(self)
Definition: GMPBase.py:488
def GaudiMP.GMPBase.GMPComponent.processConfiguration (   self)

Definition at line 488 of file GMPBase.py.

488  def processConfiguration( self ) :
489  # Different for all ; customize Configuration for multicore
490  pass
491 
def processConfiguration(self)
Definition: GMPBase.py:488
def GaudiMP.GMPBase.GMPComponent.Report (   self)

Definition at line 632 of file GMPBase.py.

632  def Report( self ) :
633  self.log.name = "%s-%i Audit"%(self.nodeType, self.nodeID)
634  allTime = "Alive Time : %5.2f"%(self.tTime)
635  initTime = "Init Time : %5.2f"%(self.iTime)
636  frstTime = "1st Event Time : %5.2f"%(self.firstEvTime)
637  runTime = "Run Time : %5.2f"%(self.rTime)
638  finTime = "Finalise Time : %5.2f"%(self.fTime)
639  tup = ( allTime, initTime, frstTime, runTime, finTime )
640  for t in tup :
641  self.log.info( t )
642  self.log.name = "%s-%i"%(self.nodeType, self.nodeID)
643  # and report from the TESSerializer
644  self.TS.Report()
645 
646 # =============================================================================
647 
def GaudiMP.GMPBase.GMPComponent.Report (   self)

Definition at line 632 of file GMPBase.py.

632  def Report( self ) :
633  self.log.name = "%s-%i Audit"%(self.nodeType, self.nodeID)
634  allTime = "Alive Time : %5.2f"%(self.tTime)
635  initTime = "Init Time : %5.2f"%(self.iTime)
636  frstTime = "1st Event Time : %5.2f"%(self.firstEvTime)
637  runTime = "Run Time : %5.2f"%(self.rTime)
638  finTime = "Finalise Time : %5.2f"%(self.fTime)
639  tup = ( allTime, initTime, frstTime, runTime, finTime )
640  for t in tup :
641  self.log.info( t )
642  self.log.name = "%s-%i"%(self.nodeType, self.nodeID)
643  # and report from the TESSerializer
644  self.TS.Report()
645 
646 # =============================================================================
647 
def GaudiMP.GMPBase.GMPComponent.SetupGaudiPython (   self)

Definition at line 492 of file GMPBase.py.

492  def SetupGaudiPython( self ) :
493  # This method will initialize the GaudiPython Tools
494  # such as the AppMgr and so on
495  self.a = AppMgr()
496  if SMAPS :
497  from AlgSmapShot import SmapShot
498  smapsLog = self.nodeType+'-'+str(self.nodeID)+'.smp'
499  ss = SmapShot( logname=smapsLog )
500  self.a.addAlgorithm( ss )
501  self.evt = self.a.evtsvc()
502  self.hvt = self.a.histsvc()
503  self.fsr = self.a.filerecordsvc()
504  self.inc = self.a.service('IncidentSvc','IIncidentSvc')
505  self.pers = self.a.service( 'EventPersistencySvc', 'IAddressCreator' )
506  self.ts = gbl.GaudiMP.TESSerializer( self.evt._idp, self.pers )
507  self.TS = TESSerializer( self.ts, self.evt,
508  self.nodeType, self.nodeID, self.log )
509  return SUCCESS
510 
def GaudiMP.GMPBase.GMPComponent.SetupGaudiPython (   self)

Definition at line 492 of file GMPBase.py.

492  def SetupGaudiPython( self ) :
493  # This method will initialize the GaudiPython Tools
494  # such as the AppMgr and so on
495  self.a = AppMgr()
496  if SMAPS :
497  from AlgSmapShot import SmapShot
498  smapsLog = self.nodeType+'-'+str(self.nodeID)+'.smp'
499  ss = SmapShot( logname=smapsLog )
500  self.a.addAlgorithm( ss )
501  self.evt = self.a.evtsvc()
502  self.hvt = self.a.histsvc()
503  self.fsr = self.a.filerecordsvc()
504  self.inc = self.a.service('IncidentSvc','IIncidentSvc')
505  self.pers = self.a.service( 'EventPersistencySvc', 'IAddressCreator' )
506  self.ts = gbl.GaudiMP.TESSerializer( self.evt._idp, self.pers )
507  self.TS = TESSerializer( self.ts, self.evt,
508  self.nodeType, self.nodeID, self.log )
509  return SUCCESS
510 
def GaudiMP.GMPBase.GMPComponent.Start (   self)

Definition at line 435 of file GMPBase.py.

435  def Start( self ) :
436  # define the separate process
437  qPair, histq, fq = self.queues
438 
439  # Set up the Queue Mechanisms ( Event Communicators )
440  if self.nodeType == 'Reader' or self.nodeType == 'Worker' :
441  # Reader or Worker Node
442  qin, qout = qPair
443  self.evcom = EventCommunicator( self, qin, qout )
444  else :
445  # Writer : many queues in, no queue out
446  assert self.nodeType == 'Writer'
447  self.evcoms = []
448  qsin = qPair[0]
449  for q in qsin :
450  ec = EventCommunicator( self, q, None )
451  self.evcoms.append( ec )
452  # Histogram Queue
453  self.hq = histq
454  # FileRecords Queue
455  self.fq = fq
456 
457  # Universal Counters (available to all nodes)
458  # Use sensibly!!!
459  self.nIn = 0
460  self.nOut = 0
461 
462  # Status Flag (possibly remove later)
463  self.stat = SUCCESS
464 
465  # Set logger name
466  self.log.name = '%s-%i'%(self.nodeType, self.nodeID)
467 
468  # Heuristic variables
469  # time for init, run, final, firstEventTime, totalTime
470  self.iTime = 0.0
471  self.rTime = 0.0
472  self.fTime = 0.0
473  self.firstEvTime = 0.0
474  self.tTime = 0.0
475 
476  self.proc = Process( target=self.Engine )
477  # Fork and start the separate process
478  self.proc.start()
479 
480 
481 
482 
def GaudiMP.GMPBase.GMPComponent.Start (   self)

Definition at line 435 of file GMPBase.py.

435  def Start( self ) :
436  # define the separate process
437  qPair, histq, fq = self.queues
438 
439  # Set up the Queue Mechanisms ( Event Communicators )
440  if self.nodeType == 'Reader' or self.nodeType == 'Worker' :
441  # Reader or Worker Node
442  qin, qout = qPair
443  self.evcom = EventCommunicator( self, qin, qout )
444  else :
445  # Writer : many queues in, no queue out
446  assert self.nodeType == 'Writer'
447  self.evcoms = []
448  qsin = qPair[0]
449  for q in qsin :
450  ec = EventCommunicator( self, q, None )
451  self.evcoms.append( ec )
452  # Histogram Queue
453  self.hq = histq
454  # FileRecords Queue
455  self.fq = fq
456 
457  # Universal Counters (available to all nodes)
458  # Use sensibly!!!
459  self.nIn = 0
460  self.nOut = 0
461 
462  # Status Flag (possibly remove later)
463  self.stat = SUCCESS
464 
465  # Set logger name
466  self.log.name = '%s-%i'%(self.nodeType, self.nodeID)
467 
468  # Heuristic variables
469  # time for init, run, final, firstEventTime, totalTime
470  self.iTime = 0.0
471  self.rTime = 0.0
472  self.fTime = 0.0
473  self.firstEvTime = 0.0
474  self.tTime = 0.0
475 
476  self.proc = Process( target=self.Engine )
477  # Fork and start the separate process
478  self.proc.start()
479 
480 
481 
482 
def GaudiMP.GMPBase.GMPComponent.StartGaudiPython (   self)

Definition at line 511 of file GMPBase.py.

511  def StartGaudiPython( self ) :
512  self.a.initialize()
513  self.a.start()
514  return SUCCESS
515 
def GaudiMP.GMPBase.GMPComponent.StartGaudiPython (   self)

Definition at line 511 of file GMPBase.py.

511  def StartGaudiPython( self ) :
512  self.a.initialize()
513  self.a.start()
514  return SUCCESS
515 

Member Data Documentation

GaudiMP.GMPBase.GMPComponent.a

Definition at line 495 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.app

Definition at line 430 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.cntr

Definition at line 618 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.currentEvent

Definition at line 423 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.evcom

Definition at line 443 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.evcoms

Definition at line 447 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.evt

Definition at line 501 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.finalEvent

Definition at line 414 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.firstEvTime

Definition at line 473 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.fq

Definition at line 455 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.fsr

Definition at line 503 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.fTime

Definition at line 472 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.hq

Definition at line 453 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.hvt

Definition at line 502 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.inc

Definition at line 504 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.iTime

Definition at line 470 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.lastEvent

Definition at line 415 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.log

Definition at line 418 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.nIn

Definition at line 459 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.nodeID

Definition at line 420 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.nodeType

Definition at line 410 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.nOut

Definition at line 460 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.num

Definition at line 427 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.pers

Definition at line 505 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.proc

Definition at line 476 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.queues

Definition at line 426 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.rTime

Definition at line 471 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.stat

Definition at line 463 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.subworkers

Definition at line 419 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.ts

Definition at line 506 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.TS

Definition at line 507 of file GMPBase.py.

GaudiMP.GMPBase.GMPComponent.tTime

Definition at line 474 of file GMPBase.py.


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