/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Member Functions | Public Attributes
DumpDqChannel::DumpChannel Class Reference

List of all members.

Public Member Functions

def __init__
def setCriteria
def judge
def contextInfo
def genCableMap
def genLocToChanIdMap
def getHvSetting
def getFileInfo
def isLED
def getFileTimeRange
def checkHist
def generateLocationIDs
def queryDcsHV
def dumpChannel

Public Attributes

 inputFilename
 runNo
 fileNo
 timeStart
 timeEnd
 streamType
 cableMap
 hv2FeeMap
 hvSetting
 allSites
 allDets
 dcsTables
 thissite
 dets
 hvrmsMax
 hvmeanMin
 occMin
 dadcMin
 occMax
 dadcMax
 occMCSMax
 dadcMCSMax
 occCalibMax
 dadcCalibMax
 daqfilename

Detailed Description

Get Rate from ROOT file

Definition at line 53 of file DumpDqChannel.py.


Constructor & Destructor Documentation

def DumpDqChannel::DumpChannel::__init__ (   self,
  inputFilename 
)
Constructor

Definition at line 55 of file DumpDqChannel.py.

00056                                      :
00057         """Constructor"""
00058         self.inputFilename = inputFilename
00059         #self.inputFilename = "realDataTag_run0006998_seq0001.root"
00060         self.runNo = inputFilename[-20:-13] #runNo is a string
00061         self.fileNo = inputFilename[-9:-5]
00062         self.timeStart = None
00063         self.timeEnd = None
00064         self.streamType = None
00065         self.cableMap = {} #location to FeeChannelId
00066         self.hv2FeeMap = {} #HvChannelId to FeeChannelId
00067         self.hvSetting = {} #hv setting value identified by FeeChannelId
00068         #book all the possible detectors
00069         self.allSites = {
00070                             'DayaBay'   :Site.kDayaBay,
00071                             'LingAo'    :Site.kLingAo,
00072                             'Far'       :Site.kFar,
00073                             'SAB'       :Site.kSAB
00074                         }
00075         self.allDets =  {
00076                             'AD1':DetectorId.kAD1,
00077                             'AD2':DetectorId.kAD2,
00078                             'AD3':DetectorId.kAD3,
00079                             'AD4':DetectorId.kAD4,
00080                             'IWS':DetectorId.kIWS,
00081                             'OWS':DetectorId.kOWS
00082                         }
00083         self.dcsTables = {  
00084                             'DayaBayAD1':'DBNS_AD1_HV_Vmon',
00085                             'DayaBayAD2':'DBNS_AD2_HV_Vmon',
00086                             'LingAoAD1' :'LANS_AD3_HV_Vmon',
00087                             'FarAD1'    :'FARS_AD4_HV_Vmon',
00088                             'FarAD2'    :'FARS_AD5_HV_Vmon',
00089                             'FarAD3'    :'FARS_AD6_HV_Vmon',
00090                             'FarAD4'    :'FARS_AD7_HV_Vmon',
00091                             'LingAoAD2' :'LANS_AD8_HV_Vmon'
00092                          }
00093         #variable that holds current site and the alive detectors
00094         self.thissite = None 
00095         self.dets = {} 
00096         #set channel criteria
00097         self.setCriteria()
00098         return


Member Function Documentation

def DumpDqChannel::DumpChannel::setCriteria (   self)
set the channel quality criteria

Definition at line 99 of file DumpDqChannel.py.

00100                          :
00101         """set the channel quality criteria"""
00102         # common criteria
00103         self.hvrmsMax = 0.5
00104         self.hvmeanMin = 1200 
00105         self.occMin = 0.1 
00106         self.dadcMin = 10
00107 
00108         # for physics neutrino data
00109         self.occMax = {
00110                         Site.kDayaBay   :0.65,
00111                         Site.kLingAo    :0.65,
00112                         Site.kFar       :0.5
00113                       }
00114         self.dadcMax = 45 
00115 
00116         # for MCS data
00117         self.occMCSMax = 0.98
00118         self.dadcMCSMax = 60 
00119 
00120         # for AdCalib source data
00121         self.occCalibMax = 0.90 # occ max for calibration runs
00122         self.dadcCalibMax = 60 
00123 
00124         return

