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

In This Package:

gen::Cylinder Class Reference

List of all members.

Public Member Functions

def __init__
def parameters
def logvol

Public Attributes

 name
 rthick
 hthick
 material
 parent
 child
 params
 lv

Static Public Attributes

list NAMES = ["sst","oil"]

Detailed Description

Definition at line 6 of file gen.py.


Member Function Documentation

def gen::Cylinder::__init__ (   self,
  name,
  rthick,
  hthick,
  material,
  parent = None,
  child = None 
)

Definition at line 9 of file gen.py.

00009                                                                          :
00010         self.name = name
00011         self.rthick = rthick
00012         self.hthick = hthick
00013         self.material=material
00014         self.parent = parent
00015         self.child = child
00016         self.params = []
00017         self.lv = None
00018         return
00019 
    def parameters(self):

def gen::Cylinder::parameters (   self  ) 

Definition at line 20 of file gen.py.

00020                         :
00021         """
00022         Build up the parameters for a cylinder based on thicknesses and parent values.
00023         """
00024         if self.params: return self.params
00025 
00026         from XmlDetDescGen.parameter import Parameter
00027 
00028         ts = []
00029         ps = []
00030         for thing,thick in [("Radius",self.rthick),
00031                             ("Height",self.hthick)]:
00032             t = Parameter("AD%s%sThickness"%(self.name,thing),
00033                           thick,
00034                           "%s thickness for %s"%(thing,self.name.upper()))
00035             ts.append(t)
00036 
00037             pname = ""
00038             if self.child:
00039                 pname = "AD%s%s + "%(self.child.name,thing)
00040 
00041             double=""
00042             if thing == "Height": double = "*2.0"
00043             p = Parameter("AD%s%s"%(self.name,thing),
00044                           "%sAD%s%sThickness%s"%(pname,self.name,thing,double),
00045                           "%s for %s"%(thing,self.name.upper()))
00046             ps.append(p)
00047             continue
00048         if self.name=="sst":
00049             p = [Parameter("ADsstBotRibHeight",
00050                            "430*mm",
00051                            "Height for %s bottom ribs."%(self.name.upper())),
00052                  Parameter("SstFotHeight",
00053                            "10*mm",
00054                            "Height for %s feet."%(self.name.upper())),
00055                  Parameter("SstBotThickness",
00056                            "20*mm",
00057                            "%s bottom thickness."%(self.name.upper())),
00058                  Parameter("SstLidThickness",
00059                            "15*mm",
00060                            "%s bottom thickness."%(self.name.upper()))
00061                  ]
00062             ps.extend(p)
00063         if self.name=="oil":
00064             p=[Parameter("ADrftBotHeight",
00065                          "30*mm",
00066                          "Height for the bottom reflector in %s."
00067                          %(self.name.upper()))]               
00068             ps.extend(p)
00069         self.params = ps+ts
        return self.params

def gen::Cylinder::logvol (   self  ) 

Definition at line 70 of file gen.py.

00072                     :
00073         if self.lv: return self.lv
00074 
00075         from XmlDetDescGen.geometry import Tubs,Logvol,Physvol,PosXYZ
00076         from XmlDetDescGen.util import ExternalEntity
00077 
00078         pv = []
00079         if self.child:
00080             if self.name == 'oil':
00081                 pv.append(Physvol("pv"+self.child.name.upper(),
00082                                   self.child.logvol(),
00083                                   #PosXYZ(0, 0, "ADrftBotHeight+ADsstBotRibHeight-ADoilHeight/2")))
00084                                   PosXYZ(0, 0, "ADrftBotHeight+ADsstBotRibHeight")))
00085             else:
00086                 pv.append(Physvol("pv"+self.child.name.upper(),
00087                                   self.child.logvol()))
00088 
00089         pv.append(ExternalEntity("HandWrittenPhysVols"))
00090 
00091         self.lv = Logvol("lv"+self.name.upper(),self.material,
00092                          Tubs(self.name,
00093                               'AD%sHeight'%self.name,
00094                               'AD%sRadius'%self.name),
00095                          pv)
        return self.lv


Member Data Documentation

list gen::Cylinder::NAMES = ["sst","oil"] [static]

Definition at line 7 of file gen.py.

gen::Cylinder::name

Definition at line 10 of file gen.py.

gen::Cylinder::rthick

Definition at line 11 of file gen.py.

gen::Cylinder::hthick

Definition at line 12 of file gen.py.

gen::Cylinder::material

Definition at line 13 of file gen.py.

gen::Cylinder::parent

Definition at line 14 of file gen.py.

gen::Cylinder::child

Definition at line 15 of file gen.py.

gen::Cylinder::params

Definition at line 16 of file gen.py.

gen::Cylinder::lv

Definition at line 17 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:13:45 2011 for MiniDryRunXmlDetDesc by doxygen 1.4.7