Back to home page

EIC code displayed by LXR

 
 

    


Warning, /epic/templates/epic.xml.jinja2 is written in an unsupported language. File is not indexed.

0001 {#
0002    This is the master template for the geometry description
0003 
0004    Template variables can be defined in yml or json files,
0005    or they can be applied on the command line with `-D`.
0006 -#}
0007 
0008 <lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
0009        xmlns:xs="http://www.w3.org/2001/XMLSchema"
0010        xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
0011 
0012   <debug>
0013     <type name="surface"       value="0"/>
0014     <type name="material"      value="0"/>
0015     <type name="readout"       value="0"/>
0016     <type name="segmentation"  value="0"/>
0017     <type name="limits"        value="0"/>
0018     <type name="region"        value="0"/>
0019     <type name="includes"      value="0"/>
0020   </debug>
0021 
0022   <documentation level="-1">
0023   # EPIC Detector
0024   - https://github.com/eic/epic
0025   - https://github.com/eic/ip6
0026   </documentation>
0027 
0028   <!-- Some information about detector  -->
0029   <info name="EPIC Detector" title="EPIC Detector"
0030         author="EPIC Collaboration"
0031         url="https://github.com/eic/epic"
0032         status="development"
0033         version="v1 2021-03-16">
0034   <comment> EPIC </comment>
0035   </info>
0036 
0037   <!-- Standard environmental conditions: 20 °C, 1 atm -->
0038   <std_conditions type="NTP"/>
0039 
0040   <define>
0041     <documentation level="2">
0042       ## Main Constant Definitions
0043 
0044       The ip6 (or other ip) defines should be included first.
0045       These files have only a define tags.
0046     </documentation>
0047     <include ref="${DETECTOR_PATH}/compact/fields/beamline_{{ ebeam | default("18", true) }}x{{ pbeam | default("275", true) }}.xml" />
0048     <include ref="${DETECTOR_PATH}/compact/definitions.xml" />
0049     <include ref="${DETECTOR_PATH}/compact/far_forward/definitions.xml" />
0050     <include ref="${DETECTOR_PATH}/compact/far_backward/definitions.xml" />
0051     <include ref="${DETECTOR_PATH}/compact/version.xml"/>
0052     <include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml"/>
0053   </define>
0054 
0055 
0056   <includes>
0057     <gdmlFile ref="${DD4hepINSTALL}/DDDetectors/compact/elements.xml"/>
0058     <gdmlFile ref="${DETECTOR_PATH}/compact/materials.xml"/>
0059   </includes>
0060   <include ref="${DETECTOR_PATH}/compact/optical_materials.xml"/>
0061 
0062   <include ref="${DETECTOR_PATH}/compact/calibrations.xml"/>
0063 
0064   <include ref="${DETECTOR_PATH}/compact/tracking_region.xml"/>
0065 
0066   <limits>
0067     <limitset name="world_limits">
0068     </limitset>
0069     <limitset name="beamline_limits">
0070       <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
0071       <limit name="track_length_max" particles="*" value="1.0" unit="mm" />
0072       <limit name="time_max" particles="*" value="0.1" unit="ns" />
0073       <limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
0074       <limit name="range_min" particles="*" value="0.1" unit="mm" />
0075     </limitset>
0076     <limitset name="kill_limits">
0077       <limit name="time_max" particles="*" value="0.0" unit="ns"/>
0078     </limitset>
0079     <limitset name="cal_limits">
0080       <limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
0081     </limitset>
0082   </limits>
0083 
0084   <regions>
0085     <region name="world_region" eunit="MeV" lunit="mm" cut="0.001" threshold="0.001">
0086       <limitsetref name="world_limits"/>
0087     </region>
0088   </regions>
0089 
0090   <display>
0091     <include ref="${DETECTOR_PATH}/compact/{{colors | default("colors.xml", true) }}"/>
0092     <include ref="${DETECTOR_PATH}/compact/{{display | default("display.xml", true) }}"/>
0093   </display>
0094 
0095   <documentation level="0">
0096     ## World Volume
0097 
0098     The world is a simple box, but could be a union of multiple regions.
0099   </documentation>
0100   <world material="Air">
0101     <shape type="Box" dx="world_dx" dy="world_dy" dz="world_dz"/>
0102     <!--regionref   name="world_region"/-->
0103     <!--limitsetref name="world_limits"/-->
0104   </world>
0105 
0106   <documentation level="0">
0107     ## Detector Subsystems
0108 
0109     ### IP Subsystems
0110 
0111     The interaction point subsystems are included before the central detector subsystems.
0112     This is becuase the IP subsystems, for example the beampipe, will define paramters
0113     which are subsquently used in the central detector construction -- e.g. the vertex tracker
0114     uses the beampipe OD to help define its placement.
0115 
0116     The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
0117      - Interaction region beampipe
0118      - B0 tracker
0119      - Off-momentum tracker
0120      - Far forward roman pots
0121      - Zero Degree Calorimeter
0122      - Beam line magnets.
0123      - and more...
0124   </documentation>
0125 
0126 {% if 'solenoid' in features %}
0127   <documentation level="5">
0128     ## Main magnet and its field
0129   </documentation>
0130   <include ref="${DETECTOR_PATH}/compact/solenoid.xml"/>
0131   <include ref="${DETECTOR_PATH}/compact/fields/marco.xml"/>
0132 {% endif -%}
0133 
0134 {% if 'fields' in features %}
0135   <documentation level="5">
0136     ## Electric and magnetic fields
0137   </documentation>
0138   {% for field in features['fields'] -%}
0139   <include ref="${DETECTOR_PATH}/compact/fields/{{ field }}.xml"/>
0140   {% endfor -%}
0141 {% endif -%}
0142 
0143 {% if 'tracking' in features %}
0144   <documentation level="10">
0145     ## Central tracking detectors
0146   </documentation>
0147 
0148   {% for tracker in features['tracking'] -%}
0149   <include ref="${DETECTOR_PATH}/compact/tracking/{{ tracker }}.xml"/>
0150   {% endfor -%}
0151 {% endif -%}
0152 
0153 {% if 'pid' in features %}
0154   <documentation level="10">
0155     ## PID detectors
0156   </documentation>
0157   {% for pid in features['pid'] -%}
0158   <include ref="${DETECTOR_PATH}/compact/pid/{{ pid }}.xml"/>
0159   {% endfor -%}
0160 {% endif -%}
0161 
0162 {% if 'ecal' in features %}
0163   <documentation level="10">
0164     ## Central EM calorimetry
0165   </documentation>
0166   {% for ecal in features['ecal'] -%}
0167   <include ref="${DETECTOR_PATH}/compact/ecal/{{ ecal }}.xml"/>
0168   {% endfor -%}
0169 {% endif -%}
0170 
0171 {% if 'hcal' in features %}
0172   <documentation level="10">
0173     ## hadronic calorimetry
0174   </documentation>
0175 
0176   {% for hcal in features['hcal'] -%}
0177   <include ref="${DETECTOR_PATH}/compact/hcal/{{ hcal }}.xml"/>
0178   {% endfor -%}
0179 {% endif -%}
0180 
0181 {% if 'beampipe' in features %}
0182   <documentation level="11">
0183     ## Central beam pipe
0184   </documentation>
0185   <include ref="${DETECTOR_PATH}/compact/central_beampipe.xml"/>
0186 {% endif -%}
0187 
0188 {% if 'far_forward' in features %}
0189   <documentation level="11">
0190     ## Far foward detectors
0191   </documentation>
0192   {% for ff in features['far_forward'] -%}
0193   <include ref="${DETECTOR_PATH}/compact/far_forward/{{ ff }}.xml"/>
0194   {% endfor -%}
0195 {% endif -%}
0196 
0197 {% if 'far_backward' in features %}
0198   <documentation level="11">
0199     ## Far backward detectors
0200   </documentation>
0201   {% for fb in features['far_backward'] -%}
0202   <include ref="${DETECTOR_PATH}/compact/far_backward/{{ fb }}.xml"/>
0203   {% endfor -%}
0204 {% endif -%}
0205 
0206 </lccdd>