def DumpDqChannel::DumpChannel::judge (   self,
  ingredients,
  site,
  streamtype,
  daqfilename,
  isLEDRun 
)
    - Using ingredients variables to determine channel quality
    - Flow chart of algorithm at Doc-8590
    - Criteria limit set according to Doc-8719, occMax is site dependent
    - For non-physics run, determine quality by merely HV
    - Return channel status (0-bad, 1-good)

Definition at line 125 of file DumpDqChannel.py.

00126                                                                          :
00127         """
00128             - Using ingredients variables to determine channel quality
00129             - Flow chart of algorithm at Doc-8590
00130             - Criteria limit set according to Doc-8719, occMax is site dependent
00131             - For non-physics run, determine quality by merely HV
00132             - Return channel status (0-bad, 1-good)
00133         """
00134         occ,hvrms,hvmean,dadc = ingredients
00135         #print self.occMax[site]
00136 
00137         isGood = None
00138         quality = None
00139 
00140         # common criteria
00141         isHvMissing = ( hvrms==-1 and hvmean==-1 ) # no HV records in DCS database
00142         isHvFine = ( hvrms<self.hvrmsMax and hvmean>self.hvmeanMin )
00143 
00144         # set upper limit for different categories of files
00145         isDadcFine = ( self.dadcMin<dadc<self.dadcMax )
00146         isOccFine = ( self.occMin<occ<self.occMax[site] )
00147 
00148         if streamtype=='Physics':
00149             if daqfilename.find('MCS')!=-1:
00150                 #print 'MCS run!'
00151                 isOccFine = ( self.occMin<occ<self.occMCSMax )
00152                 isDadcFine = ( self.dadcMin<dadc<self.dadcMCSMax )
00153         elif streamtype=='ADCalib':
00154             isOccFine = ( self.occMin<occ<self.occCalibMax )
00155             isDadcFine = ( self.dadcMin<dadc<self.dadcCalibMax )
00156 
00157         passDataCut = (isOccFine and isDadcFine)
00158 
00159         # Look at both HV and data information to decide CQ
00160         isGood = passDataCut if isHvMissing else (isHvFine and passDataCut)
00161         # however, for LEDs runs, only look at HV information
00162         if isLEDRun:
00163             isGood = True if isHvMissing else isHvFine
00164 
00165         quality = 1 if isGood else 0
00166 
00167         #if quality==0:
00168         #    print quality
00169 
00170         return quality

def DumpDqChannel::DumpChannel::contextInfo (   self)
find out site info and alive detectors in this site

Definition at line 171 of file DumpDqChannel.py.

00172                          :
00173         """find out site info and alive detectors in this site"""
00174         inputFile = TFile(self.inputFilename, "READ")
00175         #determine which site this file comes from
00176         for site in self.allSites.keys():
00177             breakOrNot = 0
00178             for det in self.allDets.keys():
00179                 histdir = "stats/diagnostics/run_%s/detector_%s%s" % (self.runNo, site, det)
00180                 dir = inputFile.GetDirectory(histdir)
00181                 if dir:
00182                     self.thissite = site
00183                     breakOrNot = 1
00184                     break
00185             if breakOrNot == 1:
00186                 break
00187 
00188         assert self.thissite!=None, 'Error, KUP must have some problems, ODM file is empty!'
00189         #find out the ADs at this site
00190         for det,detId in self.allDets.items():
00191             if (det=='IWS' or det=='OWS'):
00192                 continue
00193             if (self.thissite == 'SAB') and ( (det != 'AD1') or (det != 'AD2') ):
00194                 continue
00195             if (self.thissite != 'Far') and ( (det == 'AD3') or (det == 'AD4') ):
00196                 continue
00197             histdir = "stats/diagnostics/run_%s/detector_%s%s" % (self.runNo, self.thissite, det)
00198             dir = inputFile.GetDirectory(histdir)
00199             if dir:
00200                 self.dets[det] = detId
00201         return
00202 
        
def DumpDqChannel::DumpChannel::genCableMap (   self,
  thissite,
  dets,
  timeStamp 
)
query offline db for the cable map from AdPmtSensor<-->FeeChannelId

Definition at line 203 of file DumpDqChannel.py.

