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

In This Package:

gen::RpcStrips Class Reference

List of all members.

Public Member Functions

def __init__
def stripid
def write

Public Attributes

 site
 siteid
 sitecol
 sitename

Static Public Attributes

string lvname = "/dd/Geometry/RPC/lvRPCStrip"
list siteids = [0x01,0x02,0x04]
list siteRpccol = [6,6,9]
int rpcid = 07
list siteRnames = ['Near','Near','Far']

Detailed Description

Definition at line 43 of file gen.py.


Member Function Documentation

def gen::RpcStrips::__init__ (   self,
  site,
  siteid,
  sitecol,
  sitename 
)

Definition at line 52 of file gen.py.

00052                                                    :
00053         self.site = site
00054         self.siteid = siteid
00055         self.sitecol = sitecol
00056         self.sitename = sitename
00057         pass
00058 
00059     # this must match what Conventions/Detectors does
    def stripid(self,site,rpc,irow,icol,ilay,istr):

def gen::RpcStrips::stripid (   self,
  site,
  rpc,
  irow,
  icol,
  ilay,
  istr 
)

Definition at line 60 of file gen.py.

00060                                                   :
00061         return (site<<24)|(rpc<<16)|(irow<<12)|(icol<<8)|(ilay<<4)|istr
00062 
00063 
    def write(self,outdir):

def gen::RpcStrips::write (   self,
  outdir 
)

Definition at line 64 of file gen.py.

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/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__:


Member Data Documentation

string gen::RpcStrips::lvname = "/dd/Geometry/RPC/lvRPCStrip" [static]

Definition at line 45 of file gen.py.

list gen::RpcStrips::siteids = [0x01,0x02,0x04] [static]

Definition at line 46 of file gen.py.

list gen::RpcStrips::siteRpccol = [6,6,9] [static]

Definition at line 47 of file gen.py.

int gen::RpcStrips::rpcid = 07 [static]

Definition at line 48 of file gen.py.

list gen::RpcStrips::siteRnames = ['Near','Near','Far'] [static]

Definition at line 49 of file gen.py.

gen::RpcStrips::site

Definition at line 53 of file gen.py.

gen::RpcStrips::siteid

Definition at line 54 of file gen.py.

gen::RpcStrips::sitecol

Definition at line 55 of file gen.py.

gen::RpcStrips::sitename

Definition at line 56 of file gen.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:14:02 2011 for XmlDetDesc by doxygen 1.4.7