Back to home page

EIC code displayed by LXR

 
 

    


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

0001 <!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
0002 <!-- Copyright (C) 2022 Whitney Armstrong, Sylvester Joosten, Shujie Li -->
0003 
0004 <lccdd>
0005   <define>
0006     <comment>
0007       THis value probably can live in the file that includes this one.
0008     </comment>
0009     <constant name="ITS3Thickness"       value="40*um"/>
0010     <constant name="VertexCarbon_thickness"         value="0.12*mm"/>
0011     <constant name="VertexEndcapAluminumThickness" value="0.15*mm"/>
0012 
0013     <documentation>
0014       #### Vertex Tracker Barrel Parameters
0015 
0016 - The sensor modules are 2 half-cylinders.
0017 - There are 2 sensitive layers
0018 - Each sensor has a thickness is 40um
0019 - There is an outer shell for structural support 300um thick.
0020 - The ID of this shell is set (arbitrarily) to 10 cm.
0021 
0022       ##### Sensor layers
0023 
0024 Currently there are 2 sensor layers. Each is composed of 2 half-cylinders modules with only 40um of silicon thickness.
0025 
0026       ##### Support shell
0027 
0028 Simple carbon fiber support shell.
0029 
0030     </documentation>
0031 
0032     <constant name="VertexBarrel_length"            value="300.0*mm"/>
0033     <constant name="VertexTrackerEndcapP_rmin"      value="VertexTrackingRegion_rmin"/>
0034     <constant name="VertexTrackerEndcapN_rmin"      value="VertexTrackingRegion_rmin"/>
0035     <constant name="VertexTrackerEndcapP_rmax"      value="VertexTrackingRegion_rmax"/>
0036     <constant name="VertexTrackerEndcapN_rmax"      value="VertexTrackingRegion_rmax"/>
0037     <constant name="VertexTrackerEndcapP_zmax"      value="VertexTrackingRegionP_zmax"/>
0038     <constant name="VertexTrackerEndcapN_zmax"      value="VertexTrackingRegionN_zmax"/>
0039 
0040     <constant name="VertexBarrelLayer_length"       value="VertexBarrel_length - 1*mm"/>
0041     <constant name="VertexBarrelMod_length"         value="VertexBarrel_length - 2*mm"/>
0042 
0043     <constant name="VertexBarrelSensor_thickness"   value="ITS3Thickness"/>
0044     <constant name="VertexBarrelLayer_thickness"    value="0.2*cm"/>
0045     <constant name="VertexBarrelMod_thickness"      value="0.1*cm"/>
0046     <constant name="VertexBarrelMod1_rmin"          value="3.4*cm"/>
0047     <constant name="VertexBarrelMod2_rmin"          value="5.7*cm"/>
0048     <constant name="VertexBarrelLayer_rmin1"        value="VertexBarrelMod1_rmin - VertexBarrelLayer_thickness/2.0"/>
0049     <constant name="VertexBarrelLayer_rmin2"        value="VertexBarrelMod2_rmin - VertexBarrelLayer_thickness/2.0"/>
0050     <constant name="VertexBarrelLayer_rmax1"        value="VertexBarrelLayer_rmin1 + VertexBarrelLayer_thickness"/>
0051     <constant name="VertexBarrelLayer_rmax2"        value="VertexBarrelLayer_rmin2 + VertexBarrelLayer_thickness"/>
0052 
0053     <comment>
0054       "Support" is to "shell" like "layer" is to "module", and is need for the flat stave barrel implementation.
0055     </comment>
0056     <constant name="VertexBarrelShell_rmin"         value="10.0*cm"/>
0057     <constant name="VertexBarrelShell_thickness"    value="300*um"/>
0058     <constant name="VertexBarrelShell_rmax"         value="VertexBarrelShell_rmin + VertexBarrelShell_thickness"/>
0059     <constant name="VertexBarrelShell_length"       value="VertexBarrelLayer_length-VertexBarrelShell_thickness"/>
0060 
0061     <constant name="VertexBarrelSupport_thickness"  value="1.0*cm"/>
0062     <constant name="VertexBarrelSupport_rmin"       value="VertexBarrelShell_rmin-VertexBarrelSupport_thickness/2.0"/>
0063     <constant name="VertexBarrelSupport_rmax"       value="VertexBarrelSupport_rmin + VertexBarrelSupport_thickness"/>
0064     <constant name="VertexBarrelSupport_length"     value="VertexBarrelLayer_length"/>
0065 
0066     <constant name="VertexTrackerEndcapN_zmin"      value="25*cm"/>
0067     <constant name="VertexTrackerEndcapP_zmin"      value="25*cm"/>
0068 
0069     <constant name="VertexEndcap_NLayers"           value="1"/>
0070     <constant name="VertexTrackerEndcap_delta"      value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
0071     <constant name="VertexEndcapLayer_dz"           value="2*cm"/>
0072     <constant name="VertexEndcapLayer_thickness"    value="min(3*cm,VertexEndcapLayer_dz-0.5*cm)"/>
0073 
0074     <constant name="VertexEndcap_NModules"          value="12"/>
0075     <constant name="VertexEndcapMod_dz"             value="2.5*mm"/>
0076     <constant name="VertexEndcapModOpeningAngle"    value="360.0/VertexEndcap_NModules*degree + 0.5*degree"/>
0077     <constant name="VertexEndcapMod1_x1"            value="2.0*VertexTrackerEndcapP_rmin*sin(VertexEndcapModOpeningAngle/2.0)"/>
0078     <constant name="VertexEndcapMod1_x2"            value="2.0*VertexTrackerEndcapP_rmax*sin(VertexEndcapModOpeningAngle/2.0)"/>
0079     <constant name="VertexEndcapMod1_y"             value="VertexTrackerEndcapP_rmax*cos(VertexEndcapModOpeningAngle/2.0) - VertexTrackerEndcapP_rmin"/>
0080 
0081     <comment> cone connecting vertex barrel to endcap </comment>
0082     <!-- <constant name="VertexEndcapCone_zmax"       value="VertexEndcapShell_zmin-0.2*cm"/> -->
0083     <constant name="VertexSupportCarbon_thickness"       value="2*mm"/>
0084 
0085     <constant name="VertexEndcapCone_zmin"       value="VertexBarrelLayer_length/2.0 + 0.1*cm"/>
0086     <constant name="VertexEndcapCone_zmax"       value="VertexTrackerEndcapN_zmin    - 0.1*cm"/>
0087     <constant name="VertexEndcapCone_rmin1"      value="VertexEndcapCone_zmin * 36.26/49"/>
0088     <!-- <constant name="VertexEndcapCone_rmin1"      value="TrackerEndcapInner_rmax1"/> -->
0089     <constant name="VertexEndcapCone_rmin2"      value="VertexTrackerEndcapP_rmax"/>
0090     <constant name="VertexEndcapConeService_rmin1"      value="VertexEndcapCone_rmin1+VertexSupportCarbon_thickness+0.1*mm"/>
0091     <constant name="VertexEndcapConeService_rmin2"      value="VertexEndcapCone_rmin2+VertexSupportCarbon_thickness+0.1*mm"/>
0092     <constant name="VertexEndcapConeService_thickness"      value="0.6*mm"/>
0093     <constant name="VertexEndcapCone_length"     value="VertexEndcapCone_zmax - VertexEndcapCone_zmin"/>
0094 
0095 
0096     <comment>
0097       Extra parameters to approximate a cylinder as a set of skinny staves
0098       due to ACTS limitations.
0099     </comment>
0100       <constant name="VertexBarrelStave_count"       value="128"/>
0101       <constant name="VertexBarrelStave1_width"      value="2*VertexBarrelMod1_rmin * tan(180*degree/VertexBarrelStave_count)"/>
0102       <constant name="VertexBarrelStave2_width"      value="2*VertexBarrelMod2_rmin * tan(180*degree/VertexBarrelStave_count)"/>
0103       <constant name="VertexBarrelShellStave_width"  value="2*VertexBarrelShell_rmin * tan(180*degree/VertexBarrelStave_count)"/>
0104   </define>
0105 
0106   <display>
0107   </display>
0108 
0109   <detectors>
0110     <documentation level="5">
0111         ### Actual detectors
0112     </documentation>
0113     <detector
0114       id="VertexBarrel_0_ID"
0115       name="VertexBarrel"
0116       type="epic_VertexBarrel"
0117       readout="VertexBarrelHits"
0118       insideTrackingVolume="true">
0119       <dimensions
0120         rmin="VertexBarrelLayer_rmin1"
0121         rmax="VertexBarrelSupport_rmax"
0122         length="VertexBarrel_length" />
0123       <comment>Vertex Barrel Modules</comment>
0124       <module name="Module1" vis="VertexLayerVis">
0125         <module_component name="ITS3"
0126                           material="Silicon"
0127                           sensitive="true"
0128                           width="VertexBarrelStave1_width"
0129                           length="VertexBarrelMod_length"
0130                           thickness="VertexBarrelSensor_thickness"
0131                           vis="VertexLayerVis" />
0132       </module>
0133       <module name="Module2" vis="VertexLayerVis">
0134         <module_component name="ITS3"
0135                           material="Silicon"
0136                           sensitive="true"
0137                           width="VertexBarrelStave2_width"
0138                           length="VertexBarrelMod_length"
0139                           thickness="VertexBarrelSensor_thickness"
0140                           vis="VertexLayerVis" />
0141       </module>
0142       <module name="SupportShell" vis="VertexSupportVis">
0143         <module_component name="CF Shell"
0144                           material="CarbonFiber"
0145                           sensitive="false"
0146                           width="VertexBarrelShellStave_width"
0147                           length="VertexBarrelShell_length"
0148                           thickness="VertexBarrelShell_thickness"
0149                           vis="VertexSupportVis" />
0150       </module>
0151       <comment> Layers composed of many arrayed modules  </comment>
0152       <layer module="Module1" id="1" vis="VertexLayerVis">
0153         <barrel_envelope
0154           inner_r="VertexBarrelLayer_rmin1"
0155           outer_r="VertexBarrelLayer_rmax1"
0156           z_length="VertexBarrelLayer_length" />
0157         <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" />
0158         <comment>
0159           phi0     : Starting phi of first module.
0160           phi_tilt : Phi tilt of a module.
0161           rc       : Radius of the module center.
0162           nphi     : Number of modules in phi.
0163           rphi_dr  : The delta radius of every other module.
0164           z0       : Z position of first module in phi.
0165           nz       : Number of modules to place in z.
0166           dr       : Radial displacement parameter, of every other module.
0167         </comment>
0168         <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelMod1_rmin" dr="0.0 * mm"/>
0169         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0170       </layer>
0171       <layer module="Module2" id="2" vis="VertexLayerVis">
0172         <barrel_envelope
0173           inner_r="VertexBarrelLayer_rmin2"
0174           outer_r="VertexBarrelLayer_rmax2"
0175           z_length="VertexBarrelLayer_length" />
0176         <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" />
0177         <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelMod2_rmin" dr="0.0 * mm"/>
0178         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0179       </layer>
0180       <layer module="SupportShell" id="3" vis="VertexSupportVis">
0181         <barrel_envelope
0182           inner_r="VertexBarrelSupport_rmin"
0183           outer_r="VertexBarrelSupport_rmax"
0184           z_length="VertexBarrelSupport_length" />
0185         <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" />
0186         <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelShell_rmin" dr="0.0 * mm"/>
0187         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0188       </layer>
0189     </detector>
0190 
0191     <detector
0192       id="VertexEndcapP_0_ID"
0193       name="VertexEndcapP"
0194       type="epic_TrapEndcapTracker"
0195       readout="VertexEndcapHits"
0196       vis="TrackerVis"
0197       reflect="false">
0198 
0199       <support  material="CarbonFiber" name="sup_cone" vis="TrackerSupportVis">
0200         <shape type="Cone"
0201           rmin1="VertexEndcapCone_rmin1" rmax1="VertexEndcapCone_rmin1+VertexSupportCarbon_thickness"
0202           rmin2="VertexEndcapCone_rmin2" rmax2="VertexEndcapCone_rmin2+VertexSupportCarbon_thickness" z="VertexEndcapCone_length/2.0"/>
0203         <position x="0*cm"  y="0*cm"   z="(VertexEndcapCone_zmin+VertexEndcapCone_zmax)/2.0"/>
0204       </support>
0205       <support  material="Aluminum" name="sup_cone_service" vis="TrackerSupportVis">
0206         <shape type="Cone"
0207           rmin1="VertexEndcapConeService_rmin1" rmax1="VertexEndcapConeService_rmin1+VertexEndcapConeService_thickness"
0208           rmin2="VertexEndcapConeService_rmin2" rmax2="VertexEndcapConeService_rmin2+VertexEndcapConeService_thickness" z="VertexEndcapCone_length/2.0"/>
0209         <position x="0*cm"  y="0*cm"   z="(VertexEndcapCone_zmin+VertexEndcapCone_zmax)/2.0"/>
0210       </support>
0211 
0212 
0213       <module name="Module1" vis="AnlProcess_Blue">
0214         <trd x1="VertexEndcapMod1_x1/2.0" x2="VertexEndcapMod1_x2/2.0" z="VertexEndcapMod1_y/2"/>
0215         <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
0216        <module_component thickness="VertexEndcapAluminumThickness"  material="Aluminum"/>
0217         <module_component thickness="VertexCarbon_thickness"          material="CarbonFiber"/>
0218       </module>
0219       <layer id="1">
0220         <envelope  vis="TrackerVis"
0221           rmin="VertexTrackerEndcapP_rmin"
0222           rmax="VertexTrackerEndcapP_rmax"
0223           length="VertexEndcapLayer_thickness"
0224           zstart="VertexTrackerEndcapP_zmin + VertexEndcapLayer_dz/2.0" />
0225         <layer_material surface="representing" binning="binPhi,binR" bins0="20*VertexEndcap_NModules" bins1="256"/>
0226         <ring vis="TrackerVis"
0227           r="VertexTrackerEndcapP_rmin+VertexEndcapMod1_y/2.0"
0228           zstart="0.0"
0229           nmodules="VertexEndcap_NModules" dz="VertexEndcapMod_dz" module="Module1" />
0230       </layer>
0231     </detector>
0232 
0233 
0234     <detector
0235       id="VertexEndcapN_0_ID"
0236       name="VertexEndcapN"
0237       type="epic_TrapEndcapTracker"
0238       readout="VertexEndcapHits"
0239       vis="TrackerVis"
0240       reflect="true">
0241 
0242       <support  material="CarbonFiber" name="sup_cone" vis="TrackerSupportVis">
0243         <shape type="Cone"
0244           rmin2="VertexEndcapCone_rmin1" rmax2="VertexEndcapCone_rmin1+VertexSupportCarbon_thickness"
0245           rmin1="VertexEndcapCone_rmin2" rmax1="VertexEndcapCone_rmin2+VertexSupportCarbon_thickness" z="VertexEndcapCone_length/2.0"/>
0246         <position x="0*cm"  y="0*cm"   z="-1.0*(VertexEndcapCone_zmin+VertexEndcapCone_zmax)/2.0"/>
0247       </support>
0248       <support  material="Aluminum" name="sup_cone_service" vis="TrackerSupportVis">
0249         <shape type="Cone"
0250           rmin2="VertexEndcapConeService_rmin1" rmax2="VertexEndcapConeService_rmin1+VertexEndcapConeService_thickness"
0251           rmin1="VertexEndcapConeService_rmin2" rmax1="VertexEndcapConeService_rmin2+VertexEndcapConeService_thickness" z="VertexEndcapCone_length/2.0"/>
0252         <position x="0*cm"  y="0*cm"   z="-1.0*(VertexEndcapCone_zmin+VertexEndcapCone_zmax)/2.0"/>
0253       </support>
0254 
0255       <module name="Module1" vis="AnlProcess_Blue">
0256         <trd x1="VertexEndcapMod1_x1/2.0" x2="VertexEndcapMod1_x2/2.0" z="VertexEndcapMod1_y/2"/>
0257         <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
0258        <module_component thickness="VertexEndcapAluminumThickness"  material="Aluminum"/>
0259         <module_component thickness="VertexCarbon_thickness"          material="CarbonFiber"/>
0260       </module>
0261       <layer id="1">
0262         <envelope  vis="TrackerVis"
0263           rmin="VertexTrackerEndcapN_rmin"
0264           rmax="VertexTrackerEndcapN_rmax"
0265           length="VertexEndcapLayer_thickness"
0266           zstart="VertexTrackerEndcapN_zmin + VertexEndcapLayer_dz/2.0" />
0267         <layer_material surface="representing" binning="binPhi,binR" bins0="20*VertexEndcap_NModules" bins1="256"/>
0268         <ring vis="TrackerVis"
0269           r="VertexTrackerEndcapN_rmin+VertexEndcapMod1_y/2.0"
0270           zstart="0.0"
0271           nmodules="VertexEndcap_NModules" dz="VertexEndcapMod_dz" module="Module1" />
0272       </layer>
0273     </detector>
0274 
0275   </detectors>
0276 
0277   <readouts>
0278     <readout name="VertexBarrelHits">
0279       <segmentation type="CartesianGridXY" grid_size_x="0.010*mm" grid_size_y="0.010*mm" />
0280       <id>system:8,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
0281     </readout>
0282     <readout name="VertexEndcapHits">
0283       <segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
0284       <id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
0285     </readout>
0286   </readouts>
0287 
0288 
0289 </lccdd>