Back to home page

Project CMSSW displayed by LXR

 
 

    


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>