00204                                                     :
00205         """query offline db for the cable map from AdPmtSensor<-->FeeChannelId"""
00206         rpt = GCableMap.Rpt()
00207         for detId in dets.values():
00208             rpt.ctx( site = thissite,
00209                      subsite = detId,
00210                      simflag = SimFlag.kData,
00211                      timestamp = timeStamp )
00212             rptlen = len(rpt)
00213             for idx in range(rptlen):
00214                 record = rpt[idx]
00215                 #self.cableMap[ record.GetChannelId() ] = record.GetSensorId()
00216                 self.cableMap[ FeeChannelId(record.GetChannelId().fullPackedData()) ] = record.GetSensorId()
00217         return
    
def DumpDqChannel::DumpChannel::genLocToChanIdMap (   self,
  thissite,
  dets,
  timeStamp 
)
query offline db for the cable map LocationId<-->HVChannelId<-->FeeChannelId

Definition at line 218 of file DumpDqChannel.py.

00219                                                           :
00220         """query offline db for the cable map LocationId<-->HVChannelId<-->FeeChannelId"""
00221         hvMap = defaultdict(list)
00222 
00223         rptHvMap = GAdWpHvMap.Rpt()
00224         rptHv2Fee = GAdWpHvToFee.Rpt()
00225 
00226         for det,detId in dets.items():
00227             rptHvMap.ctx( site = thissite,
00228                           subsite = detId,
00229                           simflag = SimFlag.kData,
00230                           timestamp = timeStamp )
00231             rptlen1 = len(rptHvMap)
00232             assert rptlen1==192, 'GAdWpHvMap: det %d, number of channels = %d.' % (detId, rptlen1)
00233 
00234             rptHv2Fee.ctx( site = thissite,
00235                            subsite = detId,
00236                            simflag = SimFlag.kData,
00237                            timestamp = timeStamp )
00238             rptlen2 = len(rptHv2Fee)
00239             assert rptlen2==192, 'GAdWpHvToFee: det %d, number of channels = %d.' % (detId, rptlen2)
00240 
00241             for idx in range(rptlen1):
00242                 hvMap[rptHvMap[idx].GetHvChannelId().fullPackedData()].append(det+rptHvMap[idx].GetLocationId())
00243             for idx in range(rptlen2):
00244                 hvMap[rptHv2Fee[idx].GetHvChannelId().fullPackedData()].append(rptHv2Fee[idx].GetFeeChannelId())
00245 
00246         for key,value in hvMap.items():
00247             assert len(value)==2, 'map inconsistency!'
00248             self.cableMap[value[0]] = value[1] #self.cableMap{ AD1L1C1R1:FeeChannelId, ... }
00249             self.hv2FeeMap[key] = value[1] #self.hv2FeeMap{ HvChannelId:FeeChannelId, ... }
00250 
00251         return

def DumpDqChannel::DumpChannel::getHvSetting (   self,
  thissite,
  dets,
  timeStamp 
)
get PMT HV setting value from offline_db

Definition at line 252 of file DumpDqChannel.py.

00253                                                      :
00254         """get PMT HV setting value from offline_db"""
00255         rptHvSetting= GAdWpHvSetting.Rpt()
00256         for det,detId in dets.items():
00257             rptHvSetting.ctx(   site = thissite,
00258                                 subsite = detId,
00259                                 simflag = SimFlag.kData,
00260                                 timestamp = timeStamp   )
00261             rptlen = len(rptHvSetting)
00262             assert rptlen==192, 'GAdWpHvSetting: det %d, number of channels = %d.' % (detId, rptlen)
00263             for idx in range(rptlen):
00264                 hvChanId = rptHvSetting[idx].GetHvChannelId().fullPackedData()
00265                 self.hvSetting[ self.hv2FeeMap[hvChanId] ] = rptHvSetting[idx].GetHvSetting()
00266         return
        
def DumpDqChannel::DumpChannel::getFileInfo (   self,
  runNo,
  fileNo 
)
Talk to offline DB and get the time range of the run

Definition at line 267 of file DumpDqChannel.py.

