Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • EIC/detectors/athena
  • zwzhao/athena
  • FernandoTA/athena
  • palspeic/athena
4 results
Show changes
Showing
with 1952 additions and 0 deletions
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<!--include ref="compact/colors2.xml"/-->
<include ref="compact/display.xml" />
<!--include ref="compact/display_detailed.xml"/-->
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</documentation>
<documentation level="11">
## Far foward detectors
</documentation>
<include ref="ip6/central_beampipe.xml"/>
<documentation level="11">
## Far foward detectors
</documentation>
<include ref="ip6/far_forward.xml"/>
<documentation level="11">
## Far backward detectors
</documentation>
<include ref="ip6/far_backward.xml"/>
</lccdd>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="10">
## pfRICH only
</documentation>
<include ref="ip6/central_beampipe.xml" />
<include ref="compact/pfrich.xml" />
</lccdd>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</documentation>
<comment>
Beamline elements
-----------------
</comment>
<include ref="ip6/central_beampipe.xml" />
<comment>
PID detectors
-------------
</comment>
<include ref="compact/pid_config_deathvalley.xml"/>
<readouts>
</readouts>
</lccdd>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="10">
## TOF only
</documentation>
<include ref="ip6/central_beampipe.xml" />
<include ref="compact/tof_barrel.xml" />
</lccdd>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</documentation>
<comment>
Beamline elements
-----------------
</comment>
<include ref="ip6/central_beampipe.xml" />
<comment>
Central tracking detectors
--------------------------
</comment>
<!--include ref="compact/tracking_config_canyonlands.xml"/-->
<include ref="compact/tracking_config_deathvalley.xml"/>
<comment>
PID detectors
-------------
</comment>
<include ref="compact/tof_barrel.xml"/>
<readouts>
</readouts>
</lccdd>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</documentation>
<comment>
Central tracking detectors
--------------------------
</comment>
<include ref="compact/vertex_tracker_3layers.xml"/>
<readouts>
</readouts>
</lccdd>
<lccdd>
<display>
</display>
<define>
</define>
<documentation level="10">
### Time-of-flight detectors
document here
</documentation>
<!--include ref="tof_endcap.xml"/-->
<include ref="tof_barrel.xml"/>
<include ref="tof_forward.xml"/>
<include ref="tof_backward.xml"/>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<comment>
--------------------------
Barrel TOF Parameters
--------------------------
</comment>
<constant name="BarrelTOF_Sensor_thickness" value="0.3*mm"/>
<constant name="BarrelTOF_Hybrid_thickness" value="2*0.008125*cm"/>
<constant name="BarrelTOF_CFSkin_thickness" value="2*0.0075*cm"/>
<constant name="BarrelTOF_CFoam_thickness" value="2*0.29*cm"/>
<constant name="BarrelTOF_CHoneycomb_thickness" value="2*0.29*cm"/>
<constant name="BarrelTOF_CoolingTube_thickness" value="0.08*cm"/>
<constant name="BarrelTOF_Coolant_thickness" value="0.08*cm"/>
<constant name="BarrelTOF_Module_thickness" value="BarrelTOF_Sensor_thickness+2*BarrelTOF_Hybrid_thickness+2*BarrelTOF_CFSkin_thickness+BarrelTOF_CFoam_thickness+BarrelTOF_CoolingTube_thickness+BarrelTOF_Coolant_thickness"/>
<constant name="BarrelTOF_radius_design" value="50.0*cm"/>
<constant name="BarrelTOF_Module_width_design" value="56.0*mm"/>
<constant name="BarrelTOF_Sensor_width_design" value="32.0*mm"/>
<constant name="BarrelTOF_CFoam_width_design" value="BarrelTOF_Sensor_width_design-5.0*mm"/>
<constant name="BarrelTOF_CHoneycomb_width_design" value="BarrelTOF_Module_width_design-BarrelTOF_CFoam_width_design"/>
<constant name="BarrelTOF_CoolingTube_width_design" value="0.75*cm"/>
<constant name="BarrelTOF_Coolant_width_design" value="0.75*cm"/>
<constant name="BarrelTOF_Sensor_position_design" value="0.5*(BarrelTOF_Sensor_width_design-BarrelTOF_Module_width_design)"/>
<constant name="BarrelTOF_CFoam_position_design" value="0.5*(BarrelTOF_CFoam_width_design-BarrelTOF_Module_width_design)"/>
<constant name="BarrelTOF_CHoneycomb_position_design" value="0.5*(BarrelTOF_Module_width_design-BarrelTOF_CHoneycomb_width_design)"/>
<constant name="BarrelTOF_CoolingTube_position_design" value="BarrelTOF_CHoneycomb_position_design"/>
<constant name="BarrelTOF_Coolant_position_design" value="BarrelTOF_CHoneycomb_position_design"/>
<constant name="BarrelTOF_Service_position_design" value="0.0*mm"/>
<constant name="BarrelTOF_scale" value="1.05"/>
<constant name="BarrelTOF_radius" value="BarrelTOF_scale * BarrelTOF_radius_design"/>
<constant name="BarrelTOF_Sensor_width" value="BarrelTOF_scale * BarrelTOF_Sensor_width_design"/>
<constant name="BarrelTOF_CFoam_width" value="BarrelTOF_scale * BarrelTOF_CFoam_width_design"/>
<constant name="BarrelTOF_CHoneycomb_width" value="BarrelTOF_scale * BarrelTOF_CHoneycomb_width_design"/>
<constant name="BarrelTOF_CoolingTube_width" value="BarrelTOF_scale * BarrelTOF_CoolingTube_width_design"/>
<constant name="BarrelTOF_Coolant_width" value="BarrelTOF_scale * BarrelTOF_Coolant_width_design"/>
<constant name="BarrelTOF_Sensor_position" value="BarrelTOF_scale * BarrelTOF_Sensor_position_design"/>
<constant name="BarrelTOF_CFoam_position" value="BarrelTOF_scale * BarrelTOF_CFoam_position_design"/>
<constant name="BarrelTOF_CHoneycomb_position" value="BarrelTOF_scale * BarrelTOF_CHoneycomb_position_design"/>
<constant name="BarrelTOF_CoolingTube_position" value="BarrelTOF_scale * BarrelTOF_CoolingTube_position_design"/>
<constant name="BarrelTOF_Coolant_position" value="BarrelTOF_scale * BarrelTOF_Coolant_position_design"/>
<constant name="BarrelTOF_Service_position" value="BarrelTOF_scale * BarrelTOF_Service_position_design"/>
<constant name="BarrelTOF_Module_width" value="BarrelTOF_scale*BarrelTOF_Module_width_design"/>
<constant name="BarrelTOF_Module_tiltangle" value="18.0*degree"/>
<constant name="BarrelTOF_Module_nphi" value="108"/>
<constant name="BarrelTOF_Module_nz" value="1"/>
<constant name="BarrelTOF_rmin" value="BarrelTOF_radius"/>
<constant name="BarrelTOF_rmax" value="BarrelTOF_rmin+BarrelTOF_Module_width*tan(BarrelTOF_Module_tiltangle)"/>
<constant name="BarrelTOF_thickness" value="BarrelTOF_rmax-BarrelTOF_rmin"/>
<constant name="BarrelTOF_rOffset" value="16.0*mm"/>
<constant name="BarrelTOF_length1" value="2 * BarrelTOF_rmin / CentralTrackingBarrel_tan * 0.995"/>
<constant name="BarrelTOF_length2" value="2 * BarrelTOF_rmax / CentralTrackingBarrel_tan * 0.995"/>
<constant name="BarrelTOF_length" value="BarrelTOF_length2"/>
</define>
<display>
</display>
<detectors>
<detector
id="BarrelTOF_ID"
name="BarrelTOF"
type="athena_TOFBarrel"
readout="TOFBarrelHits"
insideTrackingVolume="true">
<dimensions
rmin="BarrelTOF_rmin-BarrelTOF_rOffset"
rmax="BarrelTOF_rmax+BarrelTOF_rOffset"
length="BarrelTOF_length"/>
<comment>
Tracker Barrel Modules
</comment>
<module name="BarrelTOF_Module1" vis="TOFBarrelModuleVis">
<module_component name="sensor" material="Silicon" sensitive="true" width="BarrelTOF_Sensor_width" length="BarrelTOF_length1" thickness="BarrelTOF_Sensor_thickness" vis="TOFSensorVis" >
<position x="BarrelTOF_Sensor_position" y="0" z="0" />
</module_component>
<module_component name="hybridtop" material="Kapton" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_Hybrid_thickness" vis="TOFHybridVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component>
<module_component name="cfskintop" material="CFRPMix2" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_CFSkin_thickness" vis="TOFCSkinVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component>
<module_component name="coolingtube" material="Aluminum" sensitive="false" width="BarrelTOF_CoolingTube_width" length="BarrelTOF_length1" thickness="BarrelTOF_CoolingTube_thickness" vis="TOFCoolingTubeVis" >
<position x="BarrelTOF_CoolingTube_position" y="0" z="0" />
</module_component>
<module_component name="coolant" material="NOVEC7200" sensitive="false" width="BarrelTOF_Coolant_width" length="BarrelTOF_length1" thickness="BarrelTOF_Coolant_thickness" vis="TOFCoolantVis" >
<position x="BarrelTOF_Coolant_position" y="0" z="0" />
</module_component>
<module_component name="cfoam" material="CarbonFoam" sensitive="false" width="BarrelTOF_CFoam_width" length="BarrelTOF_length1" thickness="BarrelTOF_CFoam_thickness" vis="TOFCFoamVis" >
<position x="BarrelTOF_CFoam_position" y="0" z="0" />
</module_component>
<module_component name="choneycomb" material="CFRPMix" sensitive="false" width="BarrelTOF_CHoneycomb_width" length="BarrelTOF_length1" thickness="BarrelTOF_CHoneycomb_thickness" vis="TOFCHoneycombVis" >
<position x="BarrelTOF_CHoneycomb_position" y="0" z="-1*BarrelTOF_CFoam_thickness" />
</module_component>
<module_component name="cfskinbottom" material="CFRPMix2" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_CFSkin_thickness" vis="TOFCSkinVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component>
<module_component name="hybridbottom" material="Kapton" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_Hybrid_thickness" vis="TOFHybridVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component>
</module>
<layer module="BarrelTOF_Module1" id="1" vis="TOFLayerVis">
<barrel_envelope
inner_r="BarrelTOF_rmin-BarrelTOF_rOffset"
outer_r="BarrelTOF_rmax+BarrelTOF_rOffset"
z_length="BarrelTOF_length"/>
<rphi_layout phi_tilt="BarrelTOF_Module_tiltangle" nphi="BarrelTOF_Module_nphi" phi0="0.0" rc="BarrelTOF_rmin" dr="0.0*mm"/>
<z_layout dr="0.0*mm" z0="0.0*mm" nz="BarrelTOF_Module_nz"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="TOFBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="0.05*mm" grid_size_y="BarrelTOF_length1/48" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<comment>
--------------------------
Forward TOF Parameters
--------------------------
</comment>
<comment> Forward/backward TOF position </comment>
<constant name="ForwardTOF_length" value="min(ForwardTOFRegion_length, 2.*cm)"/>
<constant name="ForwardTOF_zmin" value="ForwardTOFRegion_zmin + ForwardTOFRegion_length - ForwardTOF_length - 1*cm"/>
<constant name="ForwardTOF_nlayers" value="2"/>
<constant name="ForwardTOFMod_offset" value="1.2*cm"/>
<constant name="BackwardTOF_length" value="min(BackwardTOFRegion_length, 2.*cm)"/>
<constant name="BackwardTOF_zmin" value="BackwardTOFRegion_zmin + 0.5*cm"/>
<constant name="BackwardTOF_nlayers" value="2"/>
<constant name="BackwardTOFMod_offset" value="1.2*cm"/>
<comment> LGAD parameters for the endcap TOFs </comment>
<constant name="TOFEndcapSensor_thickness" value="300*um" />
<constant name="TOFEndcapService_thickness" value="5.00/100*9.37*cm-TOFEndcapSensor_thickness" />
<constant name="TOFEndcapMod_count" value="36" />
<constant name="TOFEndcapMod_dz" value="0" />
<constant name="TOFEndcapMod_overlap" value="0" />
</define>
<documentation>
## Forward and backward TOF double-disks,
## a potential ATHENA upgrade
</documentation>
<comment>
Actual detector implementation.
</comment>
<define>
<constant name="TOFEndcapMod_thickness" value="TOFEndcapSensor_thickness + TOFEndcapService_thickness" />
<constant name="TOFEndcapMod_angle" value="360.0*degree / TOFEndcapMod_count * (1 + TOFEndcapMod_overlap)" />
<comment> 1 um padding to not have layer and module touch (ACTS requirement) </comment>
<constant name="TOFEndcapLayer_thickness" value="TOFEndcapMod_thickness + 2 * TOFEndcapMod_dz + 1 * um" />
<constant name="ForwardTOFMod_rmin" value="ForwardTOFRegion_tan * ForwardTOF_zmin" />
<constant name="ForwardTOFMod_rmax" value="ForwardTOFRegion_rmax" />
<constant name="ForwardTOFMod_x1" value="2 * ForwardTOFMod_rmin * tan(TOFEndcapMod_angle/2)" />
<constant name="ForwardTOFMod_x2" value="2 * ForwardTOFMod_rmax * sin(TOFEndcapMod_angle/2)" />
<constant name="ForwardTOFMod_y" value="ForwardTOFMod_rmax * cos(TOFEndcapMod_angle/2) - ForwardTOFMod_rmin" />
<constant name="ForwardTOFMod1_zmin" value="ForwardTOF_zmin" />
<constant name="ForwardTOFMod2_zmin" value="ForwardTOF_zmin + ForwardTOFMod_offset" />
<constant name="ForwardTOFLayer_rmin" value="ForwardTOFMod_rmin - 1*um" />
<constant name="ForwardTOFLayer_rmax" value="ForwardTOFMod_rmax + 1*um" />
<constant name="ForwardTOFLayer1_zmin" value="ForwardTOFMod1_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="ForwardTOFLayer2_zmin" value="ForwardTOFMod2_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="BackwardTOFMod_rmin" value="BackwardPIDRegion_tan * BackwardTOF_zmin" />
<constant name="BackwardTOFMod_rmax" value="BackwardPIDRegion_rmax" />
<constant name="BackwardTOFMod_x1" value="2 * BackwardTOFMod_rmin * tan(TOFEndcapMod_angle/2)" />
<constant name="BackwardTOFMod_x2" value="2 * BackwardTOFMod_rmax * sin(TOFEndcapMod_angle/2)" />
<constant name="BackwardTOFMod_y" value="BackwardTOFMod_rmax * cos(TOFEndcapMod_angle/2) - BackwardTOFMod_rmin" />
<constant name="BackwardTOFMod1_zmin" value="BackwardTOF_zmin" />
<constant name="BackwardTOFMod2_zmin" value="BackwardTOF_zmin + BackwardTOFMod_offset" />
<constant name="BackwardTOFLayer_rmin" value="BackwardTOFMod_rmin - 1*um" />
<constant name="BackwardTOFLayer_rmax" value="BackwardTOFMod_rmax + 1*um" />
<constant name="BackwardTOFLayer1_zmin" value="BackwardTOFMod1_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="BackwardTOFLayer2_zmin" value="BackwardTOFMod2_zmin - TOFEndcapLayer_thickness / 2" />
</define>
<detectors>
<detector
id="ForwardTOF_ID"
name="ForwardTOF"
type="athena_TrapEndcapTracker"
readout="TOFEndcapHits"
vis="TOFVis"
reflect="false">
<module name="ForwardModule" vis="TOFModuleVis">
<trd x1="ForwardTOFMod_x1/2.0" x2="ForwardTOFMod_x2/2.0" z="ForwardTOFMod_y/2"/>
<comment> TRDs are built back-to-front </comment>
<module_component thickness="TOFEndcapService_thickness" material="Silicon" vis="TOFVis"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true" vis="TOFSensorVis"/>
</module>
<layer id="1">
<envelope vis="TOFLayerVis"
rmin="ForwardTOFLayer_rmin"
rmax="ForwardTOFLayer_rmax"
length="TOFEndcapLayer_thickness"
zstart="ForwardTOFLayer1_zmin" />
<ring
r="ForwardTOFMod_rmin + ForwardTOFMod_y/2.0"
zstart="0"
nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="ForwardModule" />
</layer>
<layer id="2">
<envelope vis="TOFLayerVis"
rmin="ForwardTOFLayer_rmin"
rmax="ForwardTOFLayer_rmax"
length="TOFEndcapLayer_thickness"
zstart="ForwardTOFLayer2_zmin" />
<ring
r="ForwardTOFMod_rmin + ForwardTOFMod_y/2.0"
zstart="0"
nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="ForwardModule" />
</layer>
</detector>
<detector
id="BackwardTOF_ID"
name="BackwardTOF"
type="athena_TrapEndcapTracker"
readout="TOFEndcapHits"
vis="TOFVis"
reflect="true">
<module name="BackwardModule" vis="TOFModuleVis">
<trd x1="BackwardTOFMod_x1/2.0" x2="BackwardTOFMod_x2/2.0" z="BackwardTOFMod_y/2"/>
<comment> TRDs are built back-to-front </comment>
<module_component thickness="TOFEndcapService_thickness" material="Silicon" vis="TOFVis"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true" vis="TOFSensorVis"/>
</module>
<layer id="1">
<envelope vis="TOFLayerVis"
rmin="BackwardTOFLayer_rmin"
rmax="BackwardTOFLayer_rmax"
length="TOFEndcapLayer_thickness"
zstart="BackwardTOFLayer1_zmin" />
<ring
r="BackwardTOFMod_rmin + BackwardTOFMod_y/2.0"
zstart="0"
nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="BackwardModule" />
</layer>
<layer id="2">
<envelope vis="TOFLayerVis"
rmin="BackwardTOFLayer_rmin"
rmax="BackwardTOFLayer_rmax"
length="TOFEndcapLayer_thickness"
zstart="BackwardTOFLayer2_zmin" />
<ring
r="BackwardTOFMod_rmin + BackwardTOFMod_y/2.0"
zstart="0"
nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="BackwardModule" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="TOFEndcapHits">
<segmentation type="CartesianGridXZ" grid_size_x="50*um" grid_size_z="50*um" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<display>
</display>
<define>
</define>
<documentation level="10">
### Silicon tracking configuration
</documentation>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexSubAssembly_0_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexBarrel" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerSubAssembly_0_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerBarrel_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<documentation>
### Material map for ACTS
https://eicweb.phy.anl.gov/EIC/detectors/athena/-/issues/128
</documentation>
<plugins>
<plugin name="FileLoader">
<arg value="file:calibrations/materials-map.cbor"/>
<arg value="url:https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/458fee1b8c95bf408159fe70d654b8c0/material-maps.cbor"/>
</plugin>
</plugins>
<include ref="vertex_tracker.xml"/>
<include ref="central_tracker.xml"/>
<include ref="gem_tracker_endcap.xml"/>
</lccdd>
<lccdd>
<display>
</display>
<define>
</define>
<documentation level="10">
### Silicon tracking configuration
</documentation>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexSubAssembly_0_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="TrackerSubAssembly_0_ID"
name="InnerTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="InnerTrackerEndcapN"/>
<composite name="InnerTrackerBarrel"/>
<composite name="InnerTrackerEndcapP"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="MedialTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="MedialTrackerEndcapN"/>
<composite name="MedialTrackerBarrel"/>
<composite name="MedialTrackerEndcapP"/>
</detector>
<detector id="TrackerSubAssembly_2_ID"
name="OuterTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="OuterTrackerCompositeEndcapN"/>
<composite name="OuterTrackerBarrel"/>
<composite name="OuterTrackerCompositeEndcapP"/>
</detector>
<!--
<detector id="TrackerSubAssembly_3_ID"
name="EcalBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
</detector>
-->
<detector id="TrackerSubAssembly_4_ID"
name="ForwardBackwardTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="ForwardGEM"/>
<composite name="BackwardNullTracker"/>
</detector>
<detector id="TrackerCompositeEndcapN_0_ID"
name="OuterTrackerCompositeEndcapN"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="-1*um" />
<composite name="OuterTrackerEndcapN"/>
<composite name="GEMEndcapN"/>
</detector>
<detector id="TrackerCompositeEndcapP_0_ID"
name="OuterTrackerCompositeEndcapP"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="0*cm" />
<composite name="OuterTrackerEndcapP"/>
<composite name="GEMEndcapP"/>
</detector>
<detector id="TrackerCompositeEndcapN_1_ID"
name="BackwardNullTracker"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="-1*um" />
</detector>
</detectors>
<documentation>
### Material map for ACTS
https://eicweb.phy.anl.gov/EIC/detectors/athena/-/issues/127
</documentation>
<plugins>
<plugin name="FileLoader">
<arg value="file:calibrations/materials-map.cbor"/>
<arg value="url:https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/979a4ed2d01a023b70237e39670bd31b/material-maps.cbor"/>
</plugin>
</plugins>
<include ref="vertex_tracker_3layers.xml"/>
<include ref="central_tracker_hybrid_v2.xml"/>
</lccdd>
<lccdd>
<display>
</display>
<define>
</define>
<documentation level="10">
### Silicon tracking configuration
</documentation>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexSubAssembly_0_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="TrackerSubAssembly_0_ID"
name="InnerTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="InnerTrackerEndcapN"/>
<composite name="InnerTrackerBarrel"/>
<composite name="InnerTrackerEndcapP"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="MedialTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="MedialTrackerEndcapN"/>
<composite name="MedialTrackerCompositeBarrel"/>
<composite name="MedialTrackerEndcapP"/>
</detector>
<detector id="TrackerSubAssembly_2_ID"
name="OuterTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="OuterTrackerCompositeEndcapN"/>
<composite name="OuterTrackerBarrel"/>
<composite name="OuterTrackerCompositeEndcapP"/>
</detector>
<!--
<detector id="TrackerSubAssembly_3_ID"
name="EcalBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
</detector>
-->
<detector id="TrackerSubAssembly_4_ID"
name="ForwardBackwardTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="ForwardGEM"/>
<composite name="BackwardNullTracker"/>
</detector>
<detector id="TrackerCompositeBarrel_0_ID"
name="MedialTrackerCompositeBarrel"
type="athena_CompositeTracker"
actsType="barrel"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="0*um" />
<composite name="MedialTrackerBarrel"/>
<composite name="BarrelTOF"/>
</detector>
<detector id="TrackerCompositeEndcapN_0_ID"
name="OuterTrackerCompositeEndcapN"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="-1*um" />
<composite name="OuterTrackerEndcapN"/>
<composite name="GEMEndcapN"/>
</detector>
<detector id="TrackerCompositeEndcapP_0_ID"
name="OuterTrackerCompositeEndcapP"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="0*cm" />
<composite name="OuterTrackerEndcapP"/>
<composite name="GEMEndcapP"/>
</detector>
<detector id="TrackerCompositeEndcapN_1_ID"
name="BackwardNullTracker"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="-1*um" />
</detector>
</detectors>
<documentation>
### Material map for ACTS
https://eicweb.phy.anl.gov/EIC/detectors/athena/-/issues/127
</documentation>
<plugins>
<plugin name="FileLoader">
<arg value="cache:$DETECTOR_PATH"/>
<arg value="file:calibrations/materials-map.cbor"/>
<arg value="url:https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/4a4e7c8eb6089b634d762d112c89bd5d/material-maps.cbor"/>
</plugin>
</plugins>
<include ref="vertex_tracker_3layers.xml"/>
<include ref="central_tracker_hybrid_v2.xml"/>
</lccdd>
<lccdd>
<define>
<constant name="CrystalModule_sx" value="20.00*mm"/>
<constant name="CrystalModule_sy" value="20.00*mm"/>
<constant name="CrystalModule_sz" value="200.00*mm"/>
<constant name="CrystalModule_wrap" value="0.50*mm"/>
<constant name="GlassModule_sx" value="40.00*mm"/>
<constant name="GlassModule_sy" value="40.00*mm"/>
<constant name="GlassModule_sz" value="400.00*mm"/>
<constant name="GlassModule_wrap" value="1.00*mm"/>
<constant name="CrystalModule_z0" value="10.*cm"/>
<constant name="GlassModule_z0" value="0.0*cm"/>
<constant name="EcalEndcapN_z0" value="-EcalEndcapN_zmin-max(CrystalModule_sz,GlassModule_sz)/2."/>
<constant name="CrystalModule_dx" value="CrystalModule_sx + CrystalModule_wrap"/>
<constant name="CrystalModule_dy" value="CrystalModule_sy + CrystalModule_wrap"/>
<constant name="GlassModule_dx" value="GlassModule_sx + GlassModule_wrap"/>
<constant name="GlassModule_dy" value="GlassModule_sy + GlassModule_wrap"/>
</define>
<detectors>
<comment> </comment>
<documentation level="10">
#### Backwards Endcap EM Calorimeter
Backwards Endcap EM Calorimeter, placements generated by script
</documentation>
<detector id="ECalEndcapN_ID" name="EcalEndcapN" type="HomogeneousCalorimeter" readout="EcalEndcapNHits">
<position x="0" y="0" z="EcalEndcapN_z0"/>
<rotation x="0" y="0" z="0"/>
<placements>
<lines sector="1" mirrorx="true" mirrory="true">
<module sizex="CrystalModule_sx" sizey="CrystalModule_sy" sizez="CrystalModule_sz" material="PbWO4" vis="EcalEndcapNModuleVis"/>
<wrapper thickness="CrystalModule_wrap" material="Epoxy" vis="InvisibleWithDaughters"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*1/2." z="CrystalModule_z0" begin="5" nmods="21"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*3/2." z="CrystalModule_z0" begin="5" nmods="21"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*5/2." z="CrystalModule_z0" begin="5" nmods="21"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*7/2." z="CrystalModule_z0" begin="4" nmods="22"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*9/2." z="CrystalModule_z0" begin="3" nmods="23"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*11/2." z="CrystalModule_z0" begin="0" nmods="26"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*13/2." z="CrystalModule_z0" begin="0" nmods="24"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*15/2." z="CrystalModule_z0" begin="0" nmods="24"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*17/2." z="CrystalModule_z0" begin="0" nmods="24"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*19/2." z="CrystalModule_z0" begin="0" nmods="24"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*21/2." z="CrystalModule_z0" begin="0" nmods="24"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*23/2." z="CrystalModule_z0" begin="0" nmods="24"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*25/2." z="CrystalModule_z0" begin="0" nmods="22"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*27/2." z="CrystalModule_z0" begin="0" nmods="22"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*29/2." z="CrystalModule_z0" begin="0" nmods="20"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*31/2." z="CrystalModule_z0" begin="0" nmods="20"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*33/2." z="CrystalModule_z0" begin="0" nmods="18"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*35/2." z="CrystalModule_z0" begin="0" nmods="18"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*37/2." z="CrystalModule_z0" begin="0" nmods="16"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*39/2." z="CrystalModule_z0" begin="0" nmods="16"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*41/2." z="CrystalModule_z0" begin="0" nmods="14"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*43/2." z="CrystalModule_z0" begin="0" nmods="14"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*45/2." z="CrystalModule_z0" begin="0" nmods="12"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*47/2." z="CrystalModule_z0" begin="0" nmods="12"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*49/2." z="CrystalModule_z0" begin="0" nmods="6"/>
<line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*51/2." z="CrystalModule_z0" begin="0" nmods="6"/>
</lines>
<lines sector="2" mirrorx="true" mirrory="true">
<module sizex="GlassModule_sx" sizey="GlassModule_sy" sizez="GlassModule_sz" material="PbGlass" vis="EcalEndcapNModuleVis"/>
<wrapper thickness="GlassModule_wrap" material="Epoxy" vis="InvisibleWithDaughters"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*1/2." z="GlassModule_z0" begin="13" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*3/2." z="GlassModule_z0" begin="13" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*5/2." z="GlassModule_z0" begin="13" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*7/2." z="GlassModule_z0" begin="12" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*9/2." z="GlassModule_z0" begin="12" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*11/2." z="GlassModule_z0" begin="12" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*13/2." z="GlassModule_z0" begin="11" nmods="11"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*15/2." z="GlassModule_z0" begin="10" nmods="11"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*17/2." z="GlassModule_z0" begin="9" nmods="12"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*19/2." z="GlassModule_z0" begin="8" nmods="13"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*21/2." z="GlassModule_z0" begin="7" nmods="13"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*23/2." z="GlassModule_z0" begin="6" nmods="14"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*25/2." z="GlassModule_z0" begin="3" nmods="16"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*27/2." z="GlassModule_z0" begin="0" nmods="18"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*29/2." z="GlassModule_z0" begin="0" nmods="18"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*31/2." z="GlassModule_z0" begin="0" nmods="16"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*33/2." z="GlassModule_z0" begin="0" nmods="16"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*35/2." z="GlassModule_z0" begin="0" nmods="14"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*37/2." z="GlassModule_z0" begin="0" nmods="13"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*39/2." z="GlassModule_z0" begin="0" nmods="11"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*41/2." z="GlassModule_z0" begin="0" nmods="10"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*43/2." z="GlassModule_z0" begin="0" nmods="7"/>
<line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*45/2." z="GlassModule_z0" begin="0" nmods="3"/>
</lines>
</placements>
</detector>
</detectors>
<readouts>
<comment>Effectively no segmentation, the segmentation is used to provide cell dimension info</comment>
<readout name="EcalEndcapNHits">
<segmentation type="MultiSegmentation" key="sector">
<segmentation name="CrystalSeg" key_value="1" type="CartesianGridXY" grid_size_x="CrystalModule_dx" grid_size_y="CrystalModule_dy"/>
<segmentation name="GlassSeg" key_value="2" type="CartesianGridXY" grid_size_x="GlassModule_dx" grid_size_y="GlassModule_dy"/>
</segmentation>
<id>system:8,sector:4,module:20,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<display>
<vis name="EcalBarrelEnvelope_vis" alpha="0.9" r="0.99" g="0.5" b="0" showDaughters="true" visible="false" />
<vis name="EcalBarrelStave_vis" alpha="0.9" r="0.99" g="0.5" b="0" showDaughters="true" visible="false" />
<vis name="EcalBarrelFiberLayerVis" alpha="1.0" r="102/256" g="102/256" b="102/256" showDaughters="false" visible="true" />
<vis name="EcalBarrelFiberVis" alpha="1.0" r="0/256" g="130/256" b="202/256" showDaughters="false" visible="false" />
</display>
<define>
<comment>
---------------------------------------
EM Calorimeter Parameters with AstroPix
---------------------------------------
</comment>
<constant name="EcalBarrel_Support_thickness" value="5*cm"/>
<constant name="EcalBarrel_SiliconThickness" value="500*um"/>
<constant name="EcalBarrel_ElectronicsThickness" value="150*um"/>
<constant name="EcalBarrel_CopperThickness" value="100*um"/>
<constant name="EcalBarrel_KaptonThickness" value="200*um"/>
<constant name="EcalBarrel_EpoxyThickness" value="100*um"/>
<constant name="EcalBarrel_CarbonThickness" value="0.5*mm"/>
<constant name="EcalBarrel_CarbonSpacerWidth" value="4*mm"/>
<constant name="EcalBarrel_LayerSpacing" value="6.0*mm"/>
<constant name="EcalBarrel_FiberRadius" value="0.5*mm"/>
<constant name="EcalBarrel_FiberXSpacing" value="1.34*mm"/>
<constant name="EcalBarrel_FiberZSpacing" value="1.22*mm"/>
<comment>
For Pb/SiFi (GlueX): X0 ~ 1.45 cm
For W/SiFi (sPHENIX): X0 ~ 0.7 cm (but different fiber orientation)
</comment>
<constant name="EcalBarrel_RadiatorThickness" value="EcalBarrel_FiberZSpacing*12"/>
<constant name="EcalBarrel_ModRepeat" value="CaloSides"/>
<constant name="EcalBarrel_ModLength" value="0.5*m"/>
<constant name="EcalBarrel_ModWidth" value="0.5*m"/>
<constant name="EcalBarrel_AvailThickness" value="EcalBarrelEnvelope_thickness-EcalBarrel_Support_thickness"/>
<constant name="EcalBarrel_ImagingLayerThickness"
value="EcalBarrel_SiliconThickness
+ EcalBarrel_ElectronicsThickness
+ EcalBarrel_CopperThickness
+ EcalBarrel_KaptonThickness
+ EcalBarrel_EpoxyThickness
+ EcalBarrel_CarbonThickness
+ EcalBarrel_LayerSpacing
+ EcalBarrel_RadiatorThickness"/>
<constant name="EcalBarrelImagingLayers_max" value="6"/>
<constant name="EcalBarrelImagingLayers" value="min(EcalBarrelImagingLayers_max, floor(EcalBarrel_AvailThickness/EcalBarrel_ImagingLayerThickness))"/>
<constant name="EcalBarrel_FiberLayerThickness_max" value="max(0, EcalBarrel_AvailThickness-(EcalBarrelImagingLayers*EcalBarrel_ImagingLayerThickness-EcalBarrel_RadiatorThickness))"/>
<constant name="EcalBarrel_FiberLayerThickness" value="EcalBarrel_FiberZSpacing*12*15"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<comment>
---------------------
Barrel EM Calorimeter
---------------------
A layered EM calorimeter with tungsten and silicon (AstroPix)
</comment>
<detector
id="ECalBarrel_ID"
name="EcalBarrel"
type="athena_EcalBarrelHybrid"
readout="EcalBarrelHits"
calorimeterType="EM_BARREL"
vis="EcalBarrelEnvelope_vis"
offset="EcalBarrel_offset">
<dimensions numsides="EcalBarrel_ModRepeat"
rmin="EcalBarrel_rmin"
z="EcalBarrel_length"/>
<staves vis="EcalBarrelStave_vis">
<support inside="true" material="Steel235" vis="AnlOrange"
thickness="EcalBarrel_Support_thickness"
n_beams="3" grid_size="25.0*cm" >
</support>
</staves>
<comment>
---------------------------
Imaging layers with silicon
---------------------------
</comment>
<layer repeat="EcalBarrelImagingLayers-1" vis="AnlBlue">
<slice material="Silicon" thickness="EcalBarrel_SiliconThickness" sensitive="yes" limits="cal_limits" vis="AnlGray"/>
<slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness" vis="AnlGold"/>
<slice material="Copper" thickness="EcalBarrel_CopperThickness" vis="AnlGray"/>
<slice material="Kapton" thickness="EcalBarrel_KaptonThickness" vis="AnlGold"/>
<slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness" vis="AnlGray"/>
<slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness" vis="AnlGold"/>
<slice material="Lead" thickness="EcalBarrel_RadiatorThickness" vis="EcalBarrelFibersVis">
<fiber material="PlasticScint"
sensitive="yes"
vis="EcalBarrelFiberVis"
radius="EcalBarrel_FiberRadius"
spacing_x="EcalBarrel_FiberXSpacing"
spacing_z="EcalBarrel_FiberZSpacing"/>
</slice>
<slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness" vis="AnlGold"/>
<slice material="Air" thickness="EcalBarrel_LayerSpacing" vis="AnlGold"/>
</layer>
<comment>
---------------------------
Last imiging layer with thick scint fiber layer
---------------------------
</comment>
<layer repeat="1" vis="AnlBlue">
<slice material="Silicon" thickness="EcalBarrel_SiliconThickness" sensitive="yes" limits="cal_limits" vis="AnlGray"/>
<slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness" vis="AnlGold"/>
<slice material="Copper" thickness="EcalBarrel_CopperThickness" vis="AnlGray"/>
<slice material="Kapton" thickness="EcalBarrel_KaptonThickness" vis="AnlGold"/>
<slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness" vis="AnlGray"/>
<slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness" vis="AnlGold"/>
<slice material="Lead" thickness="min(EcalBarrel_FiberLayerThickness_max, EcalBarrel_FiberLayerThickness)"
vis="EcalBarrelFiberLayerVis">
<fiber material="PlasticScint"
sensitive="yes"
vis="EcalBarrelFiberVis"
radius="EcalBarrel_FiberRadius"
spacing_x="EcalBarrel_FiberXSpacing"
spacing_z="EcalBarrel_FiberZSpacing">
</fiber>
</slice>
</layer>
</detector>
</detectors>
<readouts>
<readout name="EcalBarrelHits">
<segmentation type="MultiSegmentation" key="fiber">
<segmentation name="LongiSeg" key_value="0x0" type="CartesianGridXY" grid_size_x="0.5*mm" grid_size_y="0.5*mm"/>
<segmentation name="RadialSeg" key_min="0x1" key_max="0xffffffff" type="NoSegmentation"/>
</segmentation>
<hits_collections>
<hits_collection name="EcalBarrelHits" key="fiber" key_value="0x0"/>
<hits_collection name="EcalBarrelScFiHits" key="fiber" key_min="0x1" key_max="0xffffffff"/>
</hits_collections>
<id>system:8,module:5,layer:4,slice:4,grid:9,fiber:9,x:39:-11,y:-14</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
</define>
<limits>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
</display>
<detectors>
<comment>
------------------------------------------
Forward (Positive Z) Endcap EM Calorimeter
------------------------------------------
An EM calorimeter with shashlik hexagon modules
</comment>
<detector id="ECalEndcapP_ID"
name="EcalEndcapP"
type="ShashlikCalorimeter"
readout="EcalEndcapPHits">
<position x="0" y="0" z="EcalEndcapP_zmin"/>
<placements>
<disk rmin="EcalEndcapP_rmin" rmax = "EcalEndcapP_rmax" sector="1">
<wrapper thickness="2*mm" material="Epoxy" vis="WhiteVis"/>
<module shape="square" side_length="50*mm" vis="EcalEndcapVis">
<layer repeat="EcalEndcapPLayer1_NRepeat" vis="EcalEndcapVis">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapPLayer2_NRepeat">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapPLayer3_NRepeat">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</module>
</disk>
</placements>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="EcalEndcapPHits">
<segmentation type="NoSegmentation"/>
<id>system:8,sector:4,module:24,layer:8,slice:8</id>
</readout>
</readouts>
<plugins>
</plugins>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<constant name="ForwardRICH_zmin" value="BarrelTracking_length/2.0 + ForwardTracking_length "/>
<constant name="ForwardRICH_rmin" value="ForwardPID_rmin1"/>
<constant name="ForwardRICH_rmax0" value="TrackerBarrel_rmax"/>
<constant name="ForwardRICH_rmax1" value="EcalBarrel_rmin"/>
<constant name="ForwardRICH_rmax2" value="Solenoid_rmin-6*cm"/>
<constant name="ForwardRICHDepth" value="0.9*m"/>
<constant name="ForwardRICH_sensor_rmin" value="ForwardRICH_rmax1 - 40.*cm"/>
<constant name="ForwardRICH_sensor_rmax" value="ForwardRICH_rmax2"/>
</define>
<detectors>
<detector
id="ForwardRICH_ID"
name="GaseousRICH"
type="athena_GaseousRICH"
readout="ForwardRICHHits"
gas="N2cherenkov"
vis="RICHVis">
<dimensions
z0="ForwardRICH_zmin"
snout_length="ForwardRICH_length - ForwardRICHDepth"
length="ForwardRICH_length"
rmin="ForwardRICH_rmin"
rmax0="ForwardRICH_rmax0"
rmax1="ForwardRICH_rmax1"
rmax2="ForwardRICH_rmax2"/>
<mirrors thickness="1*mm" material="PyrexGlass" vis="GrayVis">
<position z="ForwardRICH_length - 13*cm"/>
<mirror curve="300*cm" rmin="ForwardRICH_rmin+5*mm" rmax="ForwardRICH_rmax1" phiw="58*degree"
rotz="0*degree" roty="-15*degree" rotx="0"/>
<mirror curve="300*cm" rmin="ForwardRICH_rmin+5*mm" rmax="ForwardRICH_rmax1" phiw="58*degree"
rotz="60*degree" roty="-15*degree" rotx="0"/>
<mirror curve="300*cm" rmin="ForwardRICH_rmin+5*mm" rmax="ForwardRICH_rmax1" phiw="58*degree"
rotz="120*degree" roty="-15*degree" rotx="0"/>
<mirror curve="300*cm" rmin="ForwardRICH_rmin+5*mm" rmax="ForwardRICH_rmax1" phiw="58*degree"
rotz="180*degree" roty="-15*degree" rotx="0"/>
<mirror curve="300*cm" rmin="ForwardRICH_rmin+5*mm" rmax="ForwardRICH_rmax1" phiw="58*degree"
rotz="240*degree" roty="-15*degree" rotx="0"/>
<mirror curve="300*cm" rmin="ForwardRICH_rmin+5*mm" rmax="ForwardRICH_rmax1" phiw="58*degree"
rotz="300*degree" roty="-15*degree" rotx="0"/>
</mirrors>
<sensors>
<module sx="10*cm" sy="10*cm" sz="1.0*cm" gap="0.2*cm" material="Quartz" vis="AnlGold"/>
<comment>A thin optical material to accept optical photon in simulation</comment>
<optical material="AirOptical" thickness="0.1*mm"/>
<position z="8.*cm"/>
<sector rmin="ForwardRICH_sensor_rmin" rmax="ForwardRICH_sensor_rmax" phiw="58*degree"
rotz="0*degree" roty="-15*degree" rotx="0"/>
<sector rmin="ForwardRICH_sensor_rmin" rmax="ForwardRICH_sensor_rmax" phiw="58*degree"
rotz="60*degree" roty="-15*degree" rotx="0"/>
<sector rmin="ForwardRICH_sensor_rmin" rmax="ForwardRICH_sensor_rmax" phiw="58*degree"
rotz="120*degree" roty="-15*degree" rotx="0"/>
<sector rmin="ForwardRICH_sensor_rmin" rmax="ForwardRICH_sensor_rmax" phiw="58*degree"
rotz="180*degree" roty="-15*degree" rotx="0"/>
<sector rmin="ForwardRICH_sensor_rmin" rmax="ForwardRICH_sensor_rmax" phiw="58*degree"
rotz="240*degree" roty="-15*degree" rotx="0"/>
<sector rmin="ForwardRICH_sensor_rmin" rmax="ForwardRICH_sensor_rmax" phiw="58*degree"
rotz="300*degree" roty="-15*degree" rotx="0"/>
</sensors>
</detector>
</detectors>
<readouts>
<readout name="ForwardRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,sector:8,module:16,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<comment>Micromegas tracker barrel</comment>
<define>
<constant name="MMTrackerBarrel_thickness" value="TrackerBarrel_rmax - TrackerBarrel_rmax"/>
<constant name="MMTrackerBarrel_NLayers" value="5"/>
<constant name="MMTrackerBarrel_delta" value="MMTrackerBarrel_thickness/MMTrackerBarrel_NLayers"/>
<constant name="MMTrackerBarrelLayer1_rmin" value="800.0 * mm"/>
<constant name="MMTrackerBarrelLayer1_length" value="100.0 * mm"/>
<constant name="MMTrackerBarrelLayer1_thickness" value="10.0 * mm"/>
<constant name="MMTrackerBarrel_NZModules" value="floor(BarrelTracking_length/MMTrackerBarrelLayer1_length)"/>
<constant name="MMTrackerBarrelModulesTotal_length" value="MMTrackerBarrel_NZModules*MMTrackerBarrelLayer1_length"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="MMTrackerBarrel_ID" name="MMTrackerBarrel" type="athena_MMTrackerBarrel" readout="MMTrackerBarrelHits">
<module name="Module1" vis="AnlGold">
<module_envelope rmin="TrackerBarrel_rmax" length="MMTrackerBarrelLayer1_length" thickness="MMTrackerBarrel_delta"
phi="90*degree" />
<module_component thickness="1.0*mm" material="PEEK" sensitive="false">
<position x="0" />
</module_component>
<module_component thickness="1.0*mm" material="PEEK" sensitive="false"
length="MMTrackerBarrelLayer1_length-10.0*mm"
phi="89.0*degree" >
<position x="0" />
</module_component>
</module>
<layer module="Module1" id="1" vis="GreenVis">
<barrel_envelope
inner_r="MMTrackerBarrelLayer1_rmin-20.0*mm"
outer_r="MMTrackerBarrelLayer1_rmin + 20.0*mm"
z_length="MMTrackerBarrelModulesTotal_length" />
<comment>
phi0 : Starting phi of first module.
phi_tilt : Phi tilt of a module.
rc : Radius of the module center.
nphi : Number of modules in phi.
rphi_dr : The delta radius of every other module.
z0 : Z position of first module in phi.
nz : Number of modules to place in z.
dr : Radial displacement parameter, of every other module.
</comment>
<rphi_layout phi_tilt="0.0" nphi="4" phi0="0." rc="MMTrackerBarrelLayer1_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-MMTrackerBarrelModulesTotal_length/2.0 + MMTrackerBarrelLayer1_length/2.0"
nz="MMTrackerBarrel_NZModules"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="MMTrackerBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
<id>system:8,sector:8,module:14,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
<lccdd>
<comment> MRICH (alternative design) </comment>
<define>
<constant name="MRICH_rmin" value="10*cm"/>
<constant name="MRICH_rmax" value="BackwardPIDRegion_rmax"/>
<constant name="MRICH_length" value="BackwardPIDRegion_length"/>
<constant name="MRICH_zmin" value="BackwardPIDRegion_zmin"/>
<constant name="MRICHAerogel_thickness" value="30.0*mm"/>
<constant name="MRICHAerogel_width" value="126.5*mm"/>
<constant name="MRICHFoam_thickness" value="2*mm"/>
<constant name="MRICHFresnelLens_thickness" value="0.06*inch"/>
<constant name="MRICHAerogelLensGap_thickness" value="2*mm"/>
<constant name="MRICHPhotoDet_thickness" value="1.5*mm"/>
<constant name="MRICHPhotoDet_length" value="48.5*mm"/>
<constant name="MRICHGlassWindow_width" value="103.5*mm"/>
<constant name="MRICHGlassPhotoDet_thickness" value="5.0*mm"/>
<constant name="MRICHPhotoDetMCPlate_thickness" value="0.3*mm"/> <!-- FIXME: should be 1.2*mm with PyrexGlass25 -->
<constant name="MRICHPhotoDetAnode_thickness" value="3.8*mm"/>
<constant name="MRICHPhotoDetPCB_thickness" value="2.0*mm"/>
<constant name="MRICHPhotoDetCopper_thickness" value="0.1*mm"/>
<constant name="MRICHPhotoDetKapton_thickness" value="0.2*mm"/>
<constant name="MRICHRearExtraSpace_thickness" value="0.3*mm"/>
<constant name="MRICHLensPhotoDet_length" value="136.4*mm"/>
<constant name="MRICHFresnelLensEffectiveDiameter" value="6.0*inch"/>
<constant name="MRICHFresnelLensGroove_pitch" value="inch/125"/>
<constant name="MRICHCarbonFrame_thickness" value="1.0*mm"/>
<constant name="MRICHCarbonFrame_width" value="MRICHAerogel_width+2.0*MRICHFoam_thickness + 2.0*MRICHCarbonFrame_thickness"/>
<constant name="MRICHModules_nx" value="floor((MRICH_rmax-MRICH_rmin)/MRICHCarbonFrame_width)"/>
<constant name="MRICHModules_ny" value="floor((MRICH_rmax-MRICH_rmin)/MRICHCarbonFrame_width)"/>
<constant name="MRICHCarbonFrame_length"
value="MRICHAerogel_thickness
+ 2.0*MRICHCarbonFrame_thickness
+ 2.0*MRICHFoam_thickness
+ MRICHAerogelLensGap_thickness
+ MRICHFresnelLens_thickness
+ MRICHLensPhotoDet_length
+ MRICHGlassPhotoDet_thickness
+ 2.0*MRICHPhotoDetMCPlate_thickness
+ MRICHPhotoDetAnode_thickness
+ MRICHPhotoDetPCB_thickness
+ MRICHPhotoDetCopper_thickness
+ MRICHPhotoDetKapton_thickness
+ MRICHRearExtraSpace_thickness "/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="MRICH_ID" name="MRICH" type="athena_MRICH"
readout="MRICHHits"
reflect="true"
projective="false"
vis="InvisibleWithDaughters"
material="Air">
<dimensions rmin="MRICH_rmin" rmax="MRICH_rmax" length="abs(MRICH_length)" zmin="MRICH_zmin"/>
<envelope thickness="MRICHCarbonFrame_thickness" material="CarbonFiber"/>
<module name="MRICH_module1"
vis="InvisibleWithDaughters"
width="MRICHCarbonFrame_width"
height="MRICHCarbonFrame_width"
length="MRICHCarbonFrame_length">
<aerogel vis="MRICH_aerogel_vis"
length="MRICHAerogel_thickness"
width="MRICHAerogel_width"
material="AerogelOptical">
<frame vis="MRICH_frame_vis" thickness="MRICHFoam_thickness" material="PolystyreneFoam" />
</aerogel>
<lens vis="MRICH_lens_vis" thickness="MRICHFresnelLens_thickness"
pitch="MRICHFresnelLensGroove_pitch" focal_length="6.0*inch"
effective_diameter="MRICHFresnelLensEffectiveDiameter"
width="MRICHAerogel_width"
material="AcrylicOptical"/>
<space thickness="MRICHLensPhotoDet_length"/>
<photodet width="MRICHGlassWindow_width" thickness="MRICHGlassPhotoDet_thickness" material="PyrexGlassOptical">
<sensor nx="2" ny="2" thickness="MRICHPhotoDet_thickness" width="MRICHPhotoDet_length" material="SiliconOxide"/>
<layer thickness="MRICHPhotoDetMCPlate_thickness" material="PyrexGlass"/> <!-- FIXME: should be PyrexGlass25 with 1.2*mm thickness -->
<layer thickness="MRICHPhotoDetMCPlate_thickness" material="PyrexGlass"/> <!-- FIXME: should be PyrexGlass25 with 1.2*mm thickness -->
<layer thickness="MRICHPhotoDetAnode_thickness" material="AluminumOxide"/>
<layer thickness="MRICHPhotoDetPCB_thickness" material="Fr4"/>
<layer thickness="MRICHPhotoDetCopper_thickness" material="Copper"/>
<layer thickness="MRICHPhotoDetKapton_thickness" material="Kapton"/>
</photodet>
</module>
</detector>
</detectors>
<readouts>
<readout name="MRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,module:14,sensor:8,x:32:-16,y:-16</id>
</readout>
</readouts>
<!--Globals>
<Parameter Name="mrichInfo" Value="mrichmod/mrich_1_geoparams-0-0-4294967295-1527211159.xml"/>
</Globals-->
</lccdd>
<lccdd>
<comment>RWell tracker barrel based on Fun4All implementation https://www.dropbox.com/sh/j4n4g5h80g9tai6/AAAzmXSHRGQCShoSiewe6HCDa?dl=0 Where the detector is constructed in the G4_RWell.C and Build_G4_RWell_Sup01.C files
original R=(78.67, 90.0)cm,
DirftGap=(0.4, 0.4)cm,
Length=(200, 200)cm
kapton_thickness = 0.0175; //cm
cu_thickness = 0.002; //cm
prepreg_thickness = 0.005; //cm
pcb_thickness = 0.010; //cm
//inner tube
support_01_thickness = 0.50;
support_01_length = 7.2;
//inner ring
support_02_thickness = 1.6;
support_02_length = 1.2;
//outer ring
support_03_thickness = 0.50;
support_03_length = 1.2;
Length=TrackerBarrelOuter_length=(160, 160) cm // to avoid conflict with GEM tracker
TODO: fix GEM geometry and restore length
</comment>
<define>
<constant name="RWellTrackerBarrel_length" value="BarrelTracking_length"/>
<constant name="RWellTrackerBarrel_NZModules" value="1"/>
<constant name="RWellTrackerBarrel_NZSupport" value="2"/>
<constant name="RWellTrackerBarrel_Kapton_thickness" value="175.0*um"/>
<constant name="RWellTrackerBarrel_Gas_thickness" value="4.0*mm"/>
<constant name="RWellTrackerBarrel_Cu_thickness" value="20.0*um"/>
<constant name="RWellTrackerBarrel_Prepreg_thickness" value="50.0*um"/>
<constant name="RWellTrackerBarrel_Pcb_thickness" value="0.1*mm"/>
<constant name="RWellTrackerBarrelLayer1_length" value="RWellTrackerBarrel_length"/>
<constant name="RWellTrackerBarrelLayer1_gas_rmin" value="786.7 * mm"/>
<constant name="RWellTrackerBarrelLayer1_rmin" value="RWellTrackerBarrelLayer1_gas_rmin - RWellTrackerBarrel_Kapton_thickness"/>
<constant name="RWellTrackerBarrelLayer1_thickness" value="RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness + RWellTrackerBarrel_Pcb_thickness"/>
<constant name="RWellTrackerBarrelLayer2_length" value="RWellTrackerBarrel_length"/>
<constant name="RWellTrackerBarrelLayer2_gas_rmin" value="900.0 * mm"/>
<constant name="RWellTrackerBarrelLayer2_rmin" value="RWellTrackerBarrelLayer2_gas_rmin - RWellTrackerBarrel_Kapton_thickness"/>
<constant name="RWellTrackerBarrelLayer2_thickness" value="RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness + RWellTrackerBarrel_Pcb_thickness"/>
<constant name="RWellTrackerBarrel_STube_thickness" value="0.5*cm"/>
<constant name="RWellTrackerBarrel_STube_length" value="7.2*cm"/>
<constant name="RWellTrackerBarrel_IRing_thickness" value="1.6*cm"/>
<constant name="RWellTrackerBarrel_IRing_length" value="1.2*cm"/>
<constant name="RWellTrackerBarrel_ORing_thickness" value="0.5*cm"/>
<constant name="RWellTrackerBarrel_ORing_length" value="1.2*cm"/>
<constant name="RWellTrackerBarrelLayer1_support_rmin" value="RWellTrackerBarrelLayer1_rmin + RWellTrackerBarrelLayer1_thickness"/>
<constant name="RWellTrackerBarrelLayer2_support_rmin" value="RWellTrackerBarrelLayer2_rmin + RWellTrackerBarrelLayer2_thickness"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="RWellTrackerBarrel_ID" name="RWellTrackerBarrel" type="athena_RWellTrackerBarrel" readout="RWellTrackerBarrelHits">
<module name="Module1" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer1_rmin" thickness="RWellTrackerBarrelLayer1_thickness" length="RWellTrackerBarrelLayer1_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer1_rmin" thickness="RWellTrackerBarrel_Kapton_thickness" material="Kapton" name="entrance_window" sensitive="false"/>
<module_component rmin="RWellTrackerBarrelLayer1_rmin + RWellTrackerBarrel_Kapton_thickness" thickness="RWellTrackerBarrel_Gas_thickness" material="Ar10CO2" name="drift region" sensitive="true"/>
<module_component rmin="RWellTrackerBarrelLayer1_rmin + RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness" thickness="RWellTrackerBarrel_Cu_thickness" material="Copper" name="Cu" sensitive="false"/>
<module_component rmin="RWellTrackerBarrelLayer1_rmin + RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness" thickness="RWellTrackerBarrel_Prepreg_thickness" material="Nomex" name="Prepreg" sensitive="false"/>
<module_component rmin="RWellTrackerBarrelLayer1_rmin + RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Prepreg_thickness" thickness="RWellTrackerBarrel_Pcb_thickness" material="Fr4" name="Pcb" sensitive="false"/>
</module>
<module name="Module1_STube" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer1_support_rmin" thickness="RWellTrackerBarrel_STube_thickness" length="RWellTrackerBarrel_STube_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer1_support_rmin" thickness="RWellTrackerBarrel_STube_thickness" material="Cfrp_intt" name="support_tube" sensitive="false"/>
</module>
<module name="Module1_IRing" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness" thickness="RWellTrackerBarrel_IRing_thickness" length="RWellTrackerBarrel_IRing_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness" thickness="RWellTrackerBarrel_IRing_thickness" material="Cfrp_intt" name="support_inner_ring" sensitive="false"/>
</module>
<module name="Module1_ORing" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness" thickness="RWellTrackerBarrel_ORing_thickness" length="RWellTrackerBarrel_ORing_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness" thickness="RWellTrackerBarrel_ORing_thickness" material="Cfrp_intt" name="support_outer_ring" sensitive="false"/>
</module>
<module name="Module2" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer2_rmin" thickness="RWellTrackerBarrelLayer2_thickness" length="RWellTrackerBarrelLayer2_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer2_rmin" thickness="RWellTrackerBarrel_Kapton_thickness" material="Kapton" name="entrance_window" sensitive="false"/>
<module_component rmin="RWellTrackerBarrelLayer2_rmin + RWellTrackerBarrel_Kapton_thickness" thickness="RWellTrackerBarrel_Gas_thickness" material="Ar10CO2" name="drift region" sensitive="true"/>
<module_component rmin="RWellTrackerBarrelLayer2_rmin + RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness" thickness="RWellTrackerBarrel_Cu_thickness" material="Copper" name="Cu" sensitive="false"/>
<module_component rmin="RWellTrackerBarrelLayer2_rmin + RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness" thickness="RWellTrackerBarrel_Prepreg_thickness" material="Nomex" name="Prepreg" sensitive="false"/>
<module_component rmin="RWellTrackerBarrelLayer2_rmin + RWellTrackerBarrel_Kapton_thickness + RWellTrackerBarrel_Gas_thickness + RWellTrackerBarrel_Cu_thickness + RWellTrackerBarrel_Pcb_thickness" thickness="RWellTrackerBarrel_Pcb_thickness" material="Fr4" name="Pcb" sensitive="false"/>
</module>
<module name="Module2_STube" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer2_support_rmin" thickness="RWellTrackerBarrel_STube_thickness" length="RWellTrackerBarrel_STube_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer2_support_rmin" thickness="RWellTrackerBarrel_STube_thickness" material="Cfrp_intt" name="support_tube" sensitive="false"/>
</module>
<module name="Module2_IRing" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness" thickness="RWellTrackerBarrel_IRing_thickness" length="RWellTrackerBarrel_IRing_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness" thickness="RWellTrackerBarrel_IRing_thickness" material="Cfrp_intt" name="support_inner_ring" sensitive="false"/>
</module>
<module name="Module2_ORing" vis="GreenVis">
<module_envelope
rmin="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness" thickness="RWellTrackerBarrel_ORing_thickness" length="RWellTrackerBarrel_ORing_length" phi="360*degree" />
<module_component rmin="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness" thickness="RWellTrackerBarrel_ORing_thickness" material="Cfrp_intt" name="support_outer_ring" sensitive="false"/>
</module>
<layer module="Module1" id="1" vis="GreenVis">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer1_rmin"
outer_r="RWellTrackerBarrelLayer1_rmin + RWellTrackerBarrelLayer1_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer1_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrelLayer1_length/2.0"
nz="RWellTrackerBarrel_NZModules"/>
</layer>
<layer module="Module1_STube" id="2" vis="InvisibleWithDaughters">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer1_support_rmin"
outer_r="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer1_support_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrel_STube_length/2.0"
nz="RWellTrackerBarrel_NZSupport"/>
</layer>
<layer module="Module1_IRing" id="3" vis="InvisibleWithDaughters">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness"
outer_r="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrel_IRing_length/2.0"
nz="RWellTrackerBarrel_NZSupport"/>
</layer>
<layer module="Module1_ORing" id="4" vis="InvisibleWithDaughters">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness"
outer_r="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness + RWellTrackerBarrel_ORing_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer1_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrel_ORing_length/2.0"
nz="RWellTrackerBarrel_NZSupport"/>
</layer>
<layer module="Module2" id="5" vis="GreenVis">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer2_rmin"
outer_r="RWellTrackerBarrelLayer2_rmin + RWellTrackerBarrelLayer2_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer2_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrelLayer2_length/2.0"
nz="RWellTrackerBarrel_NZModules"/>
</layer>
<layer module="Module2_STube" id="6" vis="InvisibleWithDaughters">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer2_support_rmin"
outer_r="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer2_support_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrel_STube_length/2.0"
nz="RWellTrackerBarrel_NZSupport"/>
</layer>
<layer module="Module2_IRing" id="7" vis="InvisibleWithDaughters">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness"
outer_r="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrel_IRing_length/2.0"
nz="RWellTrackerBarrel_NZSupport"/>
</layer>
<layer module="Module2_ORing" id="8" vis="InvisibleWithDaughters">
<barrel_envelope
inner_r="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness"
outer_r="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness + RWellTrackerBarrel_ORing_thickness"
z_length="RWellTrackerBarrel_length" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0." rc="RWellTrackerBarrelLayer2_support_rmin + RWellTrackerBarrel_STube_thickness + RWellTrackerBarrel_IRing_thickness" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="-RWellTrackerBarrel_length/2.0 + RWellTrackerBarrel_ORing_length/2.0"
nz="RWellTrackerBarrel_NZSupport"/>
</layer>
</detector>
</detectors>
<readouts>
<readout name="RWellTrackerBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
<id>system:8,barrel:3,layer:4,module:7,sensor:2,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
<lccdd>
<display>
</display>
<define>
</define>
<documentation level="10">
### Mixed tracking configuration
This configuration needs attention!
</documentation>
<include ref="rwell_tracker_barrel.xml">
<!--include ref="compact/ce_GEM.xml"/-->
<!--include ref="compact/mm_tracker_barrel.xml"/-->
<!--include ref="compact/cb_VTX_Barrel.xml"/-->
<!--include ref="compact/gem_tracker_endcap.xml"/-->
</lccdd>