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>