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 - 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>