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

In This Package:

gen::CylinderSelf Class Reference

List of all members.

Public Member Functions

def __init__
def parameters
def logvol

Public Attributes

 name
 radius
 height
 material
 parent
 child
 params
 lv

Detailed Description

Definition at line 102 of file gen.py.


Member Function Documentation

def gen::CylinderSelf::__init__ (   self,
  name,
  radius,
  height,
  material,
  parent = None,
  child = None 
)

Definition at line 103 of file gen.py.

00103                                                                          :
00104         self.name = name
00105         self.radius = radius
00106         self.height = height
00107         self.material=material
00108         self.parent = parent
00109         self.child = child
00110         self.params = []
00111         self.lv = None
00112         return
00113 
    def parameters(self):

def gen::CylinderSelf::parameters (   self  ) 

Definition at line 114 of file gen.py.

00114                         :
00115         """
00116         Build up the parameters for a cylinder based on thicknesses and parent values.
00117         """
00118         if self.params: return self.params
00119 
00120         from XmlDetDescGen.parameter import Parameter
00121 
00122         ts = []
00123         ps = []
00124         for thing,size in [("Radius",self.radius),
00125                             ("Height",self.height)]:
00126             t = Parameter("AD%s%s"%(self.name,thing),
00127                           size,
00128                           "%s for %s"%(thing,self.name.upper()))
00129             ts.append(t)
00130         if self.name=="sst":
00131             p = [Parameter("ADsstBotRibHeight",
00132                           "430*mm",
00133                            "Height for %s bottom ribs."%(self.name.upper())),
00134                  Parameter("SstFotHeight",
00135                            "10*mm",
00136                            "Height for %s feet."%(self.name.upper())),
00137                  Parameter("SstBotThickness",
00138                            "20*mm",
00139                            "%s bottom thickness."%(self.name.upper())),
00140                  Parameter("SstLidThickness",
00141                            "15*mm",
00142                            "%s bottom thickness."%(self.name.upper()))
00143                  ]
00144             ps.extend(p)
00145 
00146         if self.name=="oil":
00147             p = [Parameter("ADrftBotHeight",
00148                            "30*mm",
00149                            "Height for the bottom reflector in %s."
00150                            %(self.name.upper()))
00151                  ]
00152             ps.extend(p)
00153 
00154         self.params = ts + ps
        return self.params

def gen::CylinderSelf::logvol (   self  ) 

Definition at line 155 of file gen.py.

00157                     :
00158         if self.lv: return self.lv
00159 
00160         from XmlDetDescGen.geometry import Tubs,Logvol,Physvol,PosXYZ
00161         from XmlDetDescGen.util import ExternalEntity
00162 
00163         pv = []
00164         if self.child:
00165             if self.name == 'sst':
00166                 pv.append(Physvol("pv"+self.child.name.upper(),
00167                                   self.child.logvol(),
00168                                   PosXYZ(0, 0,"(SstFotHeight+SstBotThickness-SstLidThickness)/2")))
00169             elif self.name == 'oil':
00170                 pv.append(Physvol("pv"+self.child.name.upper(),
00171                                   self.child.logvol(),
00172                                   #PosXYZ(0, 0, "ADrftBotHeight+ADsstBotRibHeight-ADoilHeight/2")))
00173                                   PosXYZ(0, 0, "ADrftBotHeight+ADsstBotRibHeight-ADoilHeight/2+(OavBrlHeight-OavBrlFlgThickness)/2")))
00174             else:
00175                 pv.append(Physvol("pv"+self.child.name.upper(),
00176                                   self.child.logvol()))
00177 
00178         if self.name == 'oil':
00179             pv.append(Physvol('pvAdPmtArray',
00180                               '/dd/Geometry/AdPmts/lvAdPmtArray'))
00181 
00182         pv.append(ExternalEntity("HandWrittenPhysVols"))
00183 
00184         self.lv = Logvol("lv"+self.name.upper(),self.material,
00185                          Tubs(self.name,
00186                               'AD%sHeight'%self.name,
00187                               'AD%sRadius'%self.name),
00188                          pv)
        return self.lv


Member Data Documentation

gen::CylinderSelf::name

Definition at line 104 of file gen.py.

gen::CylinderSelf::radius

Definition at line 105 of file gen.py.

gen::CylinderSelf::height

Definition at line 106 of file gen.py.

gen::CylinderSelf::material

Definition at line 107 of file gen.py.

gen::CylinderSelf::parent

Definition at line 108 of file gen.py.

gen::CylinderSelf::child

Definition at line 109 of file gen.py.

gen::CylinderSelf::params

Definition at line 110 of file gen.py.

gen::CylinderSelf::lv

Definition at line 111 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:01 2011 for XmlDetDesc by doxygen 1.4.7