Warning, /epic/compact/pid/dirc.xml is written in an unsupported language. File is not indexed.
0001 <!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
0002 <!-- Copyright (C) 2022 - 2026 Dmitry Romanov, Whitney Armstrong, Sylvester Joosten, Wouter Deconinck, Nilanga Wickramaarachchi, Bill Llope -->
0003
0004 <lccdd>
0005
0006 <comment>
0007 DIRC consists of 12 (default) identical modules making a barrel.
0008 Each DIRC module consists of:
0009 ________
0010 [ | \
0011 [ | \
0012 [MCP|Prism|Lens|--------bars+glue-----|mirror]
0013
0014 Main constants to control DIRC global geometry:
0015 - DIRC_length
0016 - DIRC_offset
0017 - DIRC_rmin
0018 - DIRC_rmax
0019 - DIRCBox_count (12 full dirc, 1 - a single module)
0020
0021 When DIRC_length is set, it affects bars length (all other lengths are fixed)
0022 The width of each DIRC module is derived from DIRCPrism_width
0023
0024 </comment>
0025
0026 <define>
0027 <!-- Prism -->
0028 <constant name="DIRCPrism_width" value="351.350*mm"/>
0029 <constant name="DIRCPrism_length" value="300*mm"/>
0030 <constant name="DIRCPrism_short_edge" value="50*mm"/>
0031 <constant name="DIRCPrism_angle" value="32*deg"/>
0032 <constant name="DIRCPrism_long_edge" value="DIRCPrism_short_edge + DIRCPrism_length * tan(DIRCPrism_angle)"/>
0033 <constant name="DIRCPrism_height" value="DIRCPrism_long_edge"/>
0034
0035 <!-- Box - main DIRC modules -->
0036 <constant name="DIRCBox_count" value="12" comment="Number of DIRC boxes. 12 - default"/>
0037 <constant name="DIRCBox_width" value="DIRCPrism_width"/>
0038
0039 <!-- Bar - number in each direction -->
0040 <constant name="DIRCBar_count_y" value="10" comment="Number of bars per box in y direction"/>
0041 <constant name="DIRCBar_count_z" value="4" comment="Number of bars per box in z direction"/>
0042
0043 <!-- Mirror -->
0044 <constant name="DIRCMirror_height" value="20 * mm"/>
0045 <constant name="DIRCMirror_width" value="DIRCPrism_width"/>
0046
0047 <!-- Lens -->
0048 <constant name="DIRCLens_r1" value="62 * mm"/>
0049 <constant name="DIRCLens_r2" value="36 * mm"/>
0050 <constant name="DIRCLens_height" value="50 * mm"/>
0051 <constant name="DIRCLens_shift" value="0 * mm" comment="Shift of optical axis compared to bar center"/>
0052 <constant name="DIRCLens_width" value="35.0 * mm"/>
0053
0054 <!-- MCP -->
0055 <constant name="DIRCMCP_height" value="DIRCPrism_height"/>
0056 <constant name="DIRCMCP_width" value="DIRCPrism_width"/>
0057 <constant name="DIRCMCP_thickness" value="1*mm"/>
0058
0059 <!-- Bar - Each DIRC box consists of N "bars" -->
0060 <!-- BarAssembly - Bars + Glue -->
0061 <constant name="DIRCBarAssm_length" value="456.0100 * cm" comment="Length of bars+glue assembly"/>
0062 <constant name="DIRCBar_gap" value="0.15 * mm"/>
0063 <constant name="DIRCBar_height" value="17.25 * mm"/>
0064 <constant name="DIRCBar_width" value="35.0 * mm"/>
0065 <constant name="DIRCGlue_thickness" value="0.025 * mm"/>
0066 <constant name="DIRCBar_length" value="114.00 * cm"/>
0067 <constant name="DIRCBar_center" value="76.5875 * cm" comment="Radial position of center of bar"/>
0068
0069 <!-- Rail -->
0070 <constant name="DIRCRail_rmin" value="InnerDetectorBarrelSupportCylinder_rmax"/>
0071 <constant name="DIRCRail_rmax" value="EcalBarrel_rmin"/>
0072 <constant name="DIRCRail_width" value="2 * (DIRCRail_rmax - DIRCRail_rmin) * sin(360*degree / DIRCBox_count / 2)"/>
0073 <constant name="DIRCRail_vol_R" value="77.05 * cm" comment="DIRC support rail radius does not move with barplane"/>
0074 </define>
0075
0076 <materials>
0077 </materials>
0078
0079 <limits>
0080 </limits>
0081
0082 <regions>
0083 <region name="DIRCRegion"/>
0084 </regions>
0085
0086 <display>
0087 <vis name="DIRCTube" ref="AnlTeal" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
0088 <vis name="DIRCBox" ref="AnlLightGray" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
0089 <vis name="DIRCLens1" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0090 <vis name="DIRCLens2" ref="AnlProcess_Blue" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0091 <vis name="DIRCLens3" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0092 <vis name="DIRCBar" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0093 <vis name="DIRCGlue" ref="AnlViolet" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0094 <vis name="DIRCMirror" ref="AnlGray" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0095 <vis name="DIRCPrism" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0096 <vis name="DIRCMCP" ref="AnlRed" visible="true" showDaughters="false" />
0097 </display>
0098
0099 <detectors>
0100 <detector id="BarrelDIRC_ID" name="cb_DIRC" type="epic_DIRC" readout="DIRCBarHits" vis="DIRCTube" region="DIRCRegion">
0101 <dimensions rmin="DIRCBar_center - DIRCBar_height/2" rmax="DIRCBar_center + DIRCBar_height/2" length="DIRC_length"/>
0102 <position x="0" y="0" z="DIRC_offset"/>
0103 <module name="DIRCBox" repeat="DIRCBox_count" width="DIRCPrism_width + 1*mm" height="DIRCPrism_height*2" length="DIRCBarAssm_length + 550*mm" vis="DIRCBox">
0104 <!-- Mirror (at the end of the module) -->
0105 <mirror
0106 height="DIRCMirror_height"
0107 width="DIRCMirror_width"
0108 thickness="DIRCMirror_thickness"
0109 material="Aluminum"
0110 vis="DIRCMirror"
0111 />
0112
0113 <!-- DIRC Bar -->
0114 <!-- TODO parametrize as bar+glue assembly with layers -->
0115 <bar
0116 height="DIRCBar_height"
0117 width="DIRCBar_width"
0118 length="DIRCBar_length"
0119 repeat_y="DIRCBar_count_y"
0120 repeat_z="DIRCBar_count_z"
0121 gap="DIRCBar_gap"
0122 material="QuartzOptical"
0123 vis="DIRCBar"
0124 />
0125
0126 <glue
0127 thickness="DIRCGlue_thickness"
0128 material="EpotekOptical"
0129 vis="DIRCGlue"
0130 />
0131
0132 <!-- lens -->
0133 <lens
0134 height="DIRCLens_height"
0135 width="DIRCLens_width"
0136 shift="DIRCLens_shift"
0137 thickness="DIRCLens_thickness"
0138 r1="DIRCLens_r1"
0139 r2="DIRCLens_r2"
0140 material1="QuartzOptical"
0141 material2="SapphireOptical"
0142 material3="QuartzOptical"
0143 vis1="DIRCLens1"
0144 vis2="DIRCLens2"
0145 vis3="DIRCLens3"
0146 />
0147
0148 <prism
0149 width="DIRCPrism_width"
0150 length="DIRCPrism_length"
0151 angle="DIRCPrism_angle"
0152 long_edge="DIRCPrism_long_edge"
0153 short_edge="DIRCPrism_short_edge"
0154 material="QuartzOptical"
0155 vis="DIRCPrism"
0156 />
0157
0158 <mcp
0159 height="DIRCMCP_height"
0160 width="DIRCMCP_width"
0161 thickness="DIRCMCP_thickness"
0162 material="QuartzOptical"
0163 vis="DIRCMCP"
0164 />
0165 </module>
0166 <support>
0167 <comment>
0168 Rail is a triangle with its point on the carbon fiber support cylinder,
0169 and its edges perpendicular to the DIRC planes (30 degree opening angle).
0170 The width is the length of the outer chord, with addition of the width
0171 specified below to avoid singular points of contact with the cylinder.
0172 </comment>
0173 <rail rmin="DIRCRail_rmin" rmax="DIRCRail_rmax" width="2*mm"
0174 length="DIRCBar_count_z * DIRCBar_length"
0175 material="Aluminum">
0176 <position x="(DIRCRail_rmax + DIRCRail_rmin) / 2.0 - DIRCRail_vol_R" y="0" z="0"/>
0177 </rail>
0178 </support>
0179 </detector>
0180 </detectors>
0181
0182 <readouts>
0183 <readout name="DIRCBarHits">
0184 <segmentation type="CartesianGridXY" grid_size_x="3.0*mm" grid_size_y="3.0*mm" />
0185 <id>system:8,module:8,section:8,bar:8,x:32:-16,y:-16</id>
0186 </readout>
0187 </readouts>
0188
0189 <plugins>
0190 </plugins>
0191
0192 <fields>
0193 </fields>
0194 </lccdd>