Back to home page

EIC code displayed by LXR

 
 

    


Warning, /epic/compact/tracking/vertex_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 Sylvester Joosten, Whitney Armstrong, Shujie Li -->
0003 
0004 <lccdd>
0005   <define>
0006     <comment>
0007       Main parameters
0008     </comment>
0009 
0010     <constant name="VertexBarrelMod_length"             value="VertexBarrel_length"/>
0011     <constant name="VertexBarrelMod_rmin"               value="VertexBarrel_rmin"/>
0012 
0013     <constant name="SiVertexSensor_thickness"           value="40*um"/>
0014 
0015 
0016     <constant name="VertexBarrelMod1_rmin"              value="VertexBarrelMod_rmin"/>
0017     <constant name="VertexBarrelMod2_rmin"              value="VertexBarrelMod_rmin + 1.2*cm"/>
0018     <constant name="VertexBarrelMod3_rmin"              value="12.0*cm"/>
0019 
0020     <comment> ensure we are within the vertex envelope with some margin. </comment>
0021     <constant name="VertexCheck"                        value="sqrt(VertexBarrel_rmax - VertexBarrelMod3_rmin - .1*cm)"/>
0022 
0023     <documentation>
0024       - Currently there are 3 sensor layers. Each is composed of 2 half-cylinders modules with only 40um of silicon thickness.
0025       - Both support shells are 300um thick, implemented as the integrated tracker support/service setup
0026 
0027     </documentation>
0028 
0029     <constant name="VertexBarrelEnvelope_length"    value="VertexTrackingRegion_length"/>
0030     <constant name="VertexBarrelLayer_length"       value="VertexBarrelMod_length + 1*um"/>
0031 
0032     <constant name="VertexBarrelLayer_thickness"    value="0.2*cm"/>
0033     <constant name="VertexBarrelMod_thickness"      value="0.1*cm"/>
0034 
0035     <comment> Layer 3 already set as main parameter </comment>
0036 
0037     <constant name="VertexBarrelLayer1_rmin"        value="VertexBarrelMod1_rmin - VertexBarrelLayer_thickness/2.0"/>
0038     <constant name="VertexBarrelLayer1_rmax"        value="VertexBarrelLayer1_rmin + VertexBarrelLayer_thickness"/>
0039     <constant name="VertexBarrelLayer2_rmin"        value="VertexBarrelMod2_rmin - VertexBarrelLayer_thickness/2.0"/>
0040     <constant name="VertexBarrelLayer2_rmax"        value="VertexBarrelLayer2_rmin + VertexBarrelLayer_thickness"/>
0041     <constant name="VertexBarrelLayer3_rmin"        value="VertexBarrelMod3_rmin - VertexBarrelLayer_thickness/2.0"/>
0042     <constant name="VertexBarrelLayer3_rmax"        value="VertexBarrelLayer3_rmin + VertexBarrelLayer_thickness"/>
0043 
0044     <comment>
0045       Extra parameters to approximate a cylinder as a set of skinny staves
0046       due to ACTS limitations.
0047       FIXME: this shouldn't be needed anymore, need to update the cylindrical plugin.
0048     </comment>
0049     <constant name="VertexBarrelStave_count1"       value="128"/>
0050     <constant name="VertexBarrelStave_count2"       value="128"/>
0051     <constant name="VertexBarrelStave_count3"       value="128"/>
0052     <constant name="VertexBarrelStave1_width"      value="2*VertexBarrelMod1_rmin * tan(180*degree/VertexBarrelStave_count1)"/>
0053     <constant name="VertexBarrelStave2_width"      value="2*VertexBarrelMod2_rmin * tan(180*degree/VertexBarrelStave_count2)"/>
0054     <constant name="VertexBarrelStave3_width"      value="2*VertexBarrelMod3_rmin * tan(180*degree/VertexBarrelStave_count3)"/>
0055   </define>
0056 
0057   <detectors>
0058     <documentation level="5">
0059         ### Actual detectors
0060     </documentation>
0061     <detector
0062       id="VertexBarrel_0_ID"
0063       name="VertexBarrel"
0064       type="epic_VertexBarrel"
0065       readout="VertexBarrelHits"
0066       insideTrackingVolume="true">
0067       <type_flags type="DetType_TRACKER + DetType_BARREL"/>
0068       <dimensions
0069         rmin="VertexBarrelLayer1_rmin"
0070         rmax="VertexBarrelLayer3_rmax"
0071         length="VertexBarrelEnvelope_length" />
0072       <comment>Vertex Barrel Modules</comment>
0073       <module name="Module1" vis="VertexLayerVis">
0074         <module_component name="ITS3"
0075                           material="Silicon"
0076                           sensitive="true"
0077                           width="VertexBarrelStave1_width"
0078                           length="VertexBarrelMod_length"
0079                           thickness="SiVertexSensor_thickness"
0080                           vis="VertexLayerVis" />
0081       </module>
0082       <module name="Module2" vis="VertexLayerVis">
0083         <module_component name="ITS3"
0084                           material="Silicon"
0085                           sensitive="true"
0086                           width="VertexBarrelStave2_width"
0087                           length="VertexBarrelMod_length"
0088                           thickness="SiVertexSensor_thickness"
0089                           vis="VertexLayerVis" />
0090       </module>
0091       <module name="Module3" vis="VertexLayerVis">
0092         <module_component name="ITS3"
0093                           material="Silicon"
0094                           sensitive="true"
0095                           width="VertexBarrelStave3_width"
0096                           length="VertexBarrelMod_length"
0097                           thickness="SiVertexSensor_thickness"
0098                           vis="VertexLayerVis" />
0099       </module>
0100       <comment> Layers composed of many arrayed modules  </comment>
0101       <layer module="Module1" id="1" vis="VertexLayerVis">
0102         <barrel_envelope
0103           inner_r="VertexBarrelLayer1_rmin"
0104           outer_r="VertexBarrelLayer1_rmax"
0105           z_length="VertexBarrelLayer_length" />
0106         <layer_material surface="inner" binning="binPhi,binZ" bins0="VertexBarrelStave_count1" bins1="100" />
0107         <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count1" bins1="100" />
0108         <comment>
0109           phi0     : Starting phi of first module.
0110           phi_tilt : Phi tilt of a module.
0111           rc       : Radius of the module center.
0112           nphi     : Number of modules in phi.
0113           rphi_dr  : The delta radius of every other module.
0114           z0       : Z position of first module in phi.
0115           nz       : Number of modules to place in z.
0116           dr       : Radial displacement parameter, of every other module.
0117         </comment>
0118         <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count1" phi0="0.0" rc="VertexBarrelMod1_rmin" dr="0.0 * mm"/>
0119         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0120       </layer>
0121       <layer module="Module2" id="2" vis="VertexLayerVis">
0122         <barrel_envelope
0123           inner_r="VertexBarrelLayer2_rmin"
0124           outer_r="VertexBarrelLayer2_rmax"
0125           z_length="VertexBarrelLayer_length" />
0126         <layer_material surface="inner" binning="binPhi,binZ" bins0="VertexBarrelStave_count2" bins1="100" />
0127         <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count2" bins1="100" />
0128         <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count2" phi0="0.0*degree" rc="VertexBarrelMod2_rmin" dr="0.0 * mm"/>
0129         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0130       </layer>
0131       <layer module="Module3" id="4" vis="VertexLayerVis">
0132         <barrel_envelope
0133           inner_r="VertexBarrelLayer3_rmin"
0134           outer_r="VertexBarrelLayer3_rmax"
0135           z_length="VertexBarrelLayer_length" />
0136         <layer_material surface="inner" binning="binPhi,binZ" bins0="VertexBarrelStave_count3" bins1="100" />
0137         <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count3" bins1="100" />
0138         <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count3" phi0="0.0" rc="VertexBarrelMod3_rmin" dr="0.0 * mm"/>
0139         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0140       </layer>
0141     </detector>
0142   </detectors>
0143 
0144   <plugins>
0145     <plugin name="DD4hep_ParametersPlugin">
0146       <argument value="VertexBarrel"/>
0147       <argument value="layer_pattern: str=VertexBarrel_layer\d"/>
0148     </plugin>
0149   </plugins>
0150 
0151   <readouts>
0152     <readout name="VertexBarrelHits">
0153       <segmentation type="CartesianGridXY" grid_size_x="0.020*mm" grid_size_y="0.020*mm" />
0154       <id>system:8,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
0155     </readout>
0156   </readouts>
0157 
0158 </lccdd>