00064 :
00065
00066 from XmlDetDescGen.util import XmlFile, Comment
00067 from XmlDetDescGen.structure import DetElem,UserParameter
00068 strips = []
00069 totmods = 0
00070 totstrips = 0
00071 for irow in range(0,9):
00072 irow += 1
00073 for icol in range(0,sitecol):
00074 icol +=1
00075 totmods += 1
00076 for ilay in range(0,4):
00077 ilay += 1
00078 for istr in range(0,8):
00079 istr += 1
00080 totstrips = totstrips+1
00081 stripid = self.stripid(siteid,self.rpcid,irow,icol,ilay,istr)
00082 if irow%2 == 1:
00083 rowloop = irow/2+1
00084 unup = 'Un'
00085 else:
00086 rowloop =irow/2
00087 unup = 'Up'
00088 if icol == 1:
00089 columnloop = icol
00090 horslope = 'HorMod'
00091 else:
00092 columnloop = icol-1
00093 horslope = 'SlopMod'
00094 if ilay%2 == 1:
00095 layloop = ilay/2+1
00096 laychoose = '13'
00097 else:
00098 layloop = ilay/2
00099 laychoose = '24'
00100 data ={ 'site':site, 'rownum':irow, 'columnnum':icol, 'layernum':ilay, 'strnum':istr, 'sitename':sitename, 'rowloop':rowloop, 'columnloop':columnloop, 'layloop':layloop,'laychoose':laychoose, 'unup':unup, 'horslope':horslope }
00101 if icol == 1:
00102 npath="pv%(sitename)s%(unup)sHorModArray/pv%(sitename)s%(unup)sHorModColumn:%(rowloop)d/pv%(sitename)s%(unup)sHorModUnit/pvRPCFoam/pvBarCham%(laychoose)sArray/pvBarCham%(laychoose)sArrayOne:%(layloop)d/pvBarCham%(laychoose)sUnit/pvRPCGasgap%(laychoose)s/pvStrip%(laychoose)sArray/pvStrip%(laychoose)sArrayOne:%(strnum)d/pvStrip%(laychoose)sUnit"%data
00103 elif irow%2 == 1:
00104 npath="pv%(sitename)sUnSlopModArray/pv%(sitename)sUnSlopModOne:%(rowloop)d/pv%(sitename)sUnSlopMod:%(columnloop)d/pv%(sitename)sSlopModUnit/pvRPCFoam/pvBarCham%(laychoose)sArray/pvBarCham%(laychoose)sArrayOne:%(layloop)d/pvBarCham%(laychoose)sUnit/pvRPCGasgap%(laychoose)s/pvStrip%(laychoose)sArray/pvStrip%(laychoose)sArrayOne:%(strnum)d/pvStrip%(laychoose)sUnit"%data
00105 else:
00106 npath="pv%(sitename)sUpSlopModArray/pv%(sitename)sUpSlopModOne:%(rowloop)d/pv%(sitename)sUpSlopMod:2/pv%(sitename)sUnSlopMod:%(columnloop)d/pv%(sitename)sSlopModUnit/pvRPCFoam/pvBarCham%(laychoose)sArray/pvBarCham%(laychoose)sArrayOne:%(layloop)d/pvBarCham%(laychoose)sUnit/pvRPCGasgap%(laychoose)s/pvStrip%(laychoose)sArray/pvStrip%(laychoose)sArrayOne:%(strnum)d/pvStrip%(laychoose)sUnit"%data
00107
00108 de = DetElem('%(site)s-rpc-row%(rownum)d-column%(columnnum)d-layer%(layernum)d-strip%(strnum)d'%data,
00109 self.lvname,
00110 npath,
00111 support="/dd/Structure/RPC/%(site)s-rpc"%data)
00112 de.refs = [UserParameter("RpcID","int",['0x%x'%stripid],desc="Packed RpcStrip ID")]
00113 strips.append(de)
00114 continue
00115 continue
00116 continue
00117 continue
00118 print "RPC at %s-site total module number is %d"%(self.site, totmods)
00119 print "RPC at %s-site total read-out-strip channel number is %d"%(self.site, totstrips)
00120 file = XmlFile()
00121 file.objects = strips
00122 file.write(outdir+"/%s.xml"%self.site)
00123
00124
if '__main__' == __name__: