Back to home page

EIC code displayed by LXR

 
 

    


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 - 4 * DIRCGlue_thickness)/4"/>
0067     <constant name="DIRCBar_center"         value="(DIRC_rmin + DIRC_rmax)/2" comment="Radial position of center of bar"/>
0068 
0069   </define>
0070 
0071   <materials>
0072   </materials>
0073 
0074   <limits>
0075   </limits>
0076 
0077   <regions>
0078   </regions>
0079 
0080   <display>
0081     <vis name="DIRCTube"   ref="AnlTeal" alpha="0.1" visible="true"  showDaughters="true"   lineStyle="solid" drawingStyle="solid" />
0082     <vis name="DIRCBox"    ref="AnlLight_Gray" alpha="0.1" visible="true"  showDaughters="true"   lineStyle="solid" drawingStyle="solid" />
0083     <vis name="DIRCLens1"  ref="AnlTeal" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0084     <vis name="DIRCLens2"  ref="AnlProcess_Blue" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0085     <vis name="DIRCLens3"  ref="AnlTeal" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0086     <vis name="DIRCBar"    ref="AnlTeal" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0087     <vis name="DIRCGlue"   ref="AnlViolet" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0088     <vis name="DIRCMirror" ref="AnlGray" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0089     <vis name="DIRCPrism"  ref="AnlTeal" visible="true"  showDaughters="false"  lineStyle="solid" drawingStyle="solid" />
0090     <vis name="DIRCMCP"    ref="AnlRed" visible="true"  showDaughters="false" />
0091   </display>
0092 
0093   <detectors>
0094     <detector id="BarrelDIRC_ID" name="cb_DIRC" type="epic_DIRC" readout="DIRCBarHits" vis="DIRCTube">
0095       <dimensions rmin="DIRCBar_center - DIRCBar_height/2" rmax="DIRCBar_center + DIRCBar_height/2" length="DIRC_length"/>
0096       <position x="0" y="0" z="DIRC_offset"/>
0097       <module name="DIRCBox" repeat="DIRCBox_count" width="DIRCPrism_width + 1*mm" height="DIRCPrism_height*2" length="DIRCBarAssm_length + 550*mm" vis="DIRCBox">
0098         <!-- Mirror (at the end of the module) -->
0099         <mirror
0100           height="DIRCMirror_height"
0101           width="DIRCMirror_width"
0102           thickness="DIRCMirror_thickness"
0103           material="Aluminum"
0104           vis="DIRCMirror"
0105         />
0106 
0107         <!-- DIRC Bar -->
0108         <!-- TODO parametrize as bar+glue assembly with layers -->
0109         <bar
0110           height="DIRCBar_height"
0111           width="DIRCBar_width"
0112           length="DIRCBar_length"
0113           repeat_y="DIRCBar_count_y"
0114           repeat_z="DIRCBar_count_z"
0115           gap="DIRCBar_gap"
0116           material="QuartzOptical"
0117           vis="DIRCBar"
0118         />
0119 
0120         <glue
0121           thickness="DIRCGlue_thickness"
0122           material="EpotekOptical"
0123           vis="DIRCGlue"
0124         />
0125 
0126         <!-- lens -->
0127         <lens
0128           height="DIRCLens_height"
0129           width="DIRCLens_width"
0130           shift="DIRCLens_shift"
0131           thickness="DIRCLens_thickness"
0132           r1="DIRCLens_r1"
0133           r2="DIRCLens_r2"
0134           material1="QuartzOptical"
0135           material2="SapphireOptical"
0136           material3="QuartzOptical"
0137           vis1="DIRCLens1"
0138           vis2="DIRCLens2"
0139           vis3="DIRCLens3"
0140         />
0141 
0142         <prism
0143           width="DIRCPrism_width"
0144           length="DIRCPrism_length"
0145           angle="DIRCPrism_angle"
0146           long_edge="DIRCPrism_long_edge"
0147           short_edge="DIRCPrism_short_edge"
0148           material="QuartzOptical"
0149           vis="DIRCPrism"
0150         />
0151 
0152         <mcp
0153           height="DIRCMCP_height"
0154           width="DIRCMCP_width"
0155           thickness="DIRCMCP_thickness"
0156           material="QuartzOptical"
0157           vis="DIRCMCP"
0158         />
0159       </module>
0160       <support>
0161         <rail height="78.50*mm" width="46.17*mm" length="DIRCBar_count_z*DIRCBar_length" material="Aluminum">
0162           <position x="20*mm" y="0" z="0"/>
0163         </rail>
0164       </support>
0165     </detector>
0166   </detectors>
0167 
0168   <readouts>
0169     <readout name="DIRCBarHits">
0170       <segmentation type="CartesianGridXY" grid_size_x="3.0*mm" grid_size_y="3.0*mm" />
0171       <id>system:8,module:8,section:8,bar:8,x:32:-16,y:-16</id>
0172     </readout>
0173   </readouts>
0174 
0175   <plugins>
0176   </plugins>
0177 
0178   <fields>
0179   </fields>
0180 </lccdd>