Warning, /Geometry/VeryForwardData/data/RP_Hybrid.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <DDDefinition xmlns="http://www.cern.ch/cms/DDL"
0003 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
0004 xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../DDLSchema/DDLSchema.xsd">
0005 <ConstantsSection label="RP_Hybrid.xml" eval="true">
0006 <!--
0007 Detector
0008 a
0009 ________
0010 | |
0011 | |b
0012 | |
0013 | |
0014 ========
0015
0016 Top
0017 /\
0018 a/ \b
0019 / \
0020 Left/ \Right
0021 \ /
0022 c\ /d
0023 ====
0024
0025 Sizes and fiducial positions are taken from Eric's drawings, rev. TOTEM v2-A3.
0026 -->
0027 <Constant name="RP_Det_Edge_Length" value="22.276*mm"/>
0028 <Constant name="RP_Det_Size_a" value="36.07*mm"/>
0029 <Constant name="RP_Det_Size_b" value="36.07*mm"/>
0030 <Constant name="RP_Det_Fid_Top_a" value="0.301*mm"/>
0031 <Constant name="RP_Det_Fid_Top_b" value="1.0275*mm"/>
0032 <Constant name="RP_Det_Fid_Left_a" value="0.301*mm"/>
0033 <Constant name="RP_Det_Fid_Left_c" value="0.2985*mm"/>
0034 <Constant name="RP_Det_Fid_Right_b" value="1.0275*mm"/>
0035 <Constant name="RP_Det_Fid_Right_d" value="1.0255*mm"/>
0036 <Constant name="xT" value="[RP_Det_Size_a]/2-[RP_Det_Fid_Top_b]"/>
0037 <Constant name="yT" value="[RP_Det_Size_b]/2-[RP_Det_Fid_Top_a]"/>
0038 <Constant name="xL" value="-[RP_Det_Size_a]/2+[RP_Det_Fid_Left_c]"/>
0039 <Constant name="yL" value="[RP_Det_Size_b]/2-[RP_Det_Fid_Left_a]"/>
0040 <Constant name="xR" value="[RP_Det_Size_a]/2-[RP_Det_Fid_Right_b]"/>
0041 <Constant name="yR" value="-[RP_Det_Size_b]/2+[RP_Det_Fid_Right_d]"/>
0042 <!--
0043 displacement of the intersection of fiducial-guided lines wrt the geometric centre
0044 calculated as a solution of the linear system consisting of the equation of the
0045 line going through left and right fiducials and the distance to the middle
0046 between left and right fiducials, i.e.:
0047 (y-yL)(xR-xL)-(yR-yL)(x-xL)=0
0048 sqrt((xR-x)^2+(yR-y)^2)=0.5*sqrt((xR-xL)^2+(yR-yL)^2)
0049 -->
0050 <Constant name="RP_Det_dx_0" value="([RP_Det_Fid_Left_c]-[RP_Det_Fid_Right_b])/2"/>
0051 <!-- RP_Det_dx = -0.3645 -->
0052 <Constant name="RP_Det_dy_0" value="([RP_Det_Fid_Right_d]-[RP_Det_Fid_Left_a])/2"/>
0053 <!-- RP_Det_dy = 0.362 -->
0054 <Constant name="RP_Det_dx" value="([RP_Det_dx_0]-[RP_Det_dy_0])/sqrt(2)"/>
0055 <!-- -0.514 -->
0056 <Constant name="RP_Det_dy" value="([RP_Det_dx_0]+[RP_Det_dy_0])/sqrt(2)"/>
0057 <!-- -0.016 -->
0058 <Constant name="RP_Det_Thickness" value="0.3*mm"/>
0059 <Constant name="RP_Det_Edge_to_Center" value="abs([RP_Det_dx_0]+[RP_Det_dy_0]-[RP_Det_Size_a]+[RP_Det_Edge_Length]/sqrt(2))/sqrt(2)"/>
0060 <!-- RP_Det_Edge_to_Center = 14.369 -->
0061
0062 <Constant name="RP_Ref_Hole_Radius" value="5/2*mm"/>
0063 <Constant name="RP_Front_Frame_Hole_Bottom_diagonal" value="80*mm"/>
0064 <Constant name="RP_Front_Frame_Hole_Bottom_size" value="[RP_Front_Frame_Hole_Bottom_diagonal]*sqrt(2)*0.5"/>
0065 <Constant name="RP_Front_Frame_Leg_x" value="5*mm"/>
0066 <Constant name="RP_Front_Frame_Leg_y" value="3.2*mm"/>
0067 <Constant name="RP_Front_Frame_Leg_Thin_y" value="1.6*mm"/>
0068 <Constant name="RP_Front_Frame_Leg_Thin_z" value="0.45*mm"/>
0069 <Constant name="RP_Front_Frame_Leg_Base_y" value="[RP_Front_Frame_Leg_y]-[RP_Front_Frame_Leg_Thin_y]"/>
0070 <Constant name="RP_Front_Frame_X" value="118*mm"/> <!-- without positioning struts (2mm left, 3mm right) -->
0071 <Constant name="RP_Front_Frame_Y_full" value="80.2*mm"/> <!-- with positioning "legs" -->
0072 <Constant name="RP_Front_Frame_Y" value="[RP_Front_Frame_Y_full]-[RP_Front_Frame_Leg_y]"/> <!-- without positioning "legs" -->
0073 <Constant name="RP_Front_Frame_Z" value="1*mm"/>
0074 <Constant name="RP_Front_Frame_Ref_x" value="11.5*mm"/>
0075 <Constant name="RP_Front_Frame_Ref_y" value="44.2*mm"/>
0076 <Constant name="RP_Front_Frame_Ref_Hole_Dist" value="101*mm"/>
0077 <Constant name="RP_Front_Frame_Ref_Hole_dy" value="-[RP_Front_Frame_Y]/2-[RP_Front_Frame_Leg_y]+[RP_Front_Frame_Ref_y]"/>
0078 <Constant name="RP_Barrette_Thick_x" value="13*mm"/>
0079 <Constant name="RP_Barrette_Thin_x" value="23*mm-[RP_Barrette_Thick_x]"/>
0080 <Constant name="RP_Barrette_y" value="78*mm"/>
0081 <Constant name="RP_Barrette_Thick_z" value="4.5*mm"/>
0082 <Constant name="RP_Barrette_Thin_z" value="0.8*mm"/>
0083 <Constant name="RP_Barrette_Ref_y" value="42*mm"/>
0084 <Constant name="RP_Barrette_Ref_Hole_dx" value="-[RP_Barrette_Thick_x]/2+8.5*mm"/>
0085 <Constant name="RP_Barrette_Ref_Hole_dy" value="-[RP_Barrette_y]/2+[RP_Barrette_Ref_y]"/>
0086 <Constant name="RP_PCB_x" value="90*mm"/>
0087 <Constant name="RP_PCB_y" value="78*mm"/>
0088 <Constant name="RP_PCB_z" value="1.25*mm"/>
0089 <Constant name="RP_PCB_Hole_Size" value="30*mm"/>
0090 <Constant name="RP_PCB_Hole_dy" value="10.42*mm"/>
0091
0092 </ConstantsSection>
0093
0094 <SolidSection label="RP_Hybrid.xml">
0095 <Box dx="[RP_Front_Frame_X]/2" dy="[RP_Front_Frame_Y]/2" dz="[RP_Front_Frame_Z]/2" name="RP_Front_Frame_1"/>
0096 <Box dx="[RP_Front_Frame_Hole_Bottom_size]/2" dy="[RP_Front_Frame_Hole_Bottom_size]/2" dz="[RP_Front_Frame_Z]" name="RP_Hole_1"/>
0097 <Box dx="[RP_Front_Frame_Leg_x]/2" dy="[RP_Front_Frame_Leg_Base_y]/2" dz="[RP_Front_Frame_Z]/2" name="RP_Front_Frame_Leg_Base"/>
0098 <Trd1 dx1="2/2*mm" dx2="5/2*mm" dy1="[RP_Front_Frame_Leg_Thin_z]/2" dy2="[RP_Front_Frame_Leg_Thin_z]/2" dz="[RP_Front_Frame_Leg_Thin_y]/2" name="RP_Front_Frame_Leg_Strut"/>
0099 <Tubs rMin="0*mm" rMax="[RP_Ref_Hole_Radius]" dz="[RP_Front_Frame_Z]" startPhi="0*deg" deltaPhi="360*deg" name="RP_Front_Frame_Ref_Hole"/>
0100 <UnionSolid name="RP_Front_Frame_Leg">
0101 <rSolid name="RP_Front_Frame_Leg_Base"/>
0102 <rSolid name="RP_Front_Frame_Leg_Strut"/>
0103 <rRotation name="RP_Transformations:RP_x_90_rot"/>
0104 <Translation x="0*mm" y="-[RP_Front_Frame_Leg_Base_y]/2-[RP_Front_Frame_Leg_Thin_y]/2" z="-[RP_Front_Frame_Z]/2+[RP_Front_Frame_Leg_Thin_z]/2"/>
0105 </UnionSolid>
0106 <SubtractionSolid name="RP_Front_Frame_2">
0107 <rSolid name="RP_Front_Frame_1"/>
0108 <rSolid name="RP_Hole_1"/>
0109 <rRotation name="RP_Transformations:RP_45_z_rot"/>
0110 <Translation x="0*mm" y="-[RP_Front_Frame_Y]/2" z="0*mm" />
0111 </SubtractionSolid>
0112 <UnionSolid name="RP_Front_Frame_3a">
0113 <rSolid name="RP_Front_Frame_2"/>
0114 <rSolid name="RP_Front_Frame_Leg"/>
0115 <Translation x="-[RP_Front_Frame_Hole_Bottom_diagonal]/2-[RP_Front_Frame_Leg_x]/2" y="-[RP_Front_Frame_Y]/2-[RP_Front_Frame_Leg_Base_y]/2" z="0*mm"/>
0116 </UnionSolid>
0117 <UnionSolid name="RP_Front_Frame_3b">
0118 <rSolid name="RP_Front_Frame_3a"/>
0119 <rSolid name="RP_Front_Frame_Leg"/>
0120 <Translation x="[RP_Front_Frame_Hole_Bottom_diagonal]/2+[RP_Front_Frame_Leg_x]/2" y="-[RP_Front_Frame_Y]/2-[RP_Front_Frame_Leg_Base_y]/2" z="0*mm"/>
0121 </UnionSolid>
0122 <SubtractionSolid name="RP_Front_Frame_3h_Right">
0123 <rSolid name="RP_Front_Frame_3b"/>
0124 <rSolid name="RP_Front_Frame_Ref_Hole"/>
0125 <Translation x="[RP_Front_Frame_Ref_Hole_Dist]/2" y="[RP_Front_Frame_Ref_Hole_dy]" z="0*mm"/>
0126 </SubtractionSolid>
0127 <SubtractionSolid name="RP_Front_Frame_3h">
0128 <rSolid name="RP_Front_Frame_3h_Right"/>
0129 <rSolid name="RP_Front_Frame_Ref_Hole"/>
0130 <Translation x="-[RP_Front_Frame_Ref_Hole_Dist]/2" y="[RP_Front_Frame_Ref_Hole_dy]" z="0*mm"/>
0131 </SubtractionSolid>
0132 <Trd1 dx1="3/2*mm" dx2="3*(1+2*tan((90-10)*deg))/2*mm" dy1="[RP_Front_Frame_Z]/2" dy2="[RP_Front_Frame_Z]/2" dz="3/2*mm" name="RP_Front_Frame_Right_Strut_base"/>
0133 <!-- the box below is intentionally two times thicker to avoid visualisation errors due to lack of precision -->
0134 <Box dx="3*tan((90-10)*deg)/2*mm" dy="[RP_Front_Frame_Z]" dz="3/2*mm" name="RP_Front_Frame_Right_Strut_cut"/>
0135 <SubtractionSolid name="RP_Front_Frame_Right_Strut">
0136 <rSolid name="RP_Front_Frame_Right_Strut_base"/>
0137 <rSolid name="RP_Front_Frame_Right_Strut_cut"/>
0138 <Translation x="3*(1+tan((90-10)*deg))/2*mm" y="0*mm" z="0*mm"/>
0139 </SubtractionSolid>
0140 <UnionSolid name="RP_Front_Frame_3">
0141 <rSolid name="RP_Front_Frame_3h"/>
0142 <rSolid name="RP_Front_Frame_Right_Strut"/>
0143 <rRotation name="RP_Transformations:RP_y_270_z_90_rot"/>
0144 <Translation x="[RP_Front_Frame_X]/2+3/2*mm" y="[RP_Front_Frame_Ref_Hole_dy]+3/2*mm" z="0*mm"/>
0145 </UnionSolid>
0146 <UnionSolid name="RP_Back_Frame_3">
0147 <rSolid name="RP_Front_Frame_3h"/>
0148 <rSolid name="RP_Front_Frame_Right_Strut"/>
0149 <rRotation name="RP_Transformations:RP_y_90_z_90_rot"/>
0150 <Translation x="-([RP_Front_Frame_X]/2+3/2*mm)" y="[RP_Front_Frame_Ref_Hole_dy]+3/2*mm" z="0*mm"/>
0151 </UnionSolid>
0152
0153 <Box dx="[RP_Barrette_Thick_x]/2" dy="[RP_Barrette_y]/2" dz="[RP_Barrette_Thick_z]/2" name="RP_Barrette_Thick_Base"/>
0154 <Box dx="[RP_Barrette_Thin_x]/2" dy="[RP_Barrette_y]/2" dz="[RP_Barrette_Thin_z]/2" name="RP_Barrette_Thin_Base"/>
0155 <Tubs rMin="0*mm" rMax="[RP_Ref_Hole_Radius]" dz="[RP_Barrette_Thick_z]" startPhi="0*deg" deltaPhi="360*deg" name="RP_Barrette_Ref_Hole"/>
0156 <Box dx="9/2*mm" dy="6/2*mm" dz="[RP_Barrette_Thick_z]/2" name="RP_Barrette_Bottom_Cut"/>
0157 <UnionSolid name="RP_Barrette_Base_Left">
0158 <rSolid name="RP_Barrette_Thick_Base"/>
0159 <rSolid name="RP_Barrette_Thin_Base"/>
0160 <Translation x="[RP_Barrette_Thick_x]/2+[RP_Barrette_Thin_x]/2" y="0*mm" z="[RP_Barrette_Thick_z]/2-[RP_Barrette_Thin_z]/2"/>
0161 </UnionSolid>
0162 <SubtractionSolid name="RP_Barrette_Left_1">
0163 <rSolid name="RP_Barrette_Base_Left"/>
0164 <rSolid name="RP_Barrette_Ref_Hole"/>
0165 <Translation x="[RP_Barrette_Ref_Hole_dx]" y="[RP_Barrette_Ref_Hole_dy]" z="0*mm"/>
0166 </SubtractionSolid>
0167 <SubtractionSolid name="RP_Barrette_Left">
0168 <rSolid name="RP_Barrette_Left_1"/>
0169 <rSolid name="RP_Barrette_Bottom_Cut"/>
0170 <Translation x="-[RP_Barrette_Thick_x]/2+9/2*mm" y="-[RP_Barrette_y]/2+6/2*mm" z="0*mm"/>
0171 </SubtractionSolid>
0172
0173 <UnionSolid name="RP_Barrette_Base_Right">
0174 <rSolid name="RP_Barrette_Thick_Base"/>
0175 <rSolid name="RP_Barrette_Thin_Base"/>
0176 <Translation x="-([RP_Barrette_Thick_x]/2+[RP_Barrette_Thin_x]/2)" y="0*mm" z="[RP_Barrette_Thick_z]/2-[RP_Barrette_Thin_z]/2"/>
0177 </UnionSolid>
0178 <SubtractionSolid name="RP_Barrette_Right_1">
0179 <rSolid name="RP_Barrette_Base_Right"/>
0180 <rSolid name="RP_Barrette_Ref_Hole"/>
0181 <Translation x="-[RP_Barrette_Ref_Hole_dx]" y="[RP_Barrette_Ref_Hole_dy]" z="0*mm"/>
0182 </SubtractionSolid>
0183 <SubtractionSolid name="RP_Barrette_Right">
0184 <rSolid name="RP_Barrette_Right_1"/>
0185 <rSolid name="RP_Barrette_Bottom_Cut"/>
0186 <Translation x="[RP_Barrette_Thick_x]/2-9/2*mm" y="[RP_Barrette_y]/2-6/2*mm" z="0*mm"/>
0187 </SubtractionSolid>
0188
0189 <Box dx="[RP_PCB_x]/2" dy="[RP_PCB_y]/2" dz="[RP_PCB_z]/2" name="RP_PCB_1"/>
0190 <Box dx="[RP_PCB_Hole_Size]/2" dy="[RP_PCB_Hole_Size]/2" dz="[RP_PCB_z]" name="RP_PCB_Hole"/>
0191 <SubtractionSolid name="RP_PCB">
0192 <rSolid name="RP_PCB_1"/>
0193 <rSolid name="RP_PCB_Hole"/>
0194 <rRotation name="RP_Transformations:RP_45_z_rot"/>
0195 <Translation x="0*mm" y="-[RP_PCB_y]/2+[RP_PCB_Hole_dy]" z="0*mm"/>
0196 </SubtractionSolid>
0197 <Box dx="[RP_Det_Size_a]/2" dy="[RP_Det_Size_b]/2" dz="[RP_Det_Thickness]/2" name="RP_Silicon_Detector_1"/>
0198 <Box dx="[RP_Det_Edge_Length]/2" dy="[RP_Det_Edge_Length]/2" dz="[RP_Det_Thickness]" name="RP_Silicon_Det_Edge_Cut"/>
0199 <SubtractionSolid name="RP_Silicon_Detector">
0200 <rSolid name="RP_Silicon_Detector_1"/>
0201 <rSolid name="RP_Silicon_Det_Edge_Cut"/>
0202 <rRotation name="RP_Transformations:RP_45_z_rot"/>
0203 <Translation x="-[RP_Det_Size_a]/2" y="-[RP_Det_Size_b]/2" z="0*mm"/>
0204 </SubtractionSolid>
0205 </SolidSection>
0206
0207 <LogicalPartSection label="RP_Hybrid.xml">
0208 <LogicalPart name="RP_Front_Frame_3">
0209 <rSolid name="RP_Front_Frame_3"/>
0210 <rMaterial name="RP_Materials:AISI-316L-Steel"/>
0211 </LogicalPart>
0212 <LogicalPart name="RP_Back_Frame_3">
0213 <rSolid name="RP_Back_Frame_3"/>
0214 <rMaterial name="RP_Materials:AISI-316L-Steel"/>
0215 </LogicalPart>
0216 <LogicalPart name="RP_Barrette_Left">
0217 <rSolid name="RP_Barrette_Left"/>
0218 <rMaterial name="RP_Materials:CE7"/>
0219 </LogicalPart>
0220 <LogicalPart name="RP_Barrette_Right">
0221 <rSolid name="RP_Barrette_Right"/>
0222 <rMaterial name="RP_Materials:CE7"/>
0223 </LogicalPart>
0224 <LogicalPart name="RP_PCB">
0225 <rSolid name="RP_PCB"/>
0226 <rMaterial name="RP_Materials:PCB"/>
0227 </LogicalPart>
0228 <LogicalPart name="RP_Silicon_Detector">
0229 <rSolid name="RP_Silicon_Detector"/>
0230 <rMaterial name="RP_Materials:Silicon"/>
0231 </LogicalPart>
0232 </LogicalPartSection>
0233
0234 <!--PosPartSection label="RP_Hybrid.xml">
0235 <PosPart copyNumber="0">
0236 <rParent name="RP_Box:RP_box_primary_vacuum"/>
0237 <rChild name="RP_Silicon_Detector"/>
0238 <rRotation name="RP_Transformations:RP_45_z_180_y_rot"/>
0239 </PosPart>
0240 </PosPartSection-->
0241
0242 </DDDefinition>