Back to home page

EIC code displayed by LXR

 
 

    


Warning, /epic/compact/tracking/silicon_barrel.xml is written in an unsupported language. File is not indexed.

0001 <!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
0002 <!-- Copyright (C) 2022 - 2025 Sylvester Joosten, Wouter Deconinck, Shujie Li, Aditya Yalavatti, Sam Henry -->
0003 
0004 <lccdd>
0005   <define>
0006     <comment>
0007          This version is for the flat_OB geometry - a more accurate model with carbon fiber braces to
0008          reproduce the peaks in the material thickness scan.
0009 
0010          Presentation: https://indico.bnl.gov/event/29542
0011     </comment>
0012 
0013     <constant name="SiBarrelSensor_thickness" value="40*um" />
0014     <constant name="SiBarrelSensorMod_thickness" value="SiBarrelSensor_thickness*2.7" /> <!-- multiply thickness by 2.7 this increases thickness by 0.00034 -->
0015     <constant name="SiBarrelSiliconGap_width" value="1*mm" />
0016 
0017     <constant name="SiBarrelMod1Service_thickness" value="0.07875*mm" />
0018     <constant name="SiBarrelMod2Service_thickness" value="0.066045*mm" />
0019     <constant name="SiBarrelMod1Frame_thickness" value="0.06*mm" />
0020     <constant name="SiBarrelMod2Frame_thickness" value="0.12*mm" />
0021     <constant name="SiBarrelStave1_width" value="3.8*cm" />
0022     <constant name="SiBarrelStave2_width" value="3.8*cm" /> <!--UPDATED from 3.9 to 3.8-->
0023 
0024     <constant name="SiBarrelMod1_length"        value="50.3*cm"/>
0025     <comment> 84cm=2*42cm is the engineer max </comment>
0026     <constant name="SiBarrelMod2_length" value="84*cm - 4.7*cm" /> <!--UPDATED from 84*cm to 84*cm - 4.7*cm = 79.3cm-->
0027 
0028     <constant name="SiBarrelLayer1_length" value="SiBarrelMod1_length + 1*um + 0.6*cm" />
0029     <constant name="SiBarrelLayer2_length" value="SiBarrelMod2_length + 1*um" />
0030     <constant name="SiBarrelEnvelope_length" value="SiBarrelLayer2_length + 1*um" />
0031 
0032     <constant name="SiBarrelLayer_thickness" value="1.2*cm" />
0033     <constant name="SiBarrelLayer1_rmin" value="SiBarrel1_rmin " />
0034     <constant name="SiBarrelLayer1_rmax" value="SiBarrelLayer1_rmin + SiBarrelLayer_thickness" />
0035     <constant name="SiBarrelLayer2_rmin" value="SiBarrel2_rmin " />
0036     <constant name="SiBarrelLayer2_rmax" value="SiBarrelLayer2_rmin + SiBarrelLayer_thickness" />
0037 
0038     <constant name="SiBarrelMod1_rc" value="26.5*cm" /> <!-- 26.5 cm is the average radius for inner sub-layer of 262mm and outer of 267mm-->
0039     <constant name="SiBarrelMod2_rc" value="42*cm" /> <!-- 42 cm, inner/outer 417mm, 423mm -->
0040 
0041     <constant name="SiBarrelStave1_count" value="46" />
0042     <constant name="SiBarrelStave2_count" value="70" />
0043     <constant name="SiBarrel1_radius_castellation" value="6*mm" />
0044     <constant name="SiBarrel2_radius_castellation" value="6*mm" />
0045     <constant name="SiBarrelMod1Lower_rc"         value="SiBarrelMod1_rc-SiBarrel1_radius_castellation/2" /> <!--get rmin of the lower modules -->
0046     <constant name="SiBarrelMod2Lower_rc"         value="SiBarrelMod2_rc-SiBarrel2_radius_castellation/2"/>
0047 
0048 
0049     <constant name="SiBarrelBrace_width" value="10*mm" />
0050     <constant name="SiBarrelBrace_thickness" value="2*mm" />
0051     <constant name="SiBarrelBrace_StaveWidthFraction" value="0.9" />
0052     <constant name="SiBarrelBrace_Position_X" value="-1*mm" />
0053 
0054     <constant name="SiBarrel1_Brace0_Position_Y" value="0.0" />
0055     <constant name="SiBarrel1_Brace1_Position_Y" value="13.20*cm" />
0056     <constant name="SiBarrel1_Brace2_Position_Y" value="24.0*cm" />
0057     <constant name="SiBarrel2_Brace0_Position_Y" value="0.0" />
0058     <constant name="SiBarrel2_Brace1_Position_Y" value="11.3*cm" />
0059     <constant name="SiBarrel2_Brace2_Position_Y" value="21.6*cm" />
0060     <constant name="SiBarrel2_Brace3_Position_Y" value="32.8*cm" />
0061     <constant name="SiBarrel2_Brace4_Position_Y" value="SiBarrelMod2_length/2-SiBarrelBrace_width/2" /> <!-- to align last brace edge with module edge, the center should be 79.3/2-1/2=39.15cm-->
0062 
0063 
0064 
0065   </define>
0066 
0067   <detectors>
0068     <documentation level="5">
0069       ### Actual detectors
0070     </documentation>
0071     <detector
0072       id="TrackerBarrel_0_ID"
0073       name="SagittaSiBarrel"
0074       type="epic_TrackerBarrel"
0075       readout="SiBarrelHits"
0076       insideTrackingVolume="true">
0077       <type_flags type="DetType_TRACKER + DetType_BARREL" />
0078       <dimensions
0079         rmin="SiBarrelLayer1_rmin"
0080         rmax="SiBarrelLayer1_rmax"
0081         length="SiBarrelLayer1_length" />
0082       <comment>Silicon Barrel Modules</comment>
0083       <module name="Module1" vis="TrackerLayerVis">
0084         <module_component name="Frame"
0085           material="CarbonFiber"
0086           sensitive="false"
0087           width="SiBarrelStave1_width"
0088           length="SiBarrelMod1_length"
0089           thickness="SiBarrelMod1Frame_thickness"
0090           vis="TrackerSupportVis" >
0091         </module_component>
0092 
0093         <module_component name="Brace" material="CarbonFiber"
0094           width="SiBarrelStave1_width*SiBarrelBrace_StaveWidthFraction"
0095           thickness="SiBarrelBrace_thickness"
0096           length="SiBarrelBrace_width"
0097           vis="TrackerSupportVis">
0098           <position x="SiBarrelBrace_Position_X" y="SiBarrel1_Brace0_Position_Y" z="0" />
0099         </module_component>
0100 
0101         <module_component name="Brace" material="CarbonFiber"
0102           width="SiBarrelStave1_width*SiBarrelBrace_StaveWidthFraction"
0103           thickness="SiBarrelBrace_thickness"
0104           length="SiBarrelBrace_width"
0105           vis="TrackerSupportVis">
0106           <position x="SiBarrelBrace_Position_X" y="SiBarrel1_Brace1_Position_Y" z=" - SiBarrelBrace_thickness" /> <!-- use z position here to shift this component relative to previous one. If zero, assume all components stacked on each other-->
0107         </module_component>
0108 
0109         <module_component name="Brace" material="CarbonFiber"
0110           width="SiBarrelStave1_width*SiBarrelBrace_StaveWidthFraction"
0111           thickness="SiBarrelBrace_thickness"
0112           length="SiBarrelBrace_width"
0113           vis="TrackerSupportVis">
0114           <position x="SiBarrelBrace_Position_X" y="-SiBarrel1_Brace1_Position_Y" z="- SiBarrelBrace_thickness" />
0115         </module_component>
0116 
0117         <module_component name="Brace" material="CarbonFiber"
0118           width="SiBarrelStave1_width*SiBarrelBrace_StaveWidthFraction"
0119           thickness="SiBarrelBrace_thickness"
0120           length="SiBarrelBrace_width"
0121           vis="TrackerSupportVis">
0122           <position x="SiBarrelBrace_Position_X" y="SiBarrel1_Brace2_Position_Y" z="- SiBarrelBrace_thickness" />
0123         </module_component>
0124 
0125         <module_component name="Brace" material="CarbonFiber"
0126           width="SiBarrelStave1_width*SiBarrelBrace_StaveWidthFraction"
0127           thickness="SiBarrelBrace_thickness"
0128           length="SiBarrelBrace_width"
0129           vis="TrackerSupportVis">
0130           <position x="SiBarrelBrace_Position_X" y="-SiBarrel1_Brace2_Position_Y" z=" - SiBarrelBrace_thickness" />
0131         </module_component>
0132 
0133         <module_component name="Service"
0134           material="Kapton"
0135           sensitive="false"
0136           width="SiBarrelStave1_width"
0137           length="SiBarrelMod1_length"
0138           thickness="SiBarrelMod1Service_thickness"
0139           vis="TrackerLayerVis"/>
0140 
0141         <module_component name="Silicon_right"
0142           material="Silicon"
0143           sensitive="true"
0144           width="SiBarrelStave1_width/2 - SiBarrelSiliconGap_width/2"
0145           length="SiBarrelMod1_length"
0146           thickness="SiBarrelSensorMod_thickness"
0147           vis="TrackerLayerVis">
0148           <position x="SiBarrelSiliconGap_width/4 + SiBarrelStave1_width/4" y="0" z="0" />
0149         </module_component>
0150         <module_component name="Silicon_center"
0151           material="Silicon"
0152           sensitive="false"
0153           width="SiBarrelSiliconGap_width"
0154           length="SiBarrelMod1_length"
0155           thickness="SiBarrelSensorMod_thickness"
0156           vis="TrackerLayerVis">
0157         <position x="0" y="0" z="-SiBarrelSensorMod_thickness" />
0158         </module_component>
0159         <module_component name="Silicon_left"
0160           material="Silicon"
0161           sensitive="true"
0162           width="SiBarrelStave1_width/2 - SiBarrelSiliconGap_width/2"
0163           length="SiBarrelMod1_length"
0164           thickness="SiBarrelSensorMod_thickness"
0165           vis="TrackerLayerVis">
0166         <position x="-SiBarrelSiliconGap_width/4 - SiBarrelStave1_width/4" y="0" z="-SiBarrelSensorMod_thickness" />
0167         </module_component>
0168 
0169 
0170       </module>
0171       <comment> Layers composed of many arrayed modules </comment>
0172       <layer module="Module1" id="1" vis="TrackerLayerVis">
0173         <barrel_envelope
0174           inner_r="SiBarrelLayer1_rmin"
0175           outer_r="SiBarrelLayer1_rmax"
0176           z_length="SiBarrelLayer1_length" />
0177         <layer_material surface="inner" binning="binPhi,binZ" bins0="SiBarrelStave1_count"
0178           bins1="100" />
0179         <layer_material surface="outer" binning="binPhi,binZ" bins0="SiBarrelStave1_count"
0180           bins1="100" />
0181         <comment>
0182           phi0 : Starting phi of first module.
0183           phi_tilt : Phi tilt of a module.
0184           rc : Radius of the module center.
0185           nphi : Number of modules in phi.
0186           rphi_dr : The delta radius of every other module.
0187           z0 : Z position of first module in phi.
0188           nz : Number of modules to place in z.
0189           dr : Radial displacement parameter, of every other module.
0190         </comment>
0191         <rphi_layout phi_tilt="0.0" nphi="SiBarrelStave1_count" phi0="0.0"
0192           rc="SiBarrelMod1Lower_rc" dr="SiBarrel1_radius_castellation" />
0193         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1" />
0194       </layer>
0195     </detector>
0196     <documentation level="5">
0197       ### Actual detectors
0198     </documentation>
0199     <detector
0200       id="TrackerBarrel_1_ID"
0201       name="OuterSiBarrel"
0202       type="epic_TrackerBarrel"
0203       readout="SiBarrelHits"
0204       insideTrackingVolume="true">
0205       <type_flags type="DetType_TRACKER + DetType_BARREL" />
0206       <dimensions
0207         rmin="SiBarrelLayer2_rmin"
0208         rmax="SiBarrelLayer2_rmax"
0209         length="SiBarrelLayer2_length" />
0210       <comment>Silicon Barrel Modules</comment>
0211       <module name="Module1" vis="TrackerLayerVis">
0212 
0213         <module_component name="Frame"
0214           material="CarbonFiber"
0215           sensitive="false"
0216           width="SiBarrelStave2_width"
0217           length="SiBarrelMod2_length"
0218           thickness="SiBarrelMod2Frame_thickness"
0219           vis="TrackerSupportVis" />
0220 
0221         <module_component name="Brace" material="CarbonFiber"
0222           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0223           thickness="SiBarrelBrace_thickness"
0224           length="SiBarrelBrace_width"
0225           vis="TrackerSupportVis">
0226           <position x="SiBarrelBrace_Position_X" y="SiBarrel2_Brace0_Position_Y" z="0" />
0227         </module_component>
0228 
0229         <module_component name="Brace" material="CarbonFiber"
0230           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0231           thickness="SiBarrelBrace_thickness"
0232           length="SiBarrelBrace_width"
0233           vis="TrackerSupportVis">
0234           <position x="SiBarrelBrace_Position_X" y="SiBarrel2_Brace1_Position_Y" z="- SiBarrelBrace_thickness" />
0235         </module_component>
0236 
0237         <module_component name="Brace" material="CarbonFiber"
0238           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0239           thickness="SiBarrelBrace_thickness"
0240           length="SiBarrelBrace_width"
0241           vis="TrackerSupportVis">
0242           <position x="SiBarrelBrace_Position_X" y="-SiBarrel2_Brace1_Position_Y" z=" - SiBarrelBrace_thickness" />
0243         </module_component>
0244 
0245         <module_component name="Brace" material="CarbonFiber"
0246           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0247           thickness="SiBarrelBrace_thickness"
0248           length="SiBarrelBrace_width"
0249           vis="TrackerSupportVis">
0250           <position x="SiBarrelBrace_Position_X" y="SiBarrel2_Brace2_Position_Y" z="- SiBarrelBrace_thickness" />
0251         </module_component>
0252 
0253         <module_component name="Brace" material="CarbonFiber"
0254           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0255           thickness="SiBarrelBrace_thickness"
0256           length="SiBarrelBrace_width"
0257           vis="TrackerSupportVis">
0258           <position x="SiBarrelBrace_Position_X" y="-SiBarrel2_Brace2_Position_Y" z="- SiBarrelBrace_thickness" />
0259         </module_component>
0260 
0261         <module_component name="Brace" material="CarbonFiber"
0262           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0263           thickness="SiBarrelBrace_thickness"
0264           length="SiBarrelBrace_width"
0265           vis="TrackerSupportVis">
0266           <position x="SiBarrelBrace_Position_X" y="SiBarrel2_Brace3_Position_Y" z="- SiBarrelBrace_thickness" />
0267         </module_component>
0268 
0269         <module_component name="Brace" material="CarbonFiber"
0270           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0271           thickness="SiBarrelBrace_thickness"
0272           length="SiBarrelBrace_width"
0273           vis="TrackerSupportVis">
0274           <position x="SiBarrelBrace_Position_X" y="-SiBarrel2_Brace3_Position_Y" z="- SiBarrelBrace_thickness" />
0275         </module_component>
0276 
0277         <module_component name="Brace" material="CarbonFiber"
0278           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0279           thickness="SiBarrelBrace_thickness"
0280           length="SiBarrelBrace_width"
0281           vis="TrackerSupportVis">
0282           <position x="SiBarrelBrace_Position_X" y="SiBarrel2_Brace4_Position_Y" z="- SiBarrelBrace_thickness" />
0283         </module_component>
0284 
0285         <module_component name="Brace" material="CarbonFiber"
0286           width="SiBarrelStave2_width*SiBarrelBrace_StaveWidthFraction"
0287           thickness="SiBarrelBrace_thickness"
0288           length="SiBarrelBrace_width"
0289           vis="TrackerSupportVis">
0290           <position x="SiBarrelBrace_Position_X" y="-SiBarrel2_Brace4_Position_Y" z="- SiBarrelBrace_thickness" />
0291         </module_component>
0292 
0293       <module_component name="Service"
0294           material="Kapton"
0295           sensitive="false"
0296           width="SiBarrelStave2_width"
0297           length="SiBarrelMod2_length"
0298           thickness="SiBarrelMod2Service_thickness"
0299           vis="TrackerLayerVis" /> <!-- multiply thickness by 0.17 and change from aluminum to Kapton -->
0300 
0301         <module_component name="Silicon_right"
0302           material="Silicon"
0303           sensitive="true"
0304           width="SiBarrelStave2_width/2 - SiBarrelSiliconGap_width/2"
0305           length="SiBarrelMod2_length"
0306           thickness="SiBarrelSensorMod_thickness"
0307           vis="TrackerLayerVis">
0308           <position x="SiBarrelSiliconGap_width/4 + SiBarrelStave2_width/4" y="0" z="0" />
0309         </module_component>
0310         <module_component name="Silicon_center"
0311           material="Silicon"
0312           sensitive="false"
0313           width="SiBarrelSiliconGap_width"
0314           length="SiBarrelMod2_length"
0315           thickness="SiBarrelSensorMod_thickness"
0316           vis="TrackerLayerVis">
0317        <position x="0" y="0" z="-SiBarrelSensorMod_thickness" />
0318         </module_component>
0319         <module_component name="Silicon_left"
0320           material="Silicon"
0321           sensitive="true"
0322           width="SiBarrelStave2_width/2 - SiBarrelSiliconGap_width/2"
0323           length="SiBarrelMod2_length"
0324           thickness="SiBarrelSensorMod_thickness"
0325           vis="TrackerLayerVis">
0326     <position x="-SiBarrelSiliconGap_width/4 - SiBarrelStave2_width/4" y="0" z="-SiBarrelSensorMod_thickness" />
0327         </module_component>
0328 
0329       </module>
0330       <comment> Layers composed of many arrayed modules </comment>
0331       <layer module="Module1" id="1" vis="TrackerLayerVis">
0332         <barrel_envelope
0333           inner_r="SiBarrelLayer2_rmin"
0334           outer_r="SiBarrelLayer2_rmax"
0335           z_length="SiBarrelLayer2_length" />
0336         <layer_material surface="inner" binning="binPhi,binZ" bins0="128" bins1="100" />
0337         <layer_material surface="outer" binning="binPhi,binZ" bins0="128" bins1="100" />
0338         <comment>
0339           phi0 : Starting phi of first module.
0340           phi_tilt : Phi tilt of a module.
0341           rc : Radius of the module center.
0342           nphi : Number of modules in phi.
0343           rphi_dr : The delta radius of every other module.
0344           z0 : Z position of first module in phi.
0345           nz : Number of modules to place in z.
0346           dr : Radial displacement parameter, of every other module.
0347         </comment>
0348         <rphi_layout phi_tilt="0.0" nphi="SiBarrelStave2_count" phi0="0.0"
0349           rc="SiBarrelMod2Lower_rc" dr="SiBarrel2_radius_castellation" />
0350         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1" />
0351       </layer>
0352     </detector>
0353   </detectors>
0354 
0355   <plugins>
0356     <plugin name="DD4hep_ParametersPlugin">
0357       <argument value="SagittaSiBarrel" />
0358       <argument value="layer_pattern: str=SagittaSiBarrel_layer\d" />
0359     </plugin>
0360     <plugin name="DD4hep_ParametersPlugin">
0361       <argument value="OuterSiBarrel" />
0362       <argument value="layer_pattern: str=OuterSiBarrel_layer\d" />
0363     </plugin>
0364   </plugins>
0365 
0366   <readouts>
0367     <readout name="SiBarrelHits">
0368       <segmentation type="CartesianGridXY" grid_size_x="0.020*mm" grid_size_y="0.020*mm" />
0369       <id>system:8,layer:4,module:12,sensor:2,x:32:-12,y:-20</id>
0370     </readout>
0371   </readouts>
0372 
0373 </lccdd>