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/far_forward/definitions.xml" />
0049     <include ref="${DETECTOR_PATH}/compact/far_backward/definitions.xml" />
0050     <include ref="${DETECTOR_PATH}/compact/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   <limits>
0065     <limitset name="world_limits">
0066     </limitset>
0067     <limitset name="beamline_limits">
0068       <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
0069       <limit name="track_length_max" particles="*" value="1.0" unit="mm" />
0070       <limit name="time_max" particles="*" value="0.1" unit="ns" />
0071       <limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
0072       <limit name="range_min" particles="*" value="0.1" unit="mm" />
0073     </limitset>
0074     <limitset name="kill_limits">
0075       <limit name="time_max" particles="*" value="0.0" unit="ns"/>
0076     </limitset>
0077     <limitset name="cal_limits">
0078       <limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
0079     </limitset>
0080   </limits>
0081 
0082   <regions>
0083     <region name="world_region" eunit="MeV" lunit="mm" cut="0.001" threshold="0.001">
0084       <limitsetref name="world_limits"/>
0085     </region>
0086   </regions>
0087 
0088   <display>
0089     <include ref="${DETECTOR_PATH}/compact/{{colors | default("colors.xml", true) }}"/>
0090     <include ref="${DETECTOR_PATH}/compact/{{display | default("display.xml", true) }}"/>
0091   </display>
0092 
0093   <documentation level="0">
0094     ## World Volume
0095 
0096     The world is a simple box, but could be a union of multiple regions.
0097   </documentation>
0098   <world material="Air">
0099     <shape type="Box" dx="world_dx" dy="world_dy" dz="world_dz"/>
0100     <!--regionref   name="world_region"/-->
0101     <!--limitsetref name="world_limits"/-->
0102   </world>
0103 
0104   <documentation level="0">
0105     ## Detector Subsystems
0106 
0107     ### IP Subsystems
0108 
0109     The interaction point subsystems are included before the central detector subsystems.
0110     This is becuase the IP subsystems, for example the beampipe, will define paramters
0111     which are subsquently used in the central detector construction -- e.g. the vertex tracker
0112     uses the beampipe OD to help define its placement.
0113 
0114     The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
0115      - Interaction region beampipe
0116      - B0 tracker
0117      - Off-momentum tracker
0118      - Far forward roman pots
0119      - Zero Degree Calorimeter
0120      - Beam line magnets.
0121      - and more...
0122   </documentation>
0123 
0124 {% if 'solenoid' in features %}
0125   <documentation level="5">
0126     ## Main magnet and its field
0127   </documentation>
0128   <include ref="${DETECTOR_PATH}/compact/solenoid.xml"/>
0129   <include ref="${DETECTOR_PATH}/compact/fields/marco.xml"/>
0130 {% endif -%}
0131 
0132 {% if 'fields' in features %}
0133   <documentation level="5">
0134     ## Electric and magnetic fields
0135   </documentation>
0136   {% for field in features['fields'] -%}
0137   <include ref="${DETECTOR_PATH}/compact/fields/{{ field }}.xml"/>
0138   {% endfor -%}
0139 {% endif -%}
0140 
0141 {% if 'tracking' in features %}
0142   <documentation level="10">
0143     ## Central tracking detectors
0144   </documentation>
0145 
0146   {% for tracker in features['tracking'] -%}
0147   <include ref="${DETECTOR_PATH}/compact/tracking/{{ tracker }}.xml"/>
0148   {% endfor -%}
0149 {% endif -%}
0150 
0151 {% if 'pid' in features %}
0152   <documentation level="10">
0153     ## PID detectors
0154   </documentation>
0155   {% for pid in features['pid'] -%}
0156   <include ref="${DETECTOR_PATH}/compact/pid/{{ pid }}.xml"/>
0157   {% endfor -%}
0158 {% endif -%}
0159 
0160 {% if 'ecal' in features %}
0161   <documentation level="10">
0162     ## Central EM calorimetry
0163   </documentation>
0164   {% for ecal in features['ecal'] -%}
0165   <include ref="${DETECTOR_PATH}/compact/ecal/{{ ecal }}.xml"/>
0166   {% endfor -%}
0167 {% endif -%}
0168 
0169 {% if 'hcal' in features %}
0170   <documentation level="10">
0171     ## hadronic calorimetry
0172   </documentation>
0173 
0174   {% for hcal in features['hcal'] -%}
0175   <include ref="${DETECTOR_PATH}/compact/hcal/{{ hcal }}.xml"/>
0176   {% endfor -%}
0177 {% endif -%}
0178 
0179 {% if 'beampipe' in features %}
0180   <documentation level="11">
0181     ## Central beam pipe
0182   </documentation>
0183   <include ref="${DETECTOR_PATH}/compact/central_beampipe.xml"/>
0184 {% endif -%}
0185 
0186 {% if 'far_forward' in features %}
0187   <documentation level="11">
0188     ## Far foward detectors
0189   </documentation>
0190   {% for ff in features['far_forward'] -%}
0191   <include ref="${DETECTOR_PATH}/compact/far_forward/{{ ff }}.xml"/>
0192   {% endfor -%}
0193 {% endif -%}
0194 
0195 {% if 'far_backward' in features %}
0196   <documentation level="11">
0197     ## Far backward detectors
0198   </documentation>
0199   {% for fb in features['far_backward'] -%}
0200   <include ref="${DETECTOR_PATH}/compact/far_backward/{{ fb }}.xml"/>
0201   {% endfor -%}
0202 {% endif -%}
0203 
0204 </lccdd>