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>