| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

HoldOn::QueueueueUp Class Reference

Inheritance diagram for HoldOn::QueueueueUp:
[legend]
Collaboration diagram for HoldOn::QueueueueUp:
[legend]
List of all members.

Public Member Functions

def __init__
def execute
def __init__
def initialize
def execute
def finalize
def verbose
def debug
def info
def warning
def error
def fatal
def getAES

Public Attributes

 queue
 size
 oldho
 execNum
 msgSvc
 archiveSvc
 stats

Private Member Functions

def _newhos

Detailed Description

Definition at line 8 of file HoldOn.py.


Member Function Documentation

def HoldOn::QueueueueUp::__init__ (   self,
  name = None 
)

Definition at line 10 of file HoldOn.py.

00010                                    :
00011         DybPythonAlg.__init__(self,name)
00012         self.queue = []
00013         self.size = 4
00014         self.oldho = None
00015         self.execNum = 0
00016         return
00017         
00018 
    def _newhos(self,hos):

def HoldOn::QueueueueUp::_newhos (   self,
  hos 
) [private]

Definition at line 19 of file HoldOn.py.

00019                          :
00020         'Return any new hos not yet seen'
00021 
00022         if not hos: return []
00023 
00024         if self.oldho is None:
00025             self.oldho = hos[0]
00026             return list(hos)    # fresh list
00027 
00028         try:                    # sometimes the ho escapes
00029             ind = hos.index(self.oldho)
00030         except ValueError:
00031             self.oldho = hos[0]
00032             return list(hos)
00033 
00034         self.oldho = hos[0]
00035         return hos[:ind]
00036 
    def execute(self):

def HoldOn::QueueueueUp::execute (   self  ) 

Definition at line 37 of file HoldOn.py.

00037                      :
00038         self.execNum += 1
00039         rohs = self.getAES('/Event/Readout/ReadoutHeader')
00040 
00041         print 'Execution# %d %s' % (self.execNum,'-'*70)
00042         print 'AES holds %d RoHs' % len(rohs)
00043 
00044         rohs = self._newhos(rohs)
00045 
00046         def rohstr(roh): return '%s [%d]' % (roh.context().AsString(), id(roh))
00047             
00048         print 'New RoHs: (%d)' % len(rohs)
00049         for roh in rohs: print '\t%s'%rohstr(roh)
00050 
00051         self.queue = rohs + self.queue
00052         loss = self.queue[self.size:]
00053 
00054         print 'Lost RoHs: (%d)' % len(loss)
00055         for roh in loss: print '\t%s'%rohstr(roh)
00056 
00057         self.queue = self.queue[:self.size]
00058 
00059         print 'Queued RoHs: (%d)' % len(self.queue)
00060         for roh in self.queue: print '\t%s'%rohstr(roh)
00061 
00062         print 'Execution# %d %s' % (self.execNum,'-'*70)
00063         return SUCCESS
00064 
00065     pass


Member Data Documentation

HoldOn::QueueueueUp::queue

Definition at line 12 of file HoldOn.py.

HoldOn::QueueueueUp::size

Definition at line 13 of file HoldOn.py.

HoldOn::QueueueueUp::oldho

Definition at line 14 of file HoldOn.py.

HoldOn::QueueueueUp::execNum

Definition at line 15 of file HoldOn.py.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:48:46 2011 for Test15 by doxygen 1.4.7