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

In This Package:

TestCalibDataSvc.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 
00003 from GaudiPython import *
00004 from DybPython.DybPythonAlg import DybPythonAlg
00005 
00006 from DataSvc.TestCommon import get_sensors, service_mode
00007 
00008 class TestAlg(DybPythonAlg):
00009     def __init__(self,name):
00010         DybPythonAlg.__init__(self,name)
00011         print "Making TestAlg",name
00012 
00013     def initialize(self):
00014         status = DybPythonAlg.initialize(self)
00015         print "Init TestAlg",self.name()
00016         if status.isFailure(): return status
00017         self.cableSvc = self.svc('ICableSvc','CableSvc')
00018         self.pmtCalibSvc = self.svc('ICalibDataSvc','CalibDataSvc')
00019         print "===========================================================\n\n"
00020 
00021         svcMode = service_mode()
00022         adPmtSensors = get_sensors(self.cableSvc,svcMode)
00023 
00024         hrdwTypes = ["kUnknown","kPmt8inch","kPmt2inch","kRpc","kFee","kFec","kRot","kRom","kHighVoltage"]
00025         print "  number of sensors =",adPmtSensors.size()
00026         print "  Sensor Status SpeHigh sigmaSpe SpeLow Toff Tspr Eff PreP AfterP Dark"
00027         for sens in adPmtSensors:
00028             pmtData = self.pmtCalibSvc.pmtCalibData(sens, svcMode)
00029             assert pmtData, 'Got null pmtData for context %s' % svcMode.context().AsString()
00030             print ' '.join([ str(elem) for elem in [pmtData.m_pmtId.fullPackedData(),
00031                                                     pmtData.m_status,
00032                                                     pmtData.m_speHigh,
00033                                                     pmtData.m_sigmaSpeHigh,
00034                                                     pmtData.m_speLow,
00035                                                     pmtData.m_timeOffset,
00036                                                     pmtData.m_timeSpread,
00037                                                     pmtData.m_efficiency,
00038                                                     pmtData.m_prePulseProb,
00039                                                     pmtData.m_afterPulseProb,
00040                                                     pmtData.m_darkRate] ])
00041         print "\n\n==========================================================="
00042         return SUCCESS
00043 
00044     def execute(self):
00045         print "Executing TestAlg",self.name()
00046         return SUCCESS
00047 
00048     def finalize(self):
00049         print "Finalizing TestAlg",self.name()
00050         status = DybPythonAlg.finalize(self)
00051         return status
00052 
00053 def run(app):
00054     testAlg = TestAlg("TestAlg")
00055     app.addAlgorithm( testAlg )
00056     return
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:59:23 for DataSvc by doxygen 1.7.4