Warning, /epic/compact/tracking/mpgd_outerbarrel_2DStrip.xml is written in an unsupported language. File is not indexed.
0001 <!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
0002 <!-- Copyright (C) 2022 Matt Posik, Wouter Deconinck -->
0003
0004 <lccdd>
0005 <documentation>
0006 Title: Micro-Pattern Gas Detector Planar Barrel Layer
0007 Author: @ybedfer
0008 Status: development
0009 Version: 1.1
0010 </documentation>
0011
0012 <define>
0013 <comment>
0014 Outer MPGD tracking layer
0015 Note: MPGDs come in two distinct flavours: pixel and 2DStrip.
0016 </comment>
0017 <constant name="MPGDOuterBarrel_2DStrip" value="1"/>
0018
0019 <comment> Frames </comment>
0020 <constant name="MPGDOuterBarrelFrame_width" value="15*mm"/>
0021 <constant name="MPGDOuterBarrelFrame_thickness" value="7*mm"/>
0022
0023 <comment> Module constants </comment>
0024 <constant name="MPGDOuterBarrelModule_roverlap" value="0*cm"/>
0025 <constant name="MPGDOuterBarrelModule_zoverlap" value="0*MPGDOuterBarrelFrame_width"/>
0026 <constant name="MPGDOuterBarrelModule_count" value="12" />
0027 <constant name="MPGDOuterBarrelModule_allowed_space" value="25*mm"/>
0028 <constant name="MPGDOuterBarrelModule_rmax" value="MPGDOuterBarrelModule_rmin + MPGDOuterBarrelModule_allowed_space" />
0029 <constant name="MPGDOuterBarrelModule_roffset" value="0.5*cm" />
0030 <constant name="MPGDOuterBarrelModule_width" value="360*mm"/>
0031 <constant name="MPGDOuterBarrel_length" value="MPGDOuterBarrelModule_zmin1 + MPGDOuterBarrelModule_zmin2"/>
0032 <constant name="MPGDOuterBarrelModule_length" value="0.5*(MPGDOuterBarrelModule_zmin1 + MPGDOuterBarrelModule_zmin2 + MPGDOuterBarrelModule_zoverlap)"/>
0033 <constant name="MPGDOuterBarrelModule_offset" value="0.5*(MPGDOuterBarrelModule_zmin2 - MPGDOuterBarrelModule_zmin1)"/>
0034 <constant name="MPGDOuterBarrelModule_PCB_offset" value="110*mm"/>
0035 <constant name="MPGDOuterBarrelModule_Inset_length" value="MPGDOuterBarrelModule_length - MPGDOuterBarrelModule_PCB_offset"/>
0036 <constant name="MPGDOuterStrip_range" value="(MPGDOuterBarrelModule_length + MPGDOuterBarrelModule_width)/2.0*sqrt(2)"/>
0037
0038 <comment> Layer parameters </comment>
0039 <constant name="MPGDOuterBarrelWindow_thickness" value="50*um"/>
0040 <constant name="MPGDOuterBarrelWindowGap_thickness" value="2*mm"/>
0041 <constant name="MPGDOuterBarrelDriftGap_thickness" value="3*mm"/>
0042 <constant name="MPGDOuterBarrelFoilCu_thickness" value="5*um"/>
0043 <constant name="MPGDOuterBarrelReadOutElectrode_thickness" value="10*um"/>
0044 <constant name="MPGDOuterBarrelFoilKapton_thickness" value="50*um"/>
0045 <constant name="MPGDOuterBarrelReadOutNomex_thickness" value="50*um"/>
0046 <constant name="MPGDOuterBarrelReadOutKapton_thickness" value="50*um"/>
0047 <constant name="MPGDOuterBarrelPCB_thickness" value="2.8*mm"/>
0048 <comment> 2DStrip: Multiple Sensitive Volumes. => Subdivide DriftGap: 3 thin slices (pixel and (p|n)strips) at the centre, enclosed by 2 thick radiators. </comment>
0049 <constant name="RWELLThinGap_thickness" value="10*um"/>
0050 <constant name="RWELLThickGap_thickness" value="(MPGDOuterBarrelDriftGap_thickness - RWELLThinGap_thickness * 3) / 2"/>
0051 </define>
0052
0053 <detectors>
0054 <detector id="TrackerBarrel_5_ID" name="MPGDOuterBarrel" type="epic_OuterMPGDBarrel" readout="OuterMPGDBarrelHits" vis="TrackerVis">
0055 <type_flags type="DetType_TRACKER + DetType_BARREL"/>
0056 <dimensions width="MPGDOuterBarrelModule_width" length="MPGDOuterBarrelModule_length" height="MPGDOuterBarrelModule_allowed_space" />
0057 <position x="0" y="0" z="MPGDOuterBarrelModule_offset" />
0058
0059 <comment> MPGD DIRC module components</comment>
0060
0061 <module name="MPGDOuterBarrelModule" vis="TrackerVis">
0062
0063 <module_component name="OuterRadiator" material="Ar90IsoButane" sensitive="true" width="MPGDOuterBarrelModule_width" thickness="RWELLThickGap_thickness" vis="TrackerMPGDGasVis" offset="0" length="MPGDOuterBarrelModule_Inset_length" key="3" />
0064 <module_component name="pStripThinGap" material="Ar90IsoButane" sensitive="true" width="MPGDOuterBarrelModule_width" thickness="RWELLThinGap_thickness" vis="TrackerMPGDGasVis" offset="0" length="MPGDOuterBarrelModule_Inset_length" key="1" />
0065 <module_component name="pixelThinGap" material="Ar90IsoButane" sensitive="true" width="MPGDOuterBarrelModule_width" thickness="RWELLThinGap_thickness" vis="TrackerMPGDGasVis" offset="0" length="MPGDOuterBarrelModule_Inset_length" key="0" />
0066 <module_component name="nStripThinGap" material="Ar90IsoButane" sensitive="true" width="MPGDOuterBarrelModule_width" thickness="RWELLThinGap_thickness" vis="TrackerMPGDGasVis" offset="0" length="MPGDOuterBarrelModule_Inset_length" key="2" />
0067 <module_component name="InnerRadiator" material="Ar90IsoButane" sensitive="true" width="MPGDOuterBarrelModule_width" thickness="RWELLThickGap_thickness" vis="TrackerMPGDGasVis" offset="0" length="MPGDOuterBarrelModule_Inset_length" key="4" />
0068
0069 <module_component name="WindowGasGap"
0070 material="Ar90IsoButane"
0071 sensitive="false"
0072 width="MPGDOuterBarrelModule_width"
0073 thickness="MPGDOuterBarrelWindowGap_thickness"
0074 vis="TrackerMPGDGasVis"
0075 offset="0"
0076 length="MPGDOuterBarrelModule_Inset_length"/>
0077 <module_component name="Window"
0078 material="Kapton"
0079 sensitive="false"
0080 width="MPGDOuterBarrelModule_width"
0081 thickness="MPGDOuterBarrelWindow_thickness"
0082 vis="TrackerVis"
0083 offset="0"
0084 length="MPGDOuterBarrelModule_Inset_length"/>
0085 <module_component name="Cathode_Kapton"
0086 material="Kapton"
0087 sensitive="false"
0088 width="MPGDOuterBarrelModule_width"
0089 thickness="MPGDOuterBarrelFoilKapton_thickness"
0090 vis="TrackerVis"
0091 offset="0"
0092 length="MPGDOuterBarrelModule_Inset_length"/>
0093 <module_component name="Cathode_Cu"
0094 material="Copper"
0095 sensitive="false"
0096 width="MPGDOuterBarrelModule_width"
0097 thickness="MPGDOuterBarrelFoilCu_thickness"
0098 vis="TrackerVis"
0099 offset="0"
0100 length="MPGDOuterBarrelModule_Inset_length"/>
0101 <module_component name="RWELL_Cu"
0102 material="Copper"
0103 sensitive="false"
0104 width="MPGDOuterBarrelModule_width"
0105 thickness="MPGDOuterBarrelFoilCu_thickness"
0106 vis="TrackerVis"
0107 offset="0"
0108 length="MPGDOuterBarrelModule_Inset_length"/>
0109 <module_component name="RWELL_Kapton"
0110 material="Kapton"
0111 sensitive="false"
0112 width="MPGDOuterBarrelModule_width"
0113 thickness="MPGDOuterBarrelFoilKapton_thickness"
0114 vis="TrackerVis"
0115 offset="0"
0116 length="MPGDOuterBarrelModule_Inset_length"/>
0117 <module_component name="Nomex"
0118 material="Nomex"
0119 sensitive="false"
0120 width="MPGDOuterBarrelModule_width"
0121 thickness="MPGDOuterBarrelReadOutNomex_thickness"
0122 vis="TrackerVis"
0123 offset="0"
0124 length="MPGDOuterBarrelModule_Inset_length"/>
0125 <module_component name="ReadOutElectrodes"
0126 material="Copper"
0127 sensitive="false"
0128 width="MPGDOuterBarrelModule_width"
0129 thickness="MPGDOuterBarrelReadOutElectrode_thickness"
0130 vis="TrackerVis"
0131 offset="0"
0132 length="MPGDOuterBarrelModule_Inset_length"/>
0133 <module_component name="ReadOutKapton"
0134 material="Kapton"
0135 sensitive="false"
0136 width="MPGDOuterBarrelModule_width"
0137 thickness="MPGDOuterBarrelReadOutKapton_thickness"
0138 offset="0"
0139 vis="TrackerVis"
0140 length="MPGDOuterBarrelModule_Inset_length"/>
0141 <module_component name="PCB"
0142 material="Fr4"
0143 sensitive="false"
0144 width="MPGDOuterBarrelModule_width"
0145 thickness="MPGDOuterBarrelPCB_thickness"
0146 vis="TrackerVis"
0147 offset="MPGDOuterBarrelModule_PCB_offset"
0148 length="MPGDOuterBarrelModule_length"/>
0149
0150 <comment> Frame width gets subtracted from the gas module volumes
0151 see src/BarrelPlanarMPGDTracker_geo.cpp
0152 </comment>
0153
0154 <frame material="Fr4"
0155 width="MPGDOuterBarrelFrame_width"
0156 vis="TrackerSupportVis"
0157 thickness="MPGDOuterBarrelFrame_thickness"/>
0158
0159 </module>
0160
0161 <comment> Layout for MPGD DIRC layers </comment>
0162 <layer module="MPGDOuterBarrelModule" id="0" vis="TrackerSupportVis">
0163 <envelope_tolerance r_min="0*mm" r_max="0*mm" z_min="0*mm" z_max="0*mm"/>
0164 <layer_material surface="inner" binning="binPhi,binZ" bins0="MPGDOuterBarrelModule_count*10" bins1="100" />
0165 <layer_material surface="outer" binning="binPhi,binZ" bins0="MPGDOuterBarrelModule_count*10" bins1="100" />
0166 <rphi_layout
0167 phi_tilt="0"
0168 nphi="MPGDOuterBarrelModule_count"
0169 phi0="0"
0170 rc="MPGDOuterBarrelModule_rmin + MPGDOuterBarrelModule_roffset"
0171 dr="0" />
0172 <z_layout
0173 dr = "MPGDOuterBarrelModule_roverlap"
0174 z0 = "MPGDOuterBarrelModule_zoverlap"/>
0175 </layer>
0176 </detector>
0177 </detectors>
0178
0179 <readouts>
0180 <readout name="OuterMPGDBarrelHits">
0181 <segmentation type="MultiSegmentation" key="strip">
0182 <comment> Strip segmentations ("strip" field !=0) are not used at simulation time but only in digitization at reconstruction time, see digitization class, "MPGDTrackerDigi". </comment>
0183 <segmentation name="Pixels" type="CartesianGridUV" key_value="0" grid_size_u="0.150*mm*sqrt(12)" grid_size_v="0.150*mm*sqrt(12)" grid_angle="pi*rad/4" />
0184 <segmentation name="UStrips" type="CartesianGridUV" key_value="1" grid_size_u="0.150*mm*sqrt(12)" grid_size_v="MPGDOuterStrip_range" grid_angle="pi*rad/4" />
0185 <segmentation name="VStrips" type="CartesianGridUV" key_value="2" grid_size_u="MPGDOuterStrip_range" grid_size_v="0.150*mm*sqrt(12)" grid_angle="pi*rad/4"/>
0186 <segmentation name="BotRad" type="CartesianGridUV" key_value="3" grid_size_u="0.150*mm*sqrt(12)" grid_size_v="0.150*mm*sqrt(12)" grid_angle="pi*rad/4" />
0187 <segmentation name="TopRad" type="CartesianGridUV" key_value="4" grid_size_u="0.150*mm*sqrt(12)" grid_size_v="0.150*mm*sqrt(12)" grid_angle="pi*rad/4" />
0188 </segmentation>
0189 <id>system:8,layer:4,module:12,sensor:2,strip:28:4,u:-16,v:-16</id>
0190 </readout>
0191 </readouts>
0192
0193 <plugins>
0194 <plugin name="DD4hep_ParametersPlugin">
0195 <argument value="MPGDOuterBarrel"/>
0196 <argument value="layer_pattern: str=MPGDOuterBarrel_layer\d"/>
0197 </plugin>
0198 </plugins>
0199
0200 <fields>
0201 </fields>
0202 </lccdd>