/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #!/usr/bin/env python 00002 00003 from GaudiPython import * 00004 from DybPython.DybPythonAlg import DybPythonAlg 00005 import GaudiKernel.SystemOfUnits as units 00006 00007 from DataSvc.TestCommon import get_sensors, service_mode 00008 00009 GSimPmtSpec = gbl.GSimPmtSpec 00010 00011 class TestAlg(DybPythonAlg): 00012 def __init__(self,name): 00013 DybPythonAlg.__init__(self,name) 00014 print "Making TestAlg",name 00015 00016 def initialize(self): 00017 status = DybPythonAlg.initialize(self) 00018 print "Init TestAlg",self.name() 00019 if status.isFailure(): return status 00020 self.cableSvc = self.svc('ICableSvc','CableSvc') 00021 self.pmtSimSvc = self.svc('ISimDataSvc','SimDataSvc') 00022 print "===========================================================\n\n" 00023 00024 svcMode = service_mode() 00025 adPmtSensors = get_sensors(self.cableSvc,svcMode) 00026 00027 hrdwTypes = ["kUnknown","kPmt8inch","kPmt2inch","kRpc","kFee","kFec","kRot","kRom","kHighVoltage"] 00028 print " number of sensors =",adPmtSensors.size() 00029 print " Sensor Gain FWHM Toff Tspr Eff PreP AfterP Dark" 00030 for sens in adPmtSensors: 00031 pmtData = self.pmtSimSvc.pmtSimData(sens, svcMode) 00032 if not pmtData: 00033 print "No calibration data for PMT ring=%d,column=%d" % (sens.ring(),sens.column()) 00034 continue 00035 print ' '.join([ str(elem) for elem in [pmtData.m_pmtId.fullPackedData(), 00036 pmtData.m_gain, 00037 pmtData.m_sigmaGain, 00038 pmtData.m_timeOffset/units.ns, 00039 pmtData.m_timeSpread/units.ns, 00040 pmtData.m_efficiency, 00041 pmtData.m_prePulseProb, 00042 pmtData.m_afterPulseProb, 00043 pmtData.m_darkRate/units.hertz] ]) 00044 print "\n\n===========================================================" 00045 return SUCCESS 00046 00047 def execute(self): 00048 print "Executing TestAlg",self.name() 00049 return SUCCESS 00050 00051 def finalize(self): 00052 print "Finalizing TestAlg",self.name() 00053 status = DybPythonAlg.finalize(self) 00054 return status 00055 00056 def run(app): 00057 testAlg = TestAlg("TestAlg") 00058 app.addAlgorithm( testAlg ) 00059 return