/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 | Static Public Attributes
gen::NearPoolPmts Class Reference

List of all members.

Public Member Functions

def __init__
def pmtid
def fill
def write

Public Attributes

 site
 siteid
 poolcount
 wallcount

Static Public Attributes

string lvname = "/dd/Geometry/PMT/lvPmtHemiFrame"
list siteids = [0x01,0x02,0x04]
list poolnums = [(5<<1)|1, (6<<1)|1, 6<<1]
list poolcounts = ['InnFin','OutFin','OutFout']
list wallcounts = [9, 9, 8]
list nearInFin = [10,8,24,8,10,8,24,8,21]
list nearOutFin = [8,8,16,8,8,8,16,8,23]
list nearOutFout = [4,8,12,8,4,8,12,8]
string npath = ''
string support = ''

Detailed Description

Definition at line 947 of file gen.py.


Constructor & Destructor Documentation

def gen::NearPoolPmts::__init__ (   self,
  site,
  siteid,
  poolcount,
  wallcount 
)

Definition at line 960 of file gen.py.

00961                                                       :
00962         self.site = site
00963         self.siteid = siteid
00964         self.poolcount = poolcount
00965         self.wallcount = wallcount
00966         pass


Member Function Documentation

def gen::NearPoolPmts::pmtid (   self,
  site,
  pooln,
  iid,
  iwall 
)

Definition at line 968 of file gen.py.

00969                                         :
00970         # shift up pooln by only 15 since it was shifted one bit already
00971         inward = 0
00972         if pooln == 11 or pooln == 13:
00973             inward = 1
00974         return (site<<24)|(pooln&0xffe)<<15|inward<<12|(iwall<<8)|iid

def gen::NearPoolPmts::fill (   self,
  data 
)

Definition at line 975 of file gen.py.

00976                        :
00977         if data["poolnum"] == 11:
00978             NearPoolPmts.npath="pvVetoPmtNearInn/pvNearInnWall%(wallnum)d/pvNearInnWall%(wallnum)d:%(idnum)d/pvVetoPmtUnit"%data
00979             NearPoolPmts.support="/dd/Structure/Pool/%(site)s-iws"%data
00980         elif data["poolnum"] == 12:
00981             NearPoolPmts.npath="pvVetoPmtNearOutFaceout/pvNearOutFaceoutWall%(wallnum)d/pvNearOutFaceoutWall%(wallnum)d:%(idnum)d/pvVetoPmtUnit"%data
00982             NearPoolPmts.support="/dd/Structure/Pool/%(site)s-ows"%data
00983         elif data["poolnum"] == 13:
00984             NearPoolPmts.npath="pvVetoPmtNearOutFacein/pvNearOutFaceinWall%(wallnum)d/pvNearOutFaceinWall%(wallnum)d:%(idnum)d/pvVetoPmtUnit"%data
00985             NearPoolPmts.support="/dd/Structure/Pool/%(site)s-ows"%data
00986         return
    
def gen::NearPoolPmts::write (   self,
  outdir 
)

Definition at line 987 of file gen.py.

00988                           :
00989         from XmlDetDescGen.util import XmlFile, Comment
00990         from XmlDetDescGen.structure import DetElem,UserParameter
00991 
00992         for poolp, pooln, walln in zip(NearPoolPmts.poolcounts,NearPoolPmts.poolnums,NearPoolPmts.wallcounts):
00993 
00994             pmts = []
00995             for iwall in range(0,walln): #max wallcount=9
00996                 iwall += 1
00997                 counts = []
00998                 if pooln == 11:
00999                     counts = NearPoolPmts.nearInFin
01000                 if pooln == 12:
01001                     counts = NearPoolPmts.nearOutFout
01002                 if pooln == 13:
01003                     counts = NearPoolPmts.nearOutFin
01004                 for iid in range(0, counts[iwall-1]): #pmt number in that wall
01005                     iid += 1
01006                     
01007                     pmtid = self.pmtid(siteid,pooln,iid,iwall)
01008                     
01009                     data = { 'site':site,'siteid':siteid,'poolpv':poolp,'poolnum':pooln,'wallnum':iwall,'idnum':iid,'pmtid':pmtid}
01010 
01011                     self.fill(data)
01012 
01013                     de = DetElem('%(site)s-%(poolpv)s-Wall%(wallnum)d-No%(idnum)d'%data,
01014                                  self.lvname, NearPoolPmts.npath, NearPoolPmts.support)
01015                     
01016                     de.refs = [UserParameter("PmtID","int",['0x%x'%pmtid],desc="Packed PMT ID")]
01017                     
01018                     pmts.append(de)
01019                     continue
01020                 continue
01021 
01022             file = XmlFile()
01023             file.objects = pmts
01024             file.write(outdir+"/%s%s.xml"%(self.site,poolp))
01025             continue
01026 #-----------------------------------------------------
                             

Member Data Documentation

string gen::NearPoolPmts::lvname = "/dd/Geometry/PMT/lvPmtHemiFrame" [static]

Definition at line 949 of file gen.py.

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

Definition at line 950 of file gen.py.

list gen::NearPoolPmts::poolnums = [(5<<1)|1, (6<<1)|1, 6<<1] [static]

Definition at line 951 of file gen.py.

list gen::NearPoolPmts::poolcounts = ['InnFin','OutFin','OutFout'] [static]

Definition at line 952 of file gen.py.

list gen::NearPoolPmts::wallcounts = [9, 9, 8] [static]

Definition at line 953 of file gen.py.

list gen::NearPoolPmts::nearInFin = [10,8,24,8,10,8,24,8,21] [static]

Definition at line 954 of file gen.py.

list gen::NearPoolPmts::nearOutFin = [8,8,16,8,8,8,16,8,23] [static]

Definition at line 955 of file gen.py.

list gen::NearPoolPmts::nearOutFout = [4,8,12,8,4,8,12,8] [static]

Definition at line 956 of file gen.py.

string gen::NearPoolPmts::npath = '' [static]

Definition at line 957 of file gen.py.

string gen::NearPoolPmts::support = '' [static]

Definition at line 958 of file gen.py.

Definition at line 960 of file gen.py.

Definition at line 960 of file gen.py.

Definition at line 960 of file gen.py.

Definition at line 960 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 Fri May 16 2014 09:56:07 for XmlDetDesc by doxygen 1.7.4