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

In This Package:

gen::AdPmts Class Reference

List of all members.

Public Member Functions

def __init__
def pmtid
def write

Public Attributes

 site
 siteid
 adcount

Static Public Attributes

string lvname = "/dd/Geometry/PMT/lvPmtHemiwPmtHolder"
string lvname2 = "/dd/Geometry/PMT/lvHeadonPmtFrame"
list siteids = [0x01,0x02,0x04]
list adcounts = [ 2, 2, 4]

Detailed Description

Definition at line 48 of file gen.py.


Member Function Documentation

def gen::AdPmts::__init__ (   self,
  site,
  siteid,
  adcount 
)

Definition at line 55 of file gen.py.

00055                                           :
00056         self.site = site
00057         self.siteid = siteid
00058         self.adcount = adcount
00059         pass
00060 
00061     # this must match what Conventions/Detectors does
    def pmtid(self,site,adn,icol,iring):

def gen::AdPmts::pmtid (   self,
  site,
  adn,
  icol,
  iring 
)

Definition at line 62 of file gen.py.

00062                                        :
00063         return (site<<24)|(adn<<16)|(iring<<8)|icol
00064 
00065 
    def write(self,outdir):

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

Definition at line 66 of file gen.py.

00066                           :
00067 
00068         from XmlDetDescGen.util import XmlFile, Comment
00069         from XmlDetDescGen.structure import DetElem,UserParameter
00070 
00071         for adn in range(0,self.adcount):
00072             adn += 1
00073 
00074             pmts = []
00075 
00076             ipmt = 0
00077             for iring in range(0,8):
00078                 iring += 1
00079                 
00080                 for icol in range(0,24):
00081                     icol += 1
00082                     ipmt = ipmt+1
00083                     pmtid = self.pmtid(siteid,adn,icol,iring)
00084                     data = {
00085                         'site':site,
00086                         'siteid':siteid,
00087                         'adnum':adn,
00088                         'ringnum':iring,
00089                         'columnnum':icol,
00090                         'pmtid':pmtid
00091                         }
00092                     
00093                     de = DetElem('%(site)s-ad%(adnum)d-ring%(ringnum)d-column%(columnnum)d'%data,
00094                                  self.lvname,
00095                                  npath="pvAdPmtArray/pvAdPmtArrayRotated/pvAdPmtRingInCyl:%(ringnum)s/pvAdPmtInRing:%(columnnum)d/pvAdPmtUnit"%data,
00096                                  support="/dd/Structure/AD/%(site)s-oil%(adnum)d"%data)
00097                     
00098                     de.refs = [UserParameter("PmtID","int",['0x%x'%pmtid],desc="Packed PMT ID")]
00099                     
00100                     pmts.append(de)
00101                     continue
00102                 continue
00103 
00104             iring = 0      
00105             for icol in range(0,6):
00106                 icol += 1
00107                 ipmt = ipmt+1
00108                 pmtid = self.pmtid(siteid,adn,icol,iring)
00109                 data = {
00110                         'site':site,
00111                         'siteid':siteid,
00112                         'adnum':adn,
00113                         'ringnum':iring,
00114                         'columnnum':icol,
00115                         'pmtid':pmtid
00116                         }
00117                     
00118                 de = DetElem('%(site)s-ad%(adnum)d-ring%(ringnum)d-column%(columnnum)d'%data,
00119                              self.lvname2,
00120                              npath="pvAdPmtArray/pvAd2inPmt:%(columnnum)d"%data,
00121                              support="/dd/Structure/AD/%(site)s-oil%(adnum)d"%data)
00122                     
00123                 de.refs = [UserParameter("PmtID","int",['0x%x'%pmtid],desc="Packed PMT ID")]
00124                     
00125                 pmts.append(de)
00126                 continue
00127 
00128             file = XmlFile()
00129             file.objects = pmts
00130             file.write(outdir+"/%s%d.xml"%(self.site,adn))
00131             continue
00132                              
if '__main__' == __name__:


Member Data Documentation

string gen::AdPmts::lvname = "/dd/Geometry/PMT/lvPmtHemiwPmtHolder" [static]

Definition at line 50 of file gen.py.

string gen::AdPmts::lvname2 = "/dd/Geometry/PMT/lvHeadonPmtFrame" [static]

Definition at line 51 of file gen.py.

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

Definition at line 52 of file gen.py.

list gen::AdPmts::adcounts = [ 2, 2, 4] [static]

Definition at line 53 of file gen.py.

gen::AdPmts::site

Definition at line 56 of file gen.py.

gen::AdPmts::siteid

Definition at line 57 of file gen.py.

gen::AdPmts::adcount

Definition at line 58 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