00268                                         :
00269         """Talk to offline DB and get the time range of the run"""
00270         try:
00271             con = MySQLdb.connect( host = dbhost,
00272                                    user = dbuser,
00273                                    passwd = dbpasswd,
00274                                    db = database )
00275             cursor = con.cursor()
00276             cursor.execute( "SELECT timestart, timeend, streamtype, filename FROM DaqRawDataFileInfoVld, DaqRawDataFileInfo WHERE DaqRawDataFileInfoVld.seqno = DaqRawDataFileInfo.seqno AND DaqRawDataFileInfo.runNo = %s AND DaqRawDataFileInfo.fileNo = %s" % (runNo, fileNo) )
00277             row = cursor.fetchone()
00278             if row:
00279                 print "get file time info successfully"
00280         except MySQLdb.Error,e:
00281             print "Error %d: %s" % (e.args[0], e.args[1])
00282             sys.exit(1)
00283 
00284         cursor.close()
00285         con.close()
00286         return row

def DumpDqChannel::DumpChannel::isLED (   self,
  runNo 
)
decide whether it is an LED run

Definition at line 287 of file DumpDqChannel.py.

00288                           :
00289         """decide whether it is an LED run"""
00290         try:
00291             con = MySQLdb.connect( host = dbhost,
00292                                    user = dbuser,
00293                                    passwd = dbpasswd,
00294                                    db = database )
00295             cursor = con.cursor()
00296             cursor.execute( "SELECT lednumber1, ledvoltage1, ledfreq FROM DaqCalibRunInfo WHERE runno = %s" % runNo )
00297             row = cursor.fetchall()
00298             if row:
00299                 print "get calib info successfully"
00300         except MySQLdb.Error,e:
00301             print "Error %d: %s" % (e.args[0], e.args[1])
00302             sys.exit(1)
00303         cursor.close()
00304         con.close()
00305 
00306         #print row
00307         ledRun = False
00308         for ledno, ledvoltage, freq in row:
00309             #print type(ledno), type(freq), type(ledvoltage), ledno, ledvoltage, freq
00310             #if ledno>0 and ledvoltage!=0 and freq>0:
00311             if ledno>0: # as long as lednumber1 is enabled, regards it as an LED run
00312                 ledRun = True
00313                 break
00314         return ledRun

def DumpDqChannel::DumpChannel::getFileTimeRange (   self,
  runNo,
  rootfile,
  detname 
)

Definition at line 315 of file DumpDqChannel.py.

00316                                                         :
00317         histpath = 'stats/diagnostics/run_%07d/detector_%s/triggerRate' % (runNo, detname)
00318         hist = rootfile.Get(histpath)
00319 
00320         t_first_trigger = hist.GetXaxis().GetXmin()
00321         t_last_trigger = hist.GetXaxis().GetXmax()
00322 
00323         nbins = hist.GetNbinsX()
00324         ibin = nbins+1
00325         while ibin>0:
00326             if hist.GetBinContent(ibin)>0:
00327                 t_last_trigger = hist.GetBinLowEdge(ibin+1)
00328                 break
00329             ibin -= 1
00330         
00331         return t_first_trigger, t_last_trigger

def DumpDqChannel::DumpChannel::checkHist (   self,
  runNo,
  rootfile,
  channelId 
)

Definition at line 332 of file DumpDqChannel.py.

00333                                                    :
00334         board = channelId.board()
00335         connector = channelId.connector()
00336 
00337         # Use occupancy to determine PMT working status
00338         hoccpath = 'stats/diagnostics/run_%07d/detector_%s/channelHits' % ( runNo, channelId.detName() )
00339         hocc = rootfile.Get(hoccpath)
00340         occupancy = hocc.GetBinContent(board,connector)
00341 
00342         channeldir = 'stats/diagnostics/run_%07d/detector_%s/channel_board%02d_connector%02d' % ( runNo, channelId.detName(), board, connector )
00343         cdchanneldir = rootfile.GetDirectory(channeldir)
00344         if cdchanneldir:
00345             #hadcpath = '%s/adcFine' % channeldir
00346             #hadc = rootfile.Get(hadcpath) 
00347             #adcMean = hadc.GetMean()
00348             #adcRMS = hadc.GetRMS()
00349 
00350             hdadcvstimepath = '%s/dadcVsTimeFine' % channeldir
00351             hdadcvstime = rootfile.Get(hdadcvstimepath) 
00352             hdadc = hdadcvstime.ProjectionY()
00353             hdadc.GetXaxis().SetRangeUser(3, 60)
00354             dadcMean = hdadc.GetMean()
00355             dadcRMS = hdadc.GetRMS()
00356 
00357             histValue = [occupancy,dadcMean,dadcRMS]
00358         else:
00359             histValue = [occupancy, 0, 0]
00360         return histValue

