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"] |
Definition at line 6 of file gen.py.
def gen::Cylinder::__init__ | ( | self, | ||
name, | ||||
rthick, | ||||
hthick, | ||||
material, | ||||
parent = None , |
||||
child = None | ||||
) |
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
list gen::Cylinder::NAMES = ["sst","oil"] [static] |