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,2023 Dmitry Romanov, Whitney Armstrong, Sylvester Joosten, Wouter Deconinck, Nilanga Wickramaarachchi -->
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="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="DIRCPrism_width / DIRCBar_count_y"/>
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="DIRC_length - DIRCPrism_length - DIRCBarbox_space_z - DIRCMirror_thickness - DIRCLens_thickness - DIRCMCP_thickness" comment="Length of bars+glue assembly"/>
0062 <constant name="DIRCBar_gap" value="0.15 * mm"/>
0063 <constant name="DIRCBar_height" value="17 * mm"/>
0064 <constant name="DIRCBar_width" value="(DIRCPrism_width - (DIRCBar_count_y - 1) * DIRCBar_gap) / DIRCBar_count_y"/>
0065 <constant name="DIRCGlue_thickness" value="0.05 * mm"/>
0066 <constant name="DIRCBar_length" value="(DIRCBarAssm_length - DIRCBar_count_z * DIRCGlue_thickness)/DIRCBar_count_z"/>
0067 <constant name="DIRCBar_center" value="(DIRC_rmin + DIRC_rmax)/2" 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 </define>
0074
0075 <materials>
0076 </materials>
0077
0078 <limits>
0079 </limits>
0080
0081 <regions>
0082 </regions>
0083
0084 <display>
0085 <vis name="DIRCTube" ref="AnlTeal" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
0086 <vis name="DIRCBox" ref="AnlLight_Gray" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
0087 <vis name="DIRCLens1" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0088 <vis name="DIRCLens2" ref="AnlProcess_Blue" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0089 <vis name="DIRCLens3" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0090 <vis name="DIRCBar" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0091 <vis name="DIRCGlue" ref="AnlViolet" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0092 <vis name="DIRCMirror" ref="AnlGray" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0093 <vis name="DIRCPrism" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
0094 <vis name="DIRCMCP" ref="AnlRed" visible="true" showDaughters="false" />
0095 </display>
0096
0097 <detectors>
0098 <detector id="BarrelDIRC_ID" name="cb_DIRC" type="epic_DIRC" readout="DIRCBarHits" vis="DIRCTube">
0099 <dimensions rmin="DIRCBar_center - DIRCBar_height/2" rmax="DIRCBar_center + DIRCBar_height/2" length="DIRC_length"/>
0100 <position x="0" y="0" z="DIRC_offset"/>
0101 <module name="DIRCBox" repeat="DIRCBox_count" width="DIRCPrism_width + 1*mm" height="DIRCPrism_height*2" length="DIRCBarAssm_length + 550*mm" vis="DIRCBox">
0102 <!-- Mirror (at the end of the module) -->
0103 <mirror
0104 height="DIRCMirror_height"
0105 width="DIRCMirror_width"
0106 thickness="DIRCMirror_thickness"
0107 material="Aluminum"
0108 vis="DIRCMirror"
0109 />
0110
0111 <!-- DIRC Bar -->
0112 <!-- TODO parametrize as bar+glue assembly with layers -->
0113 <bar
0114 height="DIRCBar_height"
0115 width="DIRCBar_width"
0116 length="DIRCBar_length"
0117 repeat_y="DIRCBar_count_y"
0118 repeat_z="DIRCBar_count_z"
0119 gap="DIRCBar_gap"
0120 material="QuartzOptical"
0121 vis="DIRCBar"
0122 />
0123
0124 <glue
0125 thickness="DIRCGlue_thickness"
0126 material="EpotekOptical"
0127 vis="DIRCGlue"
0128 />
0129
0130 <!-- lens -->
0131 <lens
0132 height="DIRCLens_height"
0133 width="DIRCLens_width"
0134 shift="DIRCLens_shift"
0135 thickness="DIRCLens_thickness"
0136 r1="DIRCLens_r1"
0137 r2="DIRCLens_r2"
0138 material1="QuartzOptical"
0139 material2="SapphireOptical"
0140 material3="QuartzOptical"
0141 vis1="DIRCLens1"
0142 vis2="DIRCLens2"
0143 vis3="DIRCLens3"
0144 />
0145
0146 <prism
0147 width="DIRCPrism_width"
0148 length="DIRCPrism_length"
0149 angle="DIRCPrism_angle"
0150 long_edge="DIRCPrism_long_edge"
0151 short_edge="DIRCPrism_short_edge"
0152 material="QuartzOptical"
0153 vis="DIRCPrism"
0154 />
0155
0156 <mcp
0157 height="DIRCMCP_height"
0158 width="DIRCMCP_width"
0159 thickness="DIRCMCP_thickness"
0160 material="QuartzOptical"
0161 vis="DIRCMCP"
0162 />
0163 </module>
0164 <support>
0165 <comment>
0166 Rail is a triangle with its point on the carbon fiber support cylinder,
0167 and its edges perpendicular to the DIRC planes (30 degree opening angle).
0168 The width is the length of the outer chord, with addition of the width
0169 specified below to avoid singular points of contact with the cylinder.
0170 </comment>
0171 <rail rmin="DIRCRail_rmin" rmax="DIRCRail_rmax" width="2*mm"
0172 length="DIRCBar_count_z * DIRCBar_length"
0173 material="Aluminum">
0174 <position x="(DIRCRail_rmax + DIRCRail_rmin) / 2.0 - DIRCBar_center" y="0" z="0"/>
0175 </rail>
0176 </support>
0177 </detector>
0178 </detectors>
0179
0180 <readouts>
0181 <readout name="DIRCBarHits">
0182 <segmentation type="CartesianGridXY" grid_size_x="3.0*mm" grid_size_y="3.0*mm" />
0183 <id>system:8,module:8,section:8,bar:8,x:32:-16,y:-16</id>
0184 </readout>
0185 </readouts>
0186
0187 <plugins>
0188 </plugins>
0189
0190 <fields>
0191 </fields>
0192 </lccdd>