def DumpDqChannel::DumpChannel::generateLocationIDs (   self)

Definition at line 361 of file DumpDqChannel.py.

00362                                  :
00363         locationIDs = []
00364         for ladder in range(1,9):
00365             for col in range(1,4):
00366                 for ring in range(1,9):
00367                     locationID = 'L%dC%dR%d' % (ladder, col, ring)
00368                     locationIDs.append(locationID)
00369         return locationIDs

def DumpDqChannel::DumpChannel::queryDcsHV (   self,
  file_ts,
  file_te,
  site_det 
)
   file_ts, file_te in sql datetime format(UTC), i.e. 2012-01-01 00:00:00,
   site_det --> corresponding AD DCS table, i.e. DBNS_AD1_HV_Vmon,

Definition at line 370 of file DumpDqChannel.py.

00371                                                     :
00372         """
00373            file_ts, file_te in sql datetime format(UTC), i.e. 2012-01-01 00:00:00,
00374            site_det --> corresponding AD DCS table, i.e. DBNS_AD1_HV_Vmon,
00375         """
00376         locationIDs = self.generateLocationIDs()
00377         try:
00378             con = MySQLdb.connect( host = dcsdbhost,
00379                                    user = dcsdbuser,
00380                                    passwd = dcsdbpasswd,
00381                                    db = dcsdatabase )
00382             cursor = con.cursor()
00383             query  = "select " 
00384             fields = ""
00385             for locationID in locationIDs:
00386                 fields += "avg(%s),stddev(%s)," % (locationID, locationID)
00387             fields = fields.strip(',')
00388             query += fields
00389             query += " from %s " % site_det
00390             query += "where date_time>convert_tz('%s','+00:00','+08:00') and date_time<convert_tz('%s','+00:00','+08:00')" % (file_ts, file_te) #DCS table in BJ time
00391             #print query
00392             cursor.execute(query) 
00393             row = cursor.fetchone()
00394             if row:
00395                 print "Successful query from %s!" % site_det
00396             else:
00397                 print "No HV records for this file period from %s!" % site_det
00398                 row = [] # when there are no mathcing records, MySQLdb return 'NoneType', set row to empty list manually for later convenience
00399         except MySQLdb.Error,e:
00400             print "Error %d: %s" % (e.args[0], e.args[1])
00401             sys.exit(1)
00402 
00403         cursor.close()
00404         con.close()
00405         return list(row)

def DumpDqChannel::DumpChannel::dumpChannel (   self)
calculate rate

Definition at line 406 of file DumpDqChannel.py.

