Back to home page

EIC code displayed by LXR

 
 

    


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>