00407                          :
00408         """calculate rate"""
00409         self.timeStart, self.timeEnd, self.streamType, self.daqfilename = self.getFileInfo(self.runNo, self.fileNo)
00410         isLEDRun = False
00411         if self.streamType=='ADCalib':
00412             isLEDRun = self.isLED(self.runNo)
00413             if(isLEDRun):
00414                 print 'LED run!'
00415 
00416         import calendar
00417         from datetime import timedelta
00418         starttime = calendar.timegm( self.timeStart.timetuple() )
00419         endtime = calendar.timegm( self.timeEnd.timetuple() )
00420 
00421         ## put timeend to be 3 days later
00422         #t = runTime[1] + timedelta(days=3)
00423         #endtime = calendar.timegm( t.timetuple() )
00424        
00425         #get site and det info
00426         self.contextInfo()
00427         
00428         site = self.allSites[self.thissite] 
00429         #generate cable map
00430         #self.genCableMap(site, self.dets, TimeStamp(starttime))
00431         self.genLocToChanIdMap(site, self.dets, TimeStamp(starttime))
00432         #self.getHvSetting(site, self.dets, TimeStamp(starttime))
00433         
00434          
00435         hvMean = {} #{FeeChannelId:HVvalue}
00436         hvRMS = {} 
00437         if(len(self.dets)==0):
00438             return
00439 
00440         rootfile = TFile(self.inputFilename)
00441 
00442         for det,detId in self.dets.items():
00443             t_first, t_last = self.getFileTimeRange(int(self.runNo), rootfile, self.thissite+det) # through the ODM trigger rate histogram
00444             #print t_first-starttime, t_last-endtime
00445             ts = t_first if 0<(starttime-t_first)<30 else starttime # valid range start uses the earlier of first trigger and file starttime
00446             te = endtime # valid range end still uses file endtime to avoid too short t_last due to broken KUP
00447             #print t_first, t_last
00448             #print starttime, endtime
00449             #print ts, te
00450 
00451             cr = ContextRange( site,
00452                                SimFlag.kData,
00453                                TimeStamp(ts),
00454                                TimeStamp(te) )
00455 
00456             wrt = DqChannel.Wrt()
00457             wrt.ctx(contextrange=cr, versiondate=TimeStamp(0,0), subsite=detId)
00458             wrt_status = DqChannelStatus.Wrt()
00459             wrt_status.ctx(contextrange=cr, versiondate=TimeStamp(0,0), subsite=detId)
00460             dcsTable = self.dcsTables[self.thissite + det]
00461             #print dcsTable
00462             records = self.queryDcsHV(self.timeStart, self.timeEnd, dcsTable)
00463             if(len(records)==0):
00464                 #no records from DCS, set hvmean, hvrms value to -1
00465                 records = [-1]*384
00466             for ladder in range(1,9):
00467                 for col in range(1,4):
00468                     for ring in range(1,9):
00469                         #column = (ladder-1)*3 + col
00470                         #pmt = AdPmtSensor(ring, column, site, self.allDets[det])
00471                         #pmtId = pmt.fullPackedData()
00472                         #hvMean[pmtId] = records.pop(0) 
00473                         #hvRMS[pmtId] = records.pop(0) 
00474                         locIdx = '%sL%dC%dR%d' % (det, ladder, col, ring)
00475                         channelId = self.cableMap[locIdx]
00476                         hvmean = records.pop(0)
00477                         hvMean[channelId] = hvmean if hvmean!=None else -1
00478                         hvrms = records.pop(0)
00479                         hvRMS[channelId] = hvrms if hvrms!=None else -1
00480                         ##compare HV value with HV setting value
00481                         #deltaHV = abs( float(hvMean[channelId])-self.hvSetting[channelId] )
00482                         #if(deltaHV>5):
00483                         #    print hvMean[channelId],float(hvMean[channelId]),hvRMS[channelId],self.hvSetting[channelId],deltaHV,channelId.detName(),channelId.board(), channelId.connector()
00484                         histValue = self.checkHist( int(self.runNo), rootfile, channelId )
00485                         record = DqChannel.Create( RunNo = int(self.runNo),
00486                                                    FileNo = int(self.fileNo),
00487                                                    ChannelId = channelId,
00488                                                    Occupancy = histValue[0],
00489                                                    DAdcMean = histValue[1],  
00490                                                    DAdcRMS = histValue[2], 
00491                                                    HvMean = hvMean[channelId],
00492                                                    HvRMS = hvRMS[channelId] )
00493 
00494                         ingredients = [histValue[0], hvRMS[channelId], hvMean[channelId], histValue[1]]
00495                         status = self.judge(ingredients, site, self.streamType, self.daqfilename, isLEDRun)
00496                         record_status = DqChannelStatus.Create( RunNo = int(self.runNo),
00497                                                                 FileNo = int(self.fileNo),
00498                                                                 ChannelId = channelId,
00499                                                                 Status = status )
00500 
00501                         wrt.Write(record) 
00502                         wrt_status.Write(record_status)
00503             #print len(hvMean), len(hvRMS)
00504             assert len(hvMean)%192==0, '%s, hvmean number==192' % det
00505             assert len(hvRMS)%192==0, '%s, hvrms number==192 ' % det
00506             wseqno = wrt.Close()
00507             assert wseqno, 'failed DB write DqChannel'
00508             wseqno_status = wrt_status.Close()
00509             assert wseqno_status, 'failed DB write DqChannelStatus'
00510         return


Member Data Documentation

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 55 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 99 of file DumpDqChannel.py.

Definition at line 406 of file DumpDqChannel.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 Fri May 16 2014 09:54:23 for DQDump by doxygen 1.7.4