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
Commits on Source (69)
Showing
with 57801 additions and 457 deletions
......@@ -25,3 +25,7 @@ ip6
fieldmaps
manifest.txt
acts.txt
acts2.txt
materials-map.cbor
......@@ -80,6 +80,8 @@ build:simple:
.views:
stage: docs
tags:
- phy-scratch
before_script:
- source .local/bin/env.sh
- env
......@@ -113,34 +115,38 @@ dump_geometry:
- print_env.sh
## DEBUG
- mkdir -p geo
## disable fibers in SciFi endcap ECAL for better performance
- sed -i '/<fiber/,+4d' ${DETECTOR_PATH}/compact/ci_ecal_scfi.xml
## subsystem views
- |
sed -i -e '/<detectors>/,/<\/detectors>/d' ${DETECTOR_PATH}/compact/tracking_config*.xml
mv ${DETECTOR_PATH}/compact/display_geoviewer.xml ${DETECTOR_PATH}/compact/display.xml
mv ${DETECTOR_PATH}/compact/colors_geoviewer.xml ${DETECTOR_PATH}/compact/colors.xml
for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do
echo $xml
geo_name=`basename $xml .xml`_geo.root
cp $xml ${DETECTOR_PATH}/geo.xml
dd_web_display --output geo/${geo_name} ${DETECTOR_PATH}/geo.xml
done
## Lower-resolution display of the pfRICH sensors for global views
- sed -i 's/_default"\/>/_lores"\/>/' ${DETECTOR_PATH}/compact/pfrich.xml
## full geo with downstream beamline
- dd_web_display --output geo/detector_geo_full.root ${DETECTOR_PATH}/athena.xml
## only central detector geo
- sed -i '/forward_ion_beamline/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/beampipe_hadron_B0/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/B0_/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/far_forward/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/far_forward_offM/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/far_forward_detectors/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/roman_pots/d' ${DETECTOR_PATH}/athena.xml
- sed -i '/inner_vacuum_FF_magnets/d' ${DETECTOR_PATH}/athena.xml
- dd_web_display --output geo/detector_geo.root ${DETECTOR_PATH}/athena.xml
## print some useful output
- |
echo "Geometry viewer at:"
echo "https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/${CI_JOB_ID}/artifacts/raw/geo/detector_geo_full.root?job=dump_geometry&item=default;1&opt=clipxyz;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all&"
echo "https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/${CI_JOB_ID}/artifacts/raw/geo/detector_geo_full.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all"
echo " - Central detector view at: "
echo "https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/${CI_JOB_ID}/artifacts/raw/geo/detector_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom120;ROTY320;ROTZ340;trz0;trr0;ctrl;all"
for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do
geo_name=`basename $xml .xml`_geo.root
echo " - Subsystem view for `basename $xml .xml` at:"
echo " https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/${CI_JOB_ID}/artifacts/raw/geo/${geo_name}?job=dump_geometry&item=default;1&opt=clipxyz;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all&"
echo " https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/${CI_JOB_ID}/artifacts/raw/geo/${geo_name}?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY320;ROTZ340;trz0;trr0;ctrl;all"
done
detector_documentation:
......@@ -152,7 +158,7 @@ detector_documentation:
- bash bin/build_documentation | tee doc/detector.md
#- |
# xmllint --format --xpath '//comment/text()' ${DETECTOR_PATH}/athena.xml | sed -re 's/<\/?\w+>//g' | sed 's/^[[:space:]]*#/#/' | tee doc/detector.md
# xmllint --format --xpath '//comment/text()' ${DETECTOR_PATH}/ip6/ip6_defs.xml | sed -re 's/<\/?\w+>//g' | sed 's/^[[:space:]]*#/#/' | tee -a doc/detector.md || true
# xmllint --format --xpath '//comment/text()' ${DETECTOR_PATH}/ip6/definitions.xml | sed -re 's/<\/?\w+>//g' | sed 's/^[[:space:]]*#/#/' | tee -a doc/detector.md || true
# for afile in ${DETECTOR_PATH}/compact/*.xml ; do
# xmllint --format --xpath '//comment/text()' ${afile} | sed -re 's/<\/?\w+>//g' | sed 's/^[[:space:]]*#/#/' | tee -a doc/detector.md || true
# done
......@@ -173,7 +179,7 @@ report:
- view_20
- dump_constants
- dump_geometry
- convert_to_gdml
- dump_gdml
script:
- pip3 install jinja2 && ls -lrth
- ./bin/make_images > doc/dawn_views.md
......@@ -191,6 +197,9 @@ overlap_check_tgeo:
needs:
- ["common:detector"]
script:
## disable fibers in ECAL for normal overlap check
- sed -i '/<fiber/,+6d' ${DETECTOR_PATH}/compact/ecal_barrel_interlayers.xml
- sed -i '/<fiber/,+4d' ${DETECTOR_PATH}/ip6/far_forward/ZDC_Ecal_WSciFi.xml
- checkOverlaps -c ${DETECTOR_PATH}/athena.xml | tee doc/overlap_check_tgeo.out
- echo "$(cat doc/overlap_check_tgeo.out | grep ovlp | wc -l) overlaps..."
- if [[ "$(cat doc/overlap_check_tgeo.out | grep ovlp | wc -l)" -gt "0" ]] ; then echo "Overlaps exist!" && false ; fi
......@@ -202,8 +211,10 @@ overlap_check_geant4:full_fast:
script:
## disable fibers in ECAL for normal overlap check
- sed -i '/<fiber/,+6d' ${DETECTOR_PATH}/compact/ecal_barrel_interlayers.xml
- sed -i '/<fiber/,+4d' ${DETECTOR_PATH}/ip6/far_forward/ZDC_Ecal_WSciFi.xml
## reduce the number of fibers in Hadron EMCal for overlap check
- sed -i 's/radius="EcalEndcapP_FiberRadius"/radius="EcalEndcapP_FiberRadius*10"/' ${DETECTOR_PATH}/compact/ci_ecal_scfi.xml
## not needed, as we are running with a different setup now
#- sed -i 's/radius="EcalEndcapP_FiberRadius"/radius="EcalEndcapP_FiberRadius*10"/' ${DETECTOR_PATH}/compact/ci_ecal_scfi.xml
- python scripts/checkOverlaps.py -c ${DETECTOR_PATH}/athena.xml | tee doc/overlap_check_geant4.out
- echo "$(cat doc/overlap_check_geant4.out | grep GeomVol1002 | wc -l) overlaps..."
- if [[ "$(cat doc/overlap_check_geant4.out | grep GeomVol1002 | wc -l)" -gt "0" ]] ; then echo "Overlaps exist!" && false ; fi
......@@ -220,13 +231,19 @@ overlap_check_geant4:inner_detector:
- echo "$(cat doc/overlap_check_geant4.out | grep GeomVol1002 | wc -l) overlaps..."
- if [[ "$(cat doc/overlap_check_geant4.out | grep GeomVol1002 | wc -l)" -gt "0" ]] ; then echo "Overlaps exist!" && false ; fi
convert_to_gdml:
dump_gdml:
stage: test
needs:
- ["common:detector"]
script:
- mkdir -p geo
- python scripts/convert_to_gdml.py --compact ${DETECTOR_PATH}/athena.xml --output geo/athena.gdml
- |
python scripts/convert_to_gdml.py --compact ${DETECTOR_PATH}/athena.xml --output geo/athena.gdml
for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do
cp $xml ${DETECTOR_PATH}/geo.xml
gdml_name=`basename $xml .xml`.gdml
python scripts/convert_to_gdml.py --compact ${DETECTOR_PATH}/geo.xml --output geo/${gdml_name}
done
tracking_geometry_debug:
stage: test
......@@ -253,5 +270,5 @@ benchmarks:detector:
project: EIC/benchmarks/detector_benchmarks
strategy: depend
needs:
- overlap_check_tgeo
- overlap_check_geant4:full_fast
- common:detector
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
# CMP0074: find_package() uses <PackageName>_ROOT variables
cmake_policy(SET CMP0074 NEW)
PROJECT(athena
VERSION 0.0.1
LANGUAGES CXX
......@@ -6,13 +10,18 @@ PROJECT(athena
)
set(CMAKE_CXX_STANDARD 17)
find_package( DD4hep REQUIRED COMPONENTS DDCore DDG4)
find_package(Acts REQUIRED COMPONENTS Core PluginIdentification PluginTGeo PluginDD4hep )
find_package(fmt)
#find_library(FMT_LIBRARY fmt)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
find_package(DD4hep REQUIRED COMPONENTS DDCore DDG4)
find_package(ActsDD4hep)
if(ActsDD4hep_FOUND)
add_compile_definitions(USE_ACTSDD4HEP)
set(ActsDD4hep ActsDD4hep::ActsDD4hep)
else()
find_package(Acts REQUIRED COMPONENTS Core PluginIdentification PluginTGeo PluginDD4hep)
set(ActsDD4hep ActsCore ActsPluginDD4hep)
endif()
find_package(fmt REQUIRED)
#-----------------------------------------------------------------------------------
set(a_lib_name athena)
......@@ -20,15 +29,16 @@ set(a_lib_name athena)
dd4hep_configure_output()
dd4hep_add_plugin(${a_lib_name} SOURCES
src/BackwardGEMTracker_geo.cpp
src/BarrelBarDetectorWithSideFrame_geo.cpp
src/BarrelCalorimeter_geo.cpp
src/BarrelCalorimeterHybrid_geo.cpp
src/BarrelCalorimeterInterlayers_geo.cpp
src/BarrelTrackerWithFrame_geo.cpp
src/CompositeTracker_geo.cpp
src/CylinderTrackerBarrel_geo.cpp
src/DIRC_geo.cpp
src/DRich_geo.cpp
src/DRICH_geo.cpp
src/PFRICH_geo.cpp
src/FileLoader.cpp
src/FieldMapBrBz.cpp
src/GaseousRICH_geo.cpp
src/GeometryHelpers.cpp
......@@ -41,10 +51,10 @@ dd4hep_add_plugin(${a_lib_name} SOURCES
src/SimpleDiskDetector_geo.cpp
src/SolenoidCoil_geo.cpp
src/TrapEndcapTracker_geo.cpp
USES ActsCore ActsPluginDD4hep
USES ${ActsDD4hep}
)
target_link_libraries(${a_lib_name}
PUBLIC DD4hep::DDCore DD4hep::DDRec fmt::fmt
PUBLIC DD4hep::DDCore DD4hep::DDRec fmt::fmt
)
#-----------------------------------------------------------------------------------
......@@ -60,3 +70,8 @@ install(DIRECTORY compact/
install(FILES athena.xml
DESTINATION share/${PROJECT_NAME}/
)
#-----------------------------------------------------------------------------------
# Install the detector calibration files.
install(DIRECTORY calibrations/
DESTINATION share/${PROJECT_NAME}/calibrations
)
......@@ -3,22 +3,34 @@ Overview
The Athena Detector at IP6 for Electron-Ion Collider experiment.
**Detector geometry viewer:**
- [Central detector geometry](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/geo/detector_geo.root?job=report&item=default;1&opt=clipxyz;transp30;zoom100;ROTY0;ROTZ0;trz100;trr0;ctrl;all&)
- [Full Detector geometry (including beamline)](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/geo/detector_geo_full.root?job=report&item=default;1&opt=clipxyz;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all&)
<a href="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01.pdf?job=report">
<img src="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01.png?job=report" width="400px" />
- [Central detector](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/detector_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom120;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- [Full Detector (including beamline)](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/detector_geo_full.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all)
- [Inner detector (without calorimetry)](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/inner_detector_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- Subsystem views:
- [Calorimetry](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/calorimeters_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom120;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- [PID](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/pid_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- [dRICH](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/drich_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all)
- [pfRICH](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/pfrich_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom55;ROTY49;ROTZ350;trz0;trr0;ctrl;all&)
- [DIRC](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/dirc_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom120;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- [ToF](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/tof_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom55;ROTY49;ROTZ350;trz0;trr0;ctrl;all&)
- [Tracking](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/tracking_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom75;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- [Vertex detector](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/vertex_only_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom120;ROTY320;ROTZ340;trz0;trr0;ctrl;all)
- [Far-forward](https://eic.phy.anl.gov/geoviewer/index.htm?nobrowser&file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/geo/ip6_geo.root?job=dump_geometry&item=default;1&opt=clipx;clipy;transp30;zoom40;ROTY290;ROTZ350;trz0;trr0;ctrl;all)
<a href="https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/images/view01.pdf?job=report">
<img src="https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/images/view01.png?job=report" width="400px" />
</a>
<br />
<a href="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01_top.pdf?job=report">
<img src="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01_top.png?job=report" width="400px" />
<a href="https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/images/view01_top.pdf?job=report">
<img src="https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/images/view01_top.png?job=report" width="400px" />
</a>
[Browse latest](https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/browse/images?job=report)
[Detector views](views/detector_views.md)
[Detector views](https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/doc/dawn_views.md?job=report)
[Constants listing](https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/doc/constants.out?job=report)
Getting Started
---------------
......
......@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/ip6_defs.xml" />
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
......@@ -83,17 +84,6 @@
- and more...
</documentation>
<comment>
Beamline elements
-----------------
</comment>
<include ref="ip6/forward_ion_beamline.xml"/>
<include ref="ip6/beampipe_hadron_B0.xml" />
<include ref="ip6/beampipe.xml" />
<include ref="ip6/inner_vacuum_FF_magnets.xml"/>
<documentation level="5">
## Main magnet
......@@ -101,81 +91,20 @@
</documentation>
<include ref="compact/solenoid.xml"/>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<comment>
TOF disabled for baseline
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</comment>
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<documentation level="10">
## Central tracking detectors
</documentation>
<include ref="compact/tracking_config_acadia.xml"/>
<!--include ref="compact/tracking_config_mgpds.xml"/-->
<!--include ref="compact/tracking_config_acadia.xml"/-->
<!--include ref="compact/tracking_config_canyonlands.xml"/-->
<include ref="compact/tracking_config_deathvalley.xml"/>
<documentation level="10">
### PID detectors
</documentation>
<include ref="compact/pid_config_acadia.xml" />
<!--include ref="compact/pid_config_acadia.xml" /-->
<!--include ref="compact/pid_config_canyonlands.xml" /-->
<include ref="compact/pid_config_deathvalley.xml" />
<documentation level="10">
## Central calorimetry
......@@ -183,74 +112,20 @@
<include ref="compact/ecal.xml"/>
<include ref="compact/hcal.xml"/>
<documentation level="11">
## Far foward detectors
</documentation>
<include ref="ip6/central_beampipe.xml"/>
<documentation level="11">
## Far foward detectors
</documentation>
<include ref="ip6/B0_tracker.xml"/>
<include ref="ip6/B0_preshower.xml"/>
<include ref="ip6/far_forward_offM_tracker.xml"/>
<include ref="ip6/far_forward_detectors.xml"/>
<include ref="ip6/roman_pots_eRD24_design.xml"/>
<include ref="ip6/far_forward.xml"/>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<documentation level="11">
## Far backward detectors
</documentation>
<include ref="ip6/far_backward.xml"/>
<comment>
FB elements
......
......@@ -52,7 +52,7 @@ parser.add_argument('-t', '--tag', type=str,dest='file_tag',
help='Output file tag')
parser.add_argument('--timeout', type=int,
default=60,
default=3600,
help='Timeout in seconds')
parser.add_argument('passthrough', nargs='*')
......
......@@ -7,9 +7,15 @@ env = Environment(
autoescape=select_autoescape(['html', 'xml'])
)
import os
import glob
base_url = "https://eicweb.phy.anl.gov/api/v4/projects/390/jobs/artifacts/master/raw"
if "CI_PROJECT_ID" in os.environ:
CI_PROJECT_ID = str(os.environ["CI_PROJECT_ID"])
else:
CI_PROJECT_ID = "473"
base_url = f"https://eicweb.phy.anl.gov/api/v4/projects/{CI_PROJECT_ID}/jobs/artifacts/master/raw"
#images = ["images/view2a.png","images/view2b.png", "images/view1.png"]
images = glob.glob("images/*.png")
......
#!/bin/bash
function print_the_help {
echo "USAGE: --ebeam E --pbeam E -c compact.xml"
echo "REQUIRED ARGUMENTS:"
echo " -h|--help Print this message"
echo " --ebeam Electron beam energy (5, 10 or 18)"
echo " --pbeam Ion beam energy (41, 100 or 275)"
echo " -c|--compact Compact file to set beam energy for"
exit
}
EBEAM=
PBEAM=
COMPACT=
while [ $# -gt 0 ]
do
key="$1"
case $key in
-h|--help)
print_the_help
;;
--ebeam)
EBEAM=$2
shift
shift
;;
--pbeam)
PBEAM=$2
shift
shift
;;
-c|--compact)
COMPACT=$2
shift
shift
;;
*) # unknown option
echo "unknown option"
exit 1
;;
esac
done
echo "Setting beam energies to $EBEAM on $PBEAM for $COMPACT"
if [ -z $COMPACT ]; then
echo "Error: no compact file given, use -h for help"
exit 1
fi
if [ -z $EBEAM ]; then
echo "Error: --ebeam argument missing, use -h for help"
exit 1
fi
if [ -z $PBEAM ]; then
echo "Error: --pbeam argument missing, use -h for help"
exit 1
fi
if [[ $PBEAM != "41" && $PBEAM != "100" && $PBEAM != "275" ]]; then
echo "Error: Ion beam energy should be 41, 100, or 275 GeV"
exit 1
fi
if [[ $EBEAM != 5 && $EBEAM != 10 && $EBEAM != 18 ]]; then
echo "Error: Electron beam energy should be 5, 10, or 18 GeV"
exit 1
fi
if [ ! -f ${COMPACT} ]; then
echo "Error: Compact file ${COMPACT} does not exist"
exit 1
fi
sed -i "s?far_forward_fields_.\{2,3\}.xml?far_forward_fields_${PBEAM}.xml?" athena.xml
sed -i "s?far_backward_fields_.\{1,2\}.xml?far_backward_fields_${EBEAM}.xml?" athena.xml
{
"ecal_neg_endcap": {
"readout": "module",
"dynamicRange": "20*GeV",
"capacityBitsADC": 14,
"pedestalMean": 100,
"pedestalSigma": 1,
"thresholdValue": 3
},
"hcal_neg_endcap": {
"readout": "tile",
"dynamicRange": "20*MeV",
"capacityBitsADC": 8,
"pedestalMean": 20,
"pedestalSigma": 0.3,
"thresholdValue": 1
},
"ecal_pos_endcap": {
"readout": "module",
"dynamicRange": "3*GeV",
"capacityBitsADC": 14,
"pedestalMean": 100,
"pedestalSigma": 0.7,
"thresholdValue": 2
},
"hcal_pos_endcap": {
"readout": "tile",
"dynamicRange": "3.6*GeV",
"capacityBitsADC": 10,
"pedestalMean": 20,
"pedestalSigma": 0.8,
"thresholdValue": 3
},
"ecal_barrel_imaging": {
"readout": "pixel",
"dynamicRange": "3*MeV",
"capacityBitsADC": 13,
"pedestalMean": 100,
"pedestalSigma": 14,
"thresholdValue": 50
},
"ecal_barrel_scfi": {
"readout": "light_guide",
"dynamicRange": "750*MeV",
"capacityBitsADC": 14,
"pedestalMean": 20,
"pedestalSigma": 0.3,
"thresholdValue": 1
},
"hcal_barrel": {
"readout": "tile",
"dynamicRange": "20*MeV",
"capacityBitsADC": 8,
"pedestalMean": 20,
"pedestalSigma": 0.3,
"thresholdValue": 1
}
}
calo_digi_canyonlands.json
\ No newline at end of file
{
"electron": {
"particle_name": "electron",
"sampling_fraction": 0.10856976476514045,
"sampling_fraction_img": 0.00595078393326404,
"sampling_fraction_scfi": 0.10262666247845109,
"thrown_energy": 4.975791477972636
"sampling_fraction": 0.1053739677993623,
"sampling_fraction_error": 0.00014385360879111712,
"sampling_fraction_error_img": 7.262477989358573e-05,
"sampling_fraction_error_scfi": 0.0001238835428684493,
"sampling_fraction_img": 0.006008855583640059,
"sampling_fraction_scfi": 0.09940809338992981,
"thrown_energy": 5.000000028019361
}
}
{
"ffi_zdc_ecal": {
"sampling_fraction": 1.0,
"minClusterCenterEdep": "3.*MeV",
"minClusterHitEdep": "0.1*MeV",
"localDistXY": ["50*mm", "50*mm"],
"splitCluster": true
},
"ffi_zdc_hcal": {
"sampling_fraction": 1.0,
"minClusterCenterEdep": "1.*MeV",
"minClusterHitEdep": "0.1*MeV",
"localDistXY": ["200*mm", "200*mm"],
"splitCluster": false
}
}
Source diff could not be displayed: it is too large. Options to address this: view the blob.
<lccdd>
<define>
<constant name="CrystalEndcap_rmin" value="VertexTrackerBarrel_rmin"/>
<constant name="CrystalEndcap_rmax" value="EcalEndcapN_rmin"/>
<constant name="CrystalBox_x_length" value="20.0*mm"/>
<constant name="CrystalBox_y_length" value="20.0*mm"/>
<constant name="CrystalBox_z_length" value="200.0*mm"/>
<constant name="CrystalBox_offset" value="0.000001*mm"/>
<constant name="CrystalEndcap_x_pos" value="0.0*m"/>
<constant name="CrystalEndcap_y_pos" value="0.0*m"/>
<constant name="CrystalEndcap_z_pos" value="-EcalEndcapN_zmin"/>
</define>
<limits>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
</display>
<detectors>
<comment>
-------------------------------
Backwards Endcap EM Calorimeter
-------------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapN_ID"
name="EcalEndcapN"
type="athena_PolyhedraEndcapCalorimeter2"
reflect="true"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP">
<position x="0" y="0" z="0"/>
<dimensions
numsides="CaloSides"
zmin="EcalEndcapN_zmin"
rmin="EcalEndcapN_rmin"
rmax="TrackerBarrel_rmax" />
<layer repeat="EcalEndcapNLayer1_NRepeat">
<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="EcalEndcapNLayer2_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="EcalEndcapNLayer3_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>
</detector>
<comment>
-------------------
Crystal Calorimeter
-------------------
Backward (negative pseudorapidity) angle electron detector
</comment>
<detector
id="CrystalEndcap_ID"
name="ElectronECAL"
type="CrystalCalorimeterEndcap"
readout="CrystalEcalHits"
vis="GreenVis">
<position x="CrystalEndcap_x_pos" y="CrystalEndcap_y_pos" z="CrystalEndcap_z_pos" />
<dimensions rmin="CrystalEndcap_rmin" rmax="CrystalEndcap_rmax" x="CrystalBox_x_length" y="CrystalBox_y_length" z="CrystalBox_z_length" delta="CrystalBox_offset"/>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<!--
<readout name="PlaneTrackerHits">
<segmentation type="CartesianGridXY" grid_size_x="20.0*mm" grid_size_y="20.0*mm" />
<id>system:5,module:4,x:32:-16,y:-16</id>
</readout>
-->
<readout name="CrystalEcalHits">
<segmentation type="CartesianGridXY" grid_size_x="CrystalBox_x_length" grid_size_y="CrystalBox_y_length" />
<id>system:8,sector:4,module:20,x:48:-8,y:-8</id>
</readout>
<readout name="EcalEndcapNHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
</lccdd>
......@@ -27,6 +27,10 @@ total X0 0.24% per disk layer (4 sectors per disk):
</documentation>
<define>
<constant name="CentralTrackerSensor_thickness" value="40*um"/>
<constant name="TrackerCarbon_thickness" value="0.12*mm"/>
<constant name="TrackerEndcapAluminum_thickness" value="0.15*mm"/>
<comment>
Layer_rOffset is used to add inside space so the _rmin value is the nominal sensor radius.
TrackerBarrelSpaceFrame_height must be smaller than {_rmin2 - _rmin1 - Layer_rOffset - 1mm - stave_thickness}
......@@ -35,7 +39,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
<constant name="TrackerBarrelLayer_rOffset" value="0.5*cm"/>
<constant name="TrackerBarrelSpaceFrame_width" value="4.0*cm"/>
<constant name="TrackerBarrelSpaceFrame_height" value="1.0*cm"/>
<constant name="TrackerSensor_thickness" value="ITS3Thickness"/>
<constant name="TrackerSensor_thickness" value="CentralTrackerSensor_thickness"/>
<constant name="TrackerBarrelInner_rmin1" value="21.0*cm"/>
<constant name="TrackerBarrelInner_rmin2" value="22.68*cm"/>
......@@ -155,7 +159,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</comment>
<detector
id="TrackerBarrel_Inner_ID"
id="TrackerBarrel_0_ID"
name="TrackerBarrel_Inner"
type="athena_TrackerBarrel"
readout="TrackerBarrelHits"
......@@ -219,7 +223,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector>
<detector
id="TrackerEndcapP_Inner_ID"
id="TrackerEndcapP_0_ID"
name="TrackerEndcapP_Inner"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits"
......@@ -241,7 +245,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
......@@ -260,7 +264,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector>
<detector
id="TrackerEndcapN_Inner_ID"
id="TrackerEndcapN_0_ID"
name="TrackerEndcapN_Inner"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits"
......@@ -282,7 +286,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
......@@ -306,7 +310,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
-----------------------------------
</comment>
<detector
id="TrackerBarrel_Outer_ID"
id="TrackerBarrel_1_ID"
name="TrackerBarrel_Outer"
type="athena_TrackerBarrel"
readout="TrackerBarrelHits"
......@@ -370,7 +374,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector>
<detector
id="TrackerEndcapP_Outer_ID"
id="TrackerEndcapP_1_ID"
name="TrackerEndcapP_Outer"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits"
......@@ -382,7 +386,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
thickness="TrackerSupportCarbon_thickness" length="TrackerEndcapOuterShell_length" zstart="TrackerEndcapOuterShell_zmin" />
<support vis="TrackerSupportVis" material="Aluminum" name="sup_cylinder_service"
rmin="TrackerEndcapOuterShell_rmin+1.0*mm+TrackerSupportCarbon_thickness"
thickness="8.0*mm" length="TrackerEndcapOuterShell_length" zstart="TrackerEndcapOuterShell_zmin" />
thickness="2.0*mm" length="TrackerEndcapOuterShell_length" zstart="TrackerEndcapOuterShell_zmin" />
<support material="CarbonFiber" name="sup_cone" vis="TrackerSupportVis">
<shape type="Cone"
......@@ -399,19 +403,19 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
<module name="Module2" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
<module name="Module3" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
......@@ -454,7 +458,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector>
<detector
id="TrackerEndcapN_Outer_ID"
id="TrackerEndcapN_1_ID"
name="TrackerEndcapN_Outer"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits"
......@@ -466,7 +470,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
thickness="TrackerSupportCarbon_thickness" length="TrackerEndcapOuterShell_length" zstart="TrackerEndcapOuterShell_zmin" />
<support vis="TrackerSupportVis" material="Aluminum" name="sup_cylinder_service"
rmin="TrackerEndcapOuterShell_rmin+1.0*mm+TrackerSupportCarbon_thickness"
thickness="8.0*mm" length="TrackerEndcapOuterShell_length" zstart="TrackerEndcapOuterShell_zmin" />
thickness="2.0*mm" length="TrackerEndcapOuterShell_length" zstart="TrackerEndcapOuterShell_zmin" />
<comment>the cone can not be reflected. need to flip z explicitly</comment>
<support material="CarbonFiber" name="sup_cone" vis="TrackerSupportVis">
<shape type="Cone"
......@@ -485,19 +489,19 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
<module name="Module2" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
<module name="Module3" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
<module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module>
......
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<comment>
Master tracker parameters
Central Tracking region consists of:
|----------------------------------------------------------------------------|
| | OuterBarrel | |
| |--------------------------------------------------------| |
| | | MedialBarrel | | |
| | |------------------------------------| | |
| | | | InnerBarrel | | | |
| | | |----------------| | | |
| Outer | Medial | Inner | Vertex Tracker | Inner | Medial | Outer |
| EndcapN | EndcapN | EndcapN | Vertex Tracker | EndcapP | EndcapP | EndcapP |
|----------------------------------------------------------------------------|
^ ^
CentralTrackingRegionN_zmax CentralTrackingRegionP_zmax
</comment>
<define>
<comment> Inner tracker setup </comment>
<constant name="InnerTrackerBarrel_rmin" value="13.38*cm"/>
<constant name="InnerTrackerBarrel_offset" value="4.62*cm"/>
<constant name="InnerTrackerBarrel_count" value="2"/>
<constant name="InnerTrackerBarrelMod_width" value="4.*cm"/>
<constant name="InnerTrackerBarrelCone_zmin" value="16.8*cm"/>
<constant name="InnerTrackerBarrelCone_zmax" value="24.54*cm"/>
<constant name="InnerTrackerEndcap_zmin" value="25*cm"/>
<constant name="InnerTrackerEndcap_rmin" value="Beampipe_rmax + 50*um"/>
<constant name="InnerTrackerEndcap_offset" value="24*cm"/>
<constant name="InnerTrackerEndcap_count" value="2"/>
<comment> Medial tracker setup </comment>
<constant name="MedialTrackerBarrel_rmin" value="47.72*cm"/>
<constant name="MedialTrackerBarrel_offset" value="1.85*cm"/>
<constant name="MedialTrackerBarrel_count" value="2"/>
<constant name="MedialTrackerEndcap_zmin" value="73*cm"/>
<constant name="MedialTrackerEndcap_offset" value="0*cm"/>
<constant name="MedialTrackerEndcap_count" value="1"/>
<constant name="MedialTrackerEndcapP_rmin" value="Beampipe_rmax + 3*mm"/>
<constant name="MedialTrackerEndcapN_rmin" value="InnerTrackerEndcap_rmin"/>
<comment> Outer tracker setup </comment>
<constant name="OuterTrackerBarrel_rmin" value="75.61*cm"/>
<constant name="OuterTrackerBarrel_offset" value="1.85*cm"/>
<constant name="OuterTrackerBarrel_count" value="2"/>
<constant name="OuterTrackerEndcapP_zmin" value="103.67*cm"/>
<constant name="OuterTrackerEndcapP_offset" value="30.66*cm"/>
<constant name="OuterTrackerEndcapP_count" value="3"/>
<constant name="OuterTrackerEndcapN_zmin" value="109*cm"/>
<constant name="OuterTrackerEndcapN_offset" value="36.00*cm"/>
<constant name="OuterTrackerEndcapN_count" value="2"/>
<comment> Gem disk setup.
Note: some GEM disk z-positions are moved slightly (below in the parametrization)
to avoid vertical overlaps with the silicon disks (which is not allowed by ACTS).
@FIXME
</comment>
<constant name="GEMEndcapPDisk1_zmin" value="103*cm"/>
<constant name="GEMEndcapPDisk2_zmin" value="164.5"/>
<constant name="GEMEndcapPDisk3_zmin" value="ForwardTrackingRegion_zmin + 2*cm"/>
<constant name="GEMEndcapP_count" value="3"/>
<constant name="GEMEndcapN_zmin" value="103*cm"/>
<constant name="GEMEndcapN_offset" value="41.5*cm"/>
<constant name="GEMEndcapN_count" value="2"/>
<comment> Silicon tracker parameters </comment>
<constant name="SiTrackerBarrelSpaceFrameCF_thickness" value="0.12*mm"/>
<constant name="SiTrackerBarrelSpaceFrame_height" value="1.0*cm"/>
<constant name="SiTrackerEndcapAl_thickness" value="0.15*mm"/>
<constant name="SiTrackerEndcapCF_thickness" value="0.12*mm"/>
<constant name="SiTrackerEndcapMod_count" value="36"/>
<constant name="SiTrackerEndcapMod_dz" value="0" />
<constant name="SiTrackerEndcapMod_overlap" value="0"/>
<constant name="SiTrackerSensor_thickness" value="40*um"/>
<constant name="SiTrackerCyl_rmin" value="43.23" />
<constant name="SiTrackerServiceConeAl_thickness" value="2.5*mm" />
<constant name="SiTrackerServiceCylAl_thickness" value="2.5*mm" />
<constant name="SiTrackerSupportConeCF_thickness" value="2*mm" />
<constant name="SiTrackerSupportCylCF_thickness" value="2*mm" />
<comment> MMGAS tracker parameters </comment>
<constant name="MMKaptonOverlay_thickness" value="50*um"/>
<constant name="MMCuGround_thickness" value="1.58*um"/>
<constant name="MMPCB_thickness" value="100*um"/>
<constant name="MMCuStrip_thickness" value="12*um"/>
<constant name="MMKaptonStrip_thickness" value="75*um"/>
<constant name="MMResistiveStrip_thickness" value="128*um"/>
<constant name="MMGas_thickness" value="20*um"/>
<constant name="MMMesh_thickness" value="18*um"/>
<constant name="MMGasGap_thickness" value="3000*um"/>
<constant name="MMDriftCuElectrode_thickness" value="5*um"/>
<constant name="MMDriftKapton_thickness" value="250*um"/>
<constant name="MMDriftCuGround_thickness" value="0.41*um"/>
<comment> GEM tracker parameters </comment>
<constant name="GEMEndcapMod_count" value="12"/>
<constant name="GEMFrame_thickness" value="13.0*mm"/>
<constant name="GEMFrameBotEdge_width" value="10.0*mm"/>
<constant name="GEMFrameTopEdge_width" value="50.0*mm"/>
<constant name="GEMFrameSideEdge_width" value="10.0*mm"/>
<constant name="GEMSpoke_thickness" value="1.0*mm"/>
<constant name="GEMSpoke_width" value="GEMFrameSideEdge_width"/>
<comment> Account for the fact that GEMs have holes, so they are not solid volumes </comment>
<constant name="GEMAreaFactor" value="0.80" />
<comment> GEM layers </comment>
<constant name="GEMMylar_thickness" value="25.0*um"/>
<constant name="GEMGas_thickness" value="2.0*mm"/>
<constant name="GEMDriftRegion_thickness" value="3.0*mm"/>
<constant name="GEMKapton_thickness" value="50*um"/>
<constant name="GEMCuFoil_thickness" value="10*um"/>
<constant name="GEMCuElectrode_thickness" value="5.0*um"/>
</define>
<documentation>
## Inner silicon tracker barrel
### Silicon Tracker
#### Some references:
- With some added info on ITS3 chip from https://indico.bnl.gov/event/10677/contributions/45591/attachments/33204/53254/20210318-IR2%40EIC-SVT.pdf
To be used as standin until we get more detailed specs from the working group on the tracker.
- https://wiki.bnl.gov/athena/index.php/Tracking
#### ITS3 sensors
ITS3 sensor thickness:
- 40um, pixel size: 10um (segmentation)
- total X0 0.55% per barrel layer:
- 0.35 mm aluminum ~ 0.4% X0.
- 2 x carbonfiber (RL ~ 28) 0.12 mm (!!! material scan shows ~0.17mm, need to check later) to match Si (RL~9) of 0.04mm ~ 0.04%
total X0 0.24% per disk layer (4 sectors per disk):
- 0.15 mm aluminum ~ 0.16% X0.
- 1 x carbonfiber (RL ~ 28) 0.12 mm to match Si (RL~9) of 0.04mm ~ 0.04%
</documentation>
<define>
<constant name="InnerTrackerBarrelMod1_rmin" value="InnerTrackerBarrel_rmin" />
<constant name="InnerTrackerBarrelMod2_rmin" value="InnerTrackerBarrelMod1_rmin + 1 * InnerTrackerBarrel_offset" />
<constant name="InnerTrackerBarrelCone_length" value="InnerTrackerBarrelCone_zmax - InnerTrackerBarrelCone_zmin" />
<constant name="InnerTrackerBarrelCone_z" value="(InnerTrackerBarrelCone_zmax + InnerTrackerBarrelCone_zmin)/2" />
<constant name="InnerTrackerBarrelCone_thickness" value="SiTrackerSupportConeCF_thickness + SiTrackerServiceConeAl_thickness" />
<comment> Shorten Module (with non-zero thickness!) to avoid overlaps with support cone</comment>
<constant name="InnerTrackerBarrelMod1_length" value="2 * InnerTrackerBarrelMod1_rmin / CentralTrackingBarrel_tan - 0.5*cm - 2. * InnerTrackerBarrelCone_thickness" />
<constant name="InnerTrackerBarrelMod2_length" value="2 * InnerTrackerBarrelMod2_rmin / CentralTrackingBarrel_tan - 0.5*cm - 2. * InnerTrackerBarrelCone_thickness" />
<constant name="InnerTrackerBarrelServiceCone_rmin1" value="InnerTrackerBarrelCone_zmin * CentralTrackingBarrel_tan" />
<constant name="InnerTrackerBarrelServiceCone_rmax1" value="InnerTrackerBarrelServiceCone_rmin1 + SiTrackerServiceConeAl_thickness" />
<constant name="InnerTrackerBarrelServiceCone_rmin2" value="InnerTrackerBarrelCone_zmax * CentralTrackingBarrel_tan" />
<constant name="InnerTrackerBarrelServiceCone_rmax2" value="InnerTrackerBarrelServiceCone_rmin2 + SiTrackerServiceConeAl_thickness" />
<constant name="InnerTrackerBarrelSupportCone_rmin1" value="InnerTrackerBarrelServiceCone_rmax1" />
<constant name="InnerTrackerBarrelSupportCone_rmax1" value="InnerTrackerBarrelSupportCone_rmin1 + SiTrackerSupportConeCF_thickness" />
<constant name="InnerTrackerBarrelSupportCone_rmin2" value="InnerTrackerBarrelServiceCone_rmax2" />
<constant name="InnerTrackerBarrelSupportCone_rmax2" value="InnerTrackerBarrelSupportCone_rmin2 + SiTrackerSupportConeCF_thickness" />
<constant name="InnerTrackerBarrelLayer1_length" value="InnerTrackerBarrelMod1_length + 1*um" />
<constant name="InnerTrackerBarrelLayer2_length" value="InnerTrackerBarrelMod2_length + 1*um" />
<constant name="InnerTrackerBarrelLayer_thickness" value="1.1*cm" />
<comment> Place asymmetrically in the layer (module sits near the bottom). </comment>
<constant name="InnerTrackerBarrelLayer1_rmin" value="InnerTrackerBarrelMod1_rmin - InnerTrackerBarrelLayer_thickness / 25" />
<constant name="InnerTrackerBarrelLayer2_rmin" value="InnerTrackerBarrelMod2_rmin - InnerTrackerBarrelLayer_thickness / 25" />
<constant name="InnerTrackerBarrelLayer1_rmax" value="InnerTrackerBarrelLayer1_rmin + InnerTrackerBarrelLayer_thickness" />
<constant name="InnerTrackerBarrelLayer2_rmax" value="InnerTrackerBarrelLayer2_rmin + InnerTrackerBarrelLayer_thickness" />
<constant name="InnerTrackerBarrelEnvelope_length" value="2 * InnerTrackerBarrelCone_zmax" />
<constant name="InnerTrackerBarrelEnvelope_rmin" value="VertexTrackingRegion_rmax" />
<constant name="InnerTrackerBarrelEnvelope_rmax" value="InnerTrackerBarrelLayer2_rmax" />
<comment> Barrel staves, nmodules = np.pi/np.arcsin(frame_width*np.cos(tilt_angle)/2.0/R) </comment>
<comment> (rounded up by 2 to avoid holes)</comment>
<constant name="InnerTrackerBarrelModTilt_angle" value="3.0*degree"/>
<constant name="InnerTrackerBarrelMod1_count" value="floor(180.*degree/asin(InnerTrackerBarrelMod_width*cos(InnerTrackerBarrelModTilt_angle)/2/InnerTrackerBarrelMod1_rmin))+2"/>
<constant name="InnerTrackerBarrelMod2_count" value="floor(180.*degree/asin(InnerTrackerBarrelMod_width*cos(InnerTrackerBarrelModTilt_angle)/2/InnerTrackerBarrelMod2_rmin))+2"/>
</define>
<detectors>
<detector
id="TrackerBarrel_0_ID"
name="InnerTrackerBarrel"
type="athena_TrackerBarrel"
readout="TrackerBarrelHits"
insideTrackingVolume="true">
<dimensions
rmin="InnerTrackerBarrelEnvelope_rmin"
rmax="InnerTrackerBarrelEnvelope_rmax"
length="InnerTrackerBarrelEnvelope_length"/>
<support material="Aluminum" name="serv_cone_pos" vis="TrackerServiceVis">
<shape type="Cone"
rmin1="InnerTrackerBarrelServiceCone_rmin1"
rmax1="InnerTrackerBarrelServiceCone_rmax1"
rmin2="InnerTrackerBarrelServiceCone_rmin2"
rmax2="InnerTrackerBarrelServiceCone_rmax2"
z="InnerTrackerBarrelCone_length/2"/>
<position x="0*cm" y="0*cm" z="InnerTrackerBarrelCone_z" />
</support>
<support material="CarbonFiber" name="sup_cone_pos" vis="TrackerSupportVis">
<shape type="Cone"
rmin1="InnerTrackerBarrelSupportCone_rmin1"
rmax1="InnerTrackerBarrelSupportCone_rmax1"
rmin2="InnerTrackerBarrelSupportCone_rmin2"
rmax2="InnerTrackerBarrelSupportCone_rmax2"
z="InnerTrackerBarrelCone_length/2"/>
<position x="0*cm" y="0*cm" z="InnerTrackerBarrelCone_z" />
</support>
<support material="Aluminum" name="serv_cone_neg" vis="TrackerServiceVis">
<shape type="Cone"
rmin1="InnerTrackerBarrelServiceCone_rmin2"
rmax1="InnerTrackerBarrelServiceCone_rmax2"
rmin2="InnerTrackerBarrelServiceCone_rmin1"
rmax2="InnerTrackerBarrelServiceCone_rmax1"
z="InnerTrackerBarrelCone_length/2"/>
<position x="0*cm" y="0*cm" z="-InnerTrackerBarrelCone_z" />
</support>
<support material="CarbonFiber" name="sup_cone_neg" vis="TrackerSupportVis">
<shape type="Cone"
rmin1="InnerTrackerBarrelSupportCone_rmin2"
rmax1="InnerTrackerBarrelSupportCone_rmax2"
rmin2="InnerTrackerBarrelSupportCone_rmin1"
rmax2="InnerTrackerBarrelSupportCone_rmax1"
z="InnerTrackerBarrelCone_length/2"/>
<position x="0*cm" y="0*cm" z="-InnerTrackerBarrelCone_z" />
</support>
<comment>
Tracker Barrel Modules
</comment>
<module name="InnerTrackerBarrel_Mod1" vis="TrackerModuleVis">
<frame material="CarbonFiber" vis="TrackerSupportVis"
width="InnerTrackerBarrelMod_width"
height="SiTrackerBarrelSpaceFrame_height"
length="InnerTrackerBarrelMod1_length"
thickness="SiTrackerBarrelSpaceFrameCF_thickness" />
<module_component name="silicon"
width="InnerTrackerBarrelMod_width"
length="InnerTrackerBarrelMod1_length" thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
<module_component name="aluminum1" material="Aluminum" sensitive="false"
width="InnerTrackerBarrelMod_width" length="InnerTrackerBarrelMod1_length" thickness="0.4*mm" vis="TrackerServiceVis"/>
</module>
<module name="InnerTrackerBarrel_Mod2" vis="TrackerModuleVis">
<frame material="CarbonFiber" vis="TrackerSupportVis"
width="InnerTrackerBarrelMod_width"
height="SiTrackerBarrelSpaceFrame_height"
length="InnerTrackerBarrelMod2_length"
thickness="SiTrackerBarrelSpaceFrameCF_thickness" />
<module_component name="silicon"
width="InnerTrackerBarrelMod_width"
length="InnerTrackerBarrelMod2_length" thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
<module_component name="aluminum1" material="Aluminum" sensitive="false"
width="InnerTrackerBarrelMod_width" length="InnerTrackerBarrelMod2_length" thickness="0.4*mm" vis="TrackerServiceVis" />
</module>
<layer module="InnerTrackerBarrel_Mod1" id="1" vis="TrackerLayerVis">
<barrel_envelope
inner_r="InnerTrackerBarrelLayer1_rmin"
outer_r="InnerTrackerBarrelLayer1_rmax"
z_length="InnerTrackerBarrelLayer1_length"/>
<layer_material surface="outer" binning="binPhi,binZ" bins0="100*InnerTrackerBarrelMod1_count" bins1="100" />
<rphi_layout phi_tilt="InnerTrackerBarrelModTilt_angle" nphi="InnerTrackerBarrelMod1_count" phi0="0.0" rc="InnerTrackerBarrelMod1_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="InnerTrackerBarrel_Mod2" id="2" vis="TrackerLayerVis">
<barrel_envelope
inner_r="InnerTrackerBarrelLayer2_rmin"
outer_r="InnerTrackerBarrelLayer2_rmax"
z_length="InnerTrackerBarrelLayer2_length"/>
<layer_material surface="outer" binning="binPhi,binZ" bins0="100*InnerTrackerBarrelMod2_count" bins1="100" />
<rphi_layout phi_tilt="InnerTrackerBarrelModTilt_angle" nphi="InnerTrackerBarrelMod2_count" phi0="0.0" rc="InnerTrackerBarrelMod2_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
</detector>
</detectors>
<documentation>
## Inner silicon tracker disks, symmetric between N and P
</documentation>
<define>
<comment> Global Si endcap variables </comment>
<constant name="SiTrackerEndcapMod_thickness" value="SiTrackerEndcapCF_thickness + SiTrackerEndcapAl_thickness + SiTrackerSensor_thickness" />
<constant name="SiTrackerEndcapMod_angle" value="360.0*degree / SiTrackerEndcapMod_count * (1 + SiTrackerEndcapMod_overlap)" />
<constant name="SiTrackerEndcapLayer_thickness" value="SiTrackerEndcapMod_thickness + 2 * SiTrackerEndcapMod_dz + 1*um" />
<constant name="SiTrackerServiceCyl_rmin" value="SiTrackerCyl_rmin"/>
<constant name="SiTrackerServiceCyl_rmax" value="SiTrackerServiceCyl_rmin + SiTrackerServiceCylAl_thickness"/>
<constant name="SiTrackerSupportCyl_rmin" value="SiTrackerServiceCyl_rmax"/>
<constant name="SiTrackerSupportCyl_rmax" value="SiTrackerSupportCyl_rmin + SiTrackerSupportCylCF_thickness"/>
<comment> Inner Si endcap setup </comment>
<constant name="InnerTrackerEndcapMod1_zmin" value="InnerTrackerEndcap_zmin" />
<constant name="InnerTrackerEndcapMod1_rmin" value="InnerTrackerEndcap_rmin" />
<constant name="InnerTrackerEndcapMod1_rmax" value="min(InnerTrackerEndcapMod1_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
<constant name="InnerTrackerEndcapMod1_x1" value="2 * InnerTrackerEndcapMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="InnerTrackerEndcapMod1_x2" value="2 * InnerTrackerEndcapMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="InnerTrackerEndcapMod1_y" value="InnerTrackerEndcapMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - InnerTrackerEndcapMod1_rmin" />
<constant name="InnerTrackerEndcapMod2_zmin" value="InnerTrackerEndcapMod1_zmin + 1 * InnerTrackerEndcap_offset" />
<constant name="InnerTrackerEndcapMod2_rmin" value="InnerTrackerEndcap_rmin" />
<constant name="InnerTrackerEndcapMod2_rmax" value="min(InnerTrackerEndcapMod2_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
<constant name="InnerTrackerEndcapMod2_x1" value="2 * InnerTrackerEndcapMod2_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="InnerTrackerEndcapMod2_x2" value="2 * InnerTrackerEndcapMod2_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="InnerTrackerEndcapMod2_y" value="InnerTrackerEndcapMod2_rmax * cos(SiTrackerEndcapMod_angle/2) - InnerTrackerEndcapMod2_rmin" />
<constant name="InnerTrackerEndcapLayer1_rmin" value="InnerTrackerEndcapMod1_rmin - 1*um" />
<constant name="InnerTrackerEndcapLayer1_rmax" value="InnerTrackerEndcapMod1_rmax + 1*um" />
<constant name="InnerTrackerEndcapLayer1_zmin" value="InnerTrackerEndcapMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
<constant name="InnerTrackerEndcapLayer2_rmin" value="InnerTrackerEndcapMod2_rmin - 1*um" />
<constant name="InnerTrackerEndcapLayer2_rmax" value="InnerTrackerEndcapMod2_rmax + 1*um" />
<constant name="InnerTrackerEndcapLayer2_zmin" value="InnerTrackerEndcapMod2_zmin - SiTrackerEndcapLayer_thickness/2" />
<constant name="InnerTrackerEndcapCone_zmin" value="InnerTrackerBarrelCone_zmax" />
<constant name="InnerTrackerEndcapServiceCone_rmin1" value="InnerTrackerEndcapCone_zmin * CentralTrackingBarrel_tan" />
<constant name="InnerTrackerEndcapServiceCone_rmax1" value="InnerTrackerEndcapServiceCone_rmin1 + SiTrackerServiceConeAl_thickness" />
<constant name="InnerTrackerEndcapServiceCone_rmin2" value="SiTrackerServiceCyl_rmin" />
<constant name="InnerTrackerEndcapServiceCone_rmax2" value="SiTrackerServiceCyl_rmax" />
<constant name="InnerTrackerEndcapCone_zmax" value="InnerTrackerEndcapServiceCone_rmin2 / CentralTrackingBarrel_tan" />
<constant name="InnerTrackerEndcapCone_z" value="(InnerTrackerEndcapCone_zmax + InnerTrackerEndcapCone_zmin)/2" />
<constant name="InnerTrackerEndcapCone_length" value="InnerTrackerEndcapCone_zmax - InnerTrackerEndcapCone_zmin" />
<constant name="InnerTrackerEndcapSupportCone_rmin1" value="InnerTrackerEndcapServiceCone_rmax1" />
<constant name="InnerTrackerEndcapSupportCone_rmax1" value="InnerTrackerEndcapSupportCone_rmin1 + SiTrackerSupportConeCF_thickness" />
<constant name="InnerTrackerEndcapSupportCone_rmin2" value="SiTrackerSupportCyl_rmin" />
<constant name="InnerTrackerEndcapSupportCone_rmax2" value="SiTrackerSupportCyl_rmax" />
<comment> The tracker endcap ends at the same place as the medial tracker barrel that sits around it </comment>
<constant name="InnerTrackerEndcap_zmax" value="MedialTrackerBarrel_rmin / CentralTrackingBarrel_tan" />
<constant name="InnerTrackerEndcapCyl_zmin" value="InnerTrackerEndcapCone_zmax" />
<constant name="InnerTrackerEndcapCyl_zmax" value="InnerTrackerEndcap_zmax" />
<constant name="InnerTrackerEndcapCyl_z" value="(InnerTrackerEndcapCyl_zmin + InnerTrackerEndcapCyl_zmax)/2" />
<constant name="InnerTrackerEndcapCyl_length" value="InnerTrackerEndcapCyl_zmax - InnerTrackerEndcapCyl_zmin" />
</define>
<detectors>
<detector
id="TrackerEndcapP_0_ID"
name="InnerTrackerEndcapP"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits1"
vis="TrackerVis"
reflect="false">
<support material="Aluminum" name="serv_cone_pos" vis="TrackerServiceVis">
<shape type="Cone"
rmin1="InnerTrackerEndcapServiceCone_rmin1"
rmax1="InnerTrackerEndcapServiceCone_rmax1"
rmin2="InnerTrackerEndcapServiceCone_rmin2"
rmax2="InnerTrackerEndcapServiceCone_rmax2"
z="InnerTrackerEndcapCone_length/2"/>
<position x="0*cm" y="0*cm" z="InnerTrackerEndcapCone_z" />
</support>
<support material="CarbonFiber" name="sup_cone_pos" vis="TrackerSupportVis">
<shape type="Cone"
rmin1="InnerTrackerEndcapSupportCone_rmin1"
rmax1="InnerTrackerEndcapSupportCone_rmax1"
rmin2="InnerTrackerEndcapSupportCone_rmin2"
rmax2="InnerTrackerEndcapSupportCone_rmax2"
z="InnerTrackerEndcapCone_length/2"/>
<position x="0*cm" y="0*cm" z="InnerTrackerEndcapCone_z" />
</support>
<support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
rmin="SiTrackerServiceCyl_rmin"
thickness="SiTrackerServiceCylAl_thickness"
length="InnerTrackerEndcapCyl_length"
zstart="InnerTrackerEndcapCyl_zmin" />
<support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
rmin="SiTrackerSupportCyl_rmin"
thickness="SiTrackerSupportCylCF_thickness"
length="InnerTrackerEndcapCyl_length"
zstart="InnerTrackerEndcapCyl_zmin" />
<module name="Module1" vis="TrackerModuleVis">
<trd x1="InnerTrackerEndcapMod1_x1/2" x2="InnerTrackerEndcapMod1_x2/2" z="InnerTrackerEndcapMod1_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<module name="Module2" vis="TrackerModuleVis">
<trd x1="InnerTrackerEndcapMod2_x1/2" x2="InnerTrackerEndcapMod2_x2/2" z="InnerTrackerEndcapMod2_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="InnerTrackerEndcapLayer1_rmin"
rmax="InnerTrackerEndcapLayer1_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="InnerTrackerEndcapLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="InnerTrackerEndcapMod1_rmin + InnerTrackerEndcapMod1_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module1" />
</layer>
<layer id="2">
<envelope vis="TrackerLayerVis"
rmin="InnerTrackerEndcapLayer2_rmin"
rmax="InnerTrackerEndcapLayer2_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="InnerTrackerEndcapLayer2_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="InnerTrackerEndcapMod2_rmin + InnerTrackerEndcapMod2_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module2" />
</layer>
</detector>
<detector
id="TrackerEndcapN_0_ID"
name="InnerTrackerEndcapN"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits2"
vis="TrackerVis"
reflect="true">
<support material="Aluminum" name="serv_cone_neg" vis="TrackerServiceVis">
<shape type="Cone"
rmin1="InnerTrackerEndcapServiceCone_rmin2"
rmax1="InnerTrackerEndcapServiceCone_rmax2"
rmin2="InnerTrackerEndcapServiceCone_rmin1"
rmax2="InnerTrackerEndcapServiceCone_rmax1"
z="InnerTrackerEndcapCone_length/2"/>
<position x="0*cm" y="0*cm" z="-1*InnerTrackerEndcapCone_z" />
</support>
<support material="CarbonFiber" name="sup_cone_neg" vis="TrackerSupportVis">
<shape type="Cone"
rmin1="InnerTrackerEndcapSupportCone_rmin2"
rmax1="InnerTrackerEndcapSupportCone_rmax2"
rmin2="InnerTrackerEndcapSupportCone_rmin1"
rmax2="InnerTrackerEndcapSupportCone_rmax1"
z="InnerTrackerEndcapCone_length/2"/>
<position x="0*cm" y="0*cm" z="-1*InnerTrackerEndcapCone_z" />
</support>
<support material="Aluminum" name="serv_cyl_neg" vis="TrackerServiceVis"
rmin="SiTrackerServiceCyl_rmin"
thickness="SiTrackerServiceCylAl_thickness"
length="InnerTrackerEndcapCyl_length"
zstart="InnerTrackerEndcapCyl_zmin" />
<support material="CarbonFiber" name="sup_cyl_neg" vis="TrackerSupportVis"
rmin="SiTrackerSupportCyl_rmin"
thickness="SiTrackerSupportCylCF_thickness"
length="InnerTrackerEndcapCyl_length"
zstart="InnerTrackerEndcapCyl_zmin" />
<module name="Module1" vis="TrackerModuleVis">
<trd x1="InnerTrackerEndcapMod1_x1/2" x2="InnerTrackerEndcapMod1_x2/2" z="InnerTrackerEndcapMod1_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<module name="Module2" vis="TrackerModuleVis">
<trd x1="InnerTrackerEndcapMod2_x1/2" x2="InnerTrackerEndcapMod2_x2/2" z="InnerTrackerEndcapMod2_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="InnerTrackerEndcapLayer1_rmin"
rmax="InnerTrackerEndcapLayer1_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="InnerTrackerEndcapLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="InnerTrackerEndcapMod1_rmin + InnerTrackerEndcapMod1_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module1" />
</layer>
<layer id="2">
<envelope vis="TrackerLayerVis"
rmin="InnerTrackerEndcapLayer2_rmin"
rmax="InnerTrackerEndcapLayer2_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="InnerTrackerEndcapLayer2_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="InnerTrackerEndcapMod2_rmin + InnerTrackerEndcapMod2_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module2" />
</layer>
</detector>
</detectors>
<documentation>
## Medial barrel tracker (MMGAS)
</documentation>
<define>
<comment> Global MMGAS variables </comment>
<constant
name="MMTrackerBarrelMod_thickness"
value="MMKaptonOverlay_thickness + MMCuGround_thickness + MMPCB_thickness
+ MMCuStrip_thickness + MMKaptonStrip_thickness + MMResistiveStrip_thickness
+ MMGas_thickness + MMMesh_thickness + MMGasGap_thickness
+ MMDriftCuElectrode_thickness + MMDriftKapton_thickness
+ MMDriftCuGround_thickness" />
<comment> Medial barrel implementation </comment>
<comment> The value of InnerTrackerEndcap_zmax is calculated above based on the rmin of the MedialTrackerBarrel </comment>
<constant name="MedialTrackerBarrel_length" value="2 * InnerTrackerEndcap_zmax"/>
<constant name="MedialTrackerBarrelMod1_rmin" value="MedialTrackerBarrel_rmin"/>
<constant name="MedialTrackerBarrelMod_length" value="MedialTrackerBarrel_length - 2*um" />
<constant name="MedialTrackerBarrelMod2_rmin" value="MedialTrackerBarrel_rmin + 1 * MedialTrackerBarrel_offset"/>
<constant name="MedialTrackerBarrelMod_count" value="128" />
<constant name="MedialTrackerBarrelMod1_width" value="2*MedialTrackerBarrelMod1_rmin * tan(180*degree/MedialTrackerBarrelMod_count)" />
<constant name="MedialTrackerBarrelMod2_width" value="2*MedialTrackerBarrelMod2_rmin * tan(180*degree/MedialTrackerBarrelMod_count)" />
<constant name="MedialTrackerBarrelLayer_length" value="MedialTrackerBarrel_length"/>
<constant name="MedialTrackerBarrelLayer_thickness" value="MMTrackerBarrelMod_thickness + 1.0*cm"/>
<constant name="MedialTrackerBarrelLayer1_rmin" value="MedialTrackerBarrelMod1_rmin - MedialTrackerBarrelLayer_thickness / 5" />
<constant name="MedialTrackerBarrelLayer1_rmax" value="MedialTrackerBarrelLayer1_rmin + MedialTrackerBarrelLayer_thickness" />
<constant name="MedialTrackerBarrelLayer2_rmin" value="MedialTrackerBarrelMod2_rmin - MedialTrackerBarrelLayer_thickness / 5" />
<constant name="MedialTrackerBarrelLayer2_rmax" value="MedialTrackerBarrelLayer2_rmin + MedialTrackerBarrelLayer_thickness" />
<constant name="MedialTrackerBarrelEnvelope_rmin" value="MedialTrackerBarrelLayer1_rmin" />
<constant name="MedialTrackerBarrelEnvelope_rmax" value="MedialTrackerBarrelLayer2_rmax" />
<constant name="MedialTrackerBarrelEnvelope_length" value="MedialTrackerBarrelLayer_length" />
</define>
<detectors>
<detector
id="TrackerBarrel_1_ID"
name="MedialTrackerBarrel"
type="athena_TrackerBarrel"
readout="MPGDTrackerBarrelHits1"
insideTrackingVolume="true">
<dimensions
rmin="MedialTrackerBarrelEnvelope_rmin"
rmax="MedialTrackerBarrelEnvelope_rmax"
length="MedialTrackerBarrelEnvelope_length"/>
<module name="MedialTrackerBarrel_Mod1" vis="TrackerMPGDVis">
<comment> Going from the inside (sensitive) side to the readout side </comment>
<module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
</module>
<module name="MedialTrackerBarrel_Mod2" vis="TrackerMPGDVis">
<comment> Going from the inside (sensitive) side to the readout side </comment>
<module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
<module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
</module>
<layer module="MedialTrackerBarrel_Mod1" id="1" vis="TrackerMMGASLayerVis">
<barrel_envelope
inner_r="MedialTrackerBarrelLayer1_rmin"
outer_r="MedialTrackerBarrelLayer1_rmax"
z_length="MedialTrackerBarrelLayer_length"/>
<layer_material surface="outer" binning="binPhi,binZ" bins0="10*MedialTrackerBarrelMod_count" bins1="100" />
<rphi_layout phi_tilt="0" nphi="MedialTrackerBarrelMod_count" phi0="0.0" rc="MedialTrackerBarrelMod1_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="MedialTrackerBarrel_Mod2" id="2" vis="TrackerMMGASLayerVis">
<barrel_envelope
inner_r="MedialTrackerBarrelLayer2_rmin"
outer_r="MedialTrackerBarrelLayer2_rmax"
z_length="MedialTrackerBarrelLayer_length"/>
<layer_material surface="outer" binning="binPhi,binZ" bins0="10*MedialTrackerBarrelMod_count" bins1="100" />
<rphi_layout phi_tilt="0" nphi="MedialTrackerBarrelMod_count" phi0="0.0" rc="MedialTrackerBarrelMod2_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
</detector>
</detectors>
<documentation>
## Medial silicon tracker disks (1 each), symmetric between N and P except for disk rmin
</documentation>
<define>
<comment> Medial Si endcap setup </comment>
<constant name="MedialTrackerEndcapPMod1_zmin" value="MedialTrackerEndcap_zmin" />
<constant name="MedialTrackerEndcapPMod1_rmin" value="MedialTrackerEndcapP_rmin" />
<constant name="MedialTrackerEndcapPMod1_rmax" value="min(MedialTrackerEndcapPMod1_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
<constant name="MedialTrackerEndcapPMod1_x1" value="2 * MedialTrackerEndcapPMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="MedialTrackerEndcapPMod1_x2" value="2 * MedialTrackerEndcapPMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="MedialTrackerEndcapPMod1_y" value="MedialTrackerEndcapPMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - MedialTrackerEndcapPMod1_rmin" />
<constant name="MedialTrackerEndcapPLayer1_rmin" value="MedialTrackerEndcapPMod1_rmin - 1*um" />
<constant name="MedialTrackerEndcapPLayer1_rmax" value="MedialTrackerEndcapPMod1_rmax + 1*um" />
<constant name="MedialTrackerEndcapPLayer1_zmin" value="MedialTrackerEndcapPMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
<constant name="MedialTrackerEndcapNMod1_zmin" value="MedialTrackerEndcap_zmin" />
<constant name="MedialTrackerEndcapNMod1_rmin" value="MedialTrackerEndcapN_rmin" />
<constant name="MedialTrackerEndcapNMod1_rmax" value="min(MedialTrackerEndcapNMod1_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
<constant name="MedialTrackerEndcapNMod1_x1" value="2 * MedialTrackerEndcapNMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="MedialTrackerEndcapNMod1_x2" value="2 * MedialTrackerEndcapNMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="MedialTrackerEndcapNMod1_y" value="MedialTrackerEndcapNMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - MedialTrackerEndcapNMod1_rmin" />
<constant name="MedialTrackerEndcapNLayer1_rmin" value="MedialTrackerEndcapNMod1_rmin - 1*um" />
<constant name="MedialTrackerEndcapNLayer1_rmax" value="MedialTrackerEndcapNMod1_rmax + 1*um" />
<constant name="MedialTrackerEndcapNLayer1_zmin" value="MedialTrackerEndcapNMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
<comment> The tracker endcap ends at the same place as the outer tracker barrel that sits around it </comment>
<constant name="MedialTrackerEndcap_zmax" value="OuterTrackerBarrel_rmin / CentralTrackingBarrel_tan" />
<constant name="MedialTrackerEndcapCyl_zmin" value="InnerTrackerEndcap_zmax" />
<constant name="MedialTrackerEndcapCyl_zmax" value="MedialTrackerEndcap_zmax" />
<constant name="MedialTrackerEndcapCyl_z" value="(MedialTrackerEndcapCyl_zmin + MedialTrackerEndcapCyl_zmax)/2" />
<constant name="MedialTrackerEndcapCyl_length" value="MedialTrackerEndcapCyl_zmax - MedialTrackerEndcapCyl_zmin" />
</define>
<detectors>
<detector
id="TrackerEndcapP_1_ID"
name="MedialTrackerEndcapP"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits3"
vis="TrackerVis"
reflect="false">
<support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
rmin="SiTrackerServiceCyl_rmin"
thickness="SiTrackerServiceCylAl_thickness"
length="MedialTrackerEndcapCyl_length"
zstart="MedialTrackerEndcapCyl_zmin" />
<support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
rmin="SiTrackerSupportCyl_rmin"
thickness="SiTrackerSupportCylCF_thickness"
length="MedialTrackerEndcapCyl_length"
zstart="MedialTrackerEndcapCyl_zmin" />
<module name="Module1" vis="TrackerModuleVis">
<trd x1="MedialTrackerEndcapPMod1_x1/2" x2="MedialTrackerEndcapPMod1_x2/2" z="MedialTrackerEndcapPMod1_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="MedialTrackerEndcapPLayer1_rmin"
rmax="MedialTrackerEndcapPLayer1_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="MedialTrackerEndcapPLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="MedialTrackerEndcapPMod1_rmin + MedialTrackerEndcapPMod1_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module1" />
</layer>
</detector>
<detector
id="TrackerEndcapN_1_ID"
name="MedialTrackerEndcapN"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits4"
vis="TrackerVis"
reflect="true">
<support material="Aluminum" name="serv_cyl_neg" vis="TrackerServiceVis"
rmin="SiTrackerServiceCyl_rmin"
thickness="SiTrackerServiceCylAl_thickness"
length="MedialTrackerEndcapCyl_length"
zstart="MedialTrackerEndcapCyl_zmin" />
<support material="CarbonFiber" name="sup_cyl_neg" vis="TrackerSupportVis"
rmin="SiTrackerSupportCyl_rmin"
thickness="SiTrackerSupportCylCF_thickness"
length="MedialTrackerEndcapCyl_length"
zstart="MedialTrackerEndcapCyl_zmin" />
<module name="Module1" vis="TrackerModuleVis">
<trd x1="MedialTrackerEndcapNMod1_x1/2" x2="MedialTrackerEndcapNMod1_x2/2" z="MedialTrackerEndcapNMod1_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="MedialTrackerEndcapNLayer1_rmin"
rmax="MedialTrackerEndcapNLayer1_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="MedialTrackerEndcapNLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="MedialTrackerEndcapNMod1_rmin + MedialTrackerEndcapNMod1_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module1" />
</layer>
</detector>
</detectors>
<documentation>
## Outer barrel tracker (MMGAS)
</documentation>
<define>
<comment> The value of MedialTrackerEndcap_zmax is calculated above based on the rmin of the OuterTrackerBarrel </comment>
<constant name="OuterTrackerBarrel_length" value="2 * MedialTrackerEndcap_zmax"/>
<constant name="OuterTrackerBarrelMod1_rmin" value="OuterTrackerBarrel_rmin"/>
<constant name="OuterTrackerBarrelMod_length" value="OuterTrackerBarrel_length - 2*um" />
<constant name="OuterTrackerBarrelMod2_rmin" value="OuterTrackerBarrel_rmin + 1 * OuterTrackerBarrel_offset"/>
<constant name="OuterTrackerBarrelMod_count" value="128" />
<constant name="OuterTrackerBarrelMod1_width" value="2*OuterTrackerBarrelMod1_rmin * tan(180*degree/OuterTrackerBarrelMod_count)" />
<constant name="OuterTrackerBarrelMod2_width" value="2*OuterTrackerBarrelMod2_rmin * tan(180*degree/OuterTrackerBarrelMod_count)" />
<constant name="OuterTrackerBarrelLayer_length" value="OuterTrackerBarrel_length"/>
<constant name="OuterTrackerBarrelLayer_thickness" value="MMTrackerBarrelMod_thickness + 1.0*cm"/>
<constant name="OuterTrackerBarrelLayer1_rmin" value="OuterTrackerBarrelMod1_rmin - OuterTrackerBarrelLayer_thickness / 5" />
<constant name="OuterTrackerBarrelLayer1_rmax" value="OuterTrackerBarrelLayer1_rmin + OuterTrackerBarrelLayer_thickness" />
<constant name="OuterTrackerBarrelLayer2_rmin" value="OuterTrackerBarrelMod2_rmin - OuterTrackerBarrelLayer_thickness / 5" />
<constant name="OuterTrackerBarrelLayer2_rmax" value="OuterTrackerBarrelLayer2_rmin + OuterTrackerBarrelLayer_thickness" />
<constant name="OuterTrackerBarrelEnvelope_rmin" value="OuterTrackerBarrelLayer1_rmin" />
<constant name="OuterTrackerBarrelEnvelope_rmax" value="OuterTrackerBarrelLayer2_rmax" />
<constant name="OuterTrackerBarrelEnvelope_length" value="OuterTrackerBarrelLayer_length" />
</define>
<detectors>
<detector
id="TrackerBarrel_2_ID"
name="OuterTrackerBarrel"
type="athena_TrackerBarrel"
readout="MPGDTrackerBarrelHits2"
insideTrackingVolume="true">
<dimensions
rmin="OuterTrackerBarrelEnvelope_rmin"
rmax="OuterTrackerBarrelEnvelope_rmax"
length="OuterTrackerBarrelEnvelope_length"/>
<module name="OuterTrackerBarrel_Mod1" vis="TrackerMPGDVis">
<comment> Going from the inside (sensitive) side to the readout side </comment>
<module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
</module>
<module name="OuterTrackerBarrel_Mod2" vis="TrackerMPGDVis">
<comment> Going from the inside (sensitive) side to the readout side </comment>
<module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
<module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
</module>
<layer module="OuterTrackerBarrel_Mod1" id="1" vis="TrackerMMGASLayerVis">
<barrel_envelope
inner_r="OuterTrackerBarrelLayer1_rmin"
outer_r="OuterTrackerBarrelLayer1_rmax"
z_length="OuterTrackerBarrelLayer_length"/>
<layer_material surface="outer" binning="binPhi,binZ" bins0="10*OuterTrackerBarrelMod_count" bins1="100" />
<rphi_layout phi_tilt="0" nphi="OuterTrackerBarrelMod_count" phi0="0.0" rc="OuterTrackerBarrelMod1_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="OuterTrackerBarrel_Mod2" id="2" vis="TrackerMMGASLayerVis">
<barrel_envelope
inner_r="OuterTrackerBarrelLayer2_rmin"
outer_r="OuterTrackerBarrelLayer2_rmax"
z_length="OuterTrackerBarrelLayer_length"/>
<layer_material surface="outer" binning="binPhi,binZ" bins0="10*OuterTrackerBarrelMod_count" bins1="100" />
<rphi_layout phi_tilt="0" nphi="OuterTrackerBarrelMod_count" phi0="0.0" rc="OuterTrackerBarrelMod2_rmin" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
</detector>
</detectors>
<documentation>
## Outer silicon tracker disks (3P, 2N)
</documentation>
<define>
<comment> Positive disks </comment>
<constant name="OuterTrackerEndcapPMod1_zmin" value="OuterTrackerEndcapP_zmin" />
<constant name="OuterTrackerEndcapPMod1_rmin" value="OuterTrackerEndcapPMod1_zmin * CentralTrackingRegionP_tan * 0.99" />
<constant name="OuterTrackerEndcapPMod1_rmax" value="SiTrackerCyl_rmin" />
<constant name="OuterTrackerEndcapPMod1_x1" value="2 * OuterTrackerEndcapPMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapPMod1_x2" value="2 * OuterTrackerEndcapPMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapPMod1_y" value="OuterTrackerEndcapPMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapPMod1_rmin" />
<constant name="OuterTrackerEndcapPLayer1_rmin" value="OuterTrackerEndcapPMod1_rmin - 1*um" />
<constant name="OuterTrackerEndcapPLayer1_rmax" value="OuterTrackerEndcapPMod1_rmax + 1*um" />
<constant name="OuterTrackerEndcapPLayer1_zmin" value="OuterTrackerEndcapPMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
<constant name="OuterTrackerEndcapPMod2_zmin" value="OuterTrackerEndcapP_zmin + 1 * OuterTrackerEndcapP_offset" />
<constant name="OuterTrackerEndcapPMod2_rmin" value="OuterTrackerEndcapPMod2_zmin * CentralTrackingRegionP_tan * 0.99" />
<constant name="OuterTrackerEndcapPMod2_rmax" value="SiTrackerCyl_rmin" />
<constant name="OuterTrackerEndcapPMod2_x1" value="2 * OuterTrackerEndcapPMod2_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapPMod2_x2" value="2 * OuterTrackerEndcapPMod2_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapPMod2_y" value="OuterTrackerEndcapPMod2_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapPMod2_rmin" />
<constant name="OuterTrackerEndcapPLayer2_rmin" value="OuterTrackerEndcapPMod2_rmin - 1*um" />
<constant name="OuterTrackerEndcapPLayer2_rmax" value="OuterTrackerEndcapPMod2_rmax + 1*um" />
<constant name="OuterTrackerEndcapPLayer2_zmin" value="OuterTrackerEndcapPMod2_zmin - SiTrackerEndcapLayer_thickness/2" />
<constant name="OuterTrackerEndcapPMod3_zmin" value="OuterTrackerEndcapP_zmin + 2 * OuterTrackerEndcapP_offset" />
<constant name="OuterTrackerEndcapPMod3_rmin" value="OuterTrackerEndcapPMod3_zmin * CentralTrackingRegionP_tan * 1.00" />
<constant name="OuterTrackerEndcapPMod3_rmax" value="SiTrackerCyl_rmin" />
<constant name="OuterTrackerEndcapPMod3_x1" value="2 * OuterTrackerEndcapPMod3_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapPMod3_x2" value="2 * OuterTrackerEndcapPMod3_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapPMod3_y" value="OuterTrackerEndcapPMod3_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapPMod3_rmin" />
<constant name="OuterTrackerEndcapPLayer3_rmin" value="OuterTrackerEndcapPMod3_rmin - 1*um" />
<constant name="OuterTrackerEndcapPLayer3_rmax" value="OuterTrackerEndcapPMod3_rmax + 1*um" />
<constant name="OuterTrackerEndcapPLayer3_zmin" value="OuterTrackerEndcapPMod3_zmin - SiTrackerEndcapLayer_thickness/2" />
<comment> The Si tracker endcap ends at position of the last disk </comment>
<constant name="OuterTrackerEndcapP_zmax" value="OuterTrackerEndcapPLayer3_zmin + SiTrackerEndcapLayer_thickness" />
<constant name="OuterTrackerEndcapPCyl_zmin" value="MedialTrackerEndcap_zmax" />
<constant name="OuterTrackerEndcapPCyl_zmax" value="OuterTrackerEndcapP_zmax" />
<constant name="OuterTrackerEndcapPCyl_z" value="(OuterTrackerEndcapPCyl_zmin + OuterTrackerEndcapPCyl_zmax)/2" />
<constant name="OuterTrackerEndcapPCyl_length" value="OuterTrackerEndcapPCyl_zmax - OuterTrackerEndcapPCyl_zmin" />
<comment> Negative disks </comment>
<constant name="OuterTrackerEndcapNMod1_zmin" value="OuterTrackerEndcapN_zmin" />
<constant name="OuterTrackerEndcapNMod1_rmin" value="OuterTrackerEndcapNMod1_zmin * CentralTrackingRegionN_tan * 1.00" />
<constant name="OuterTrackerEndcapNMod1_rmax" value="SiTrackerCyl_rmin" />
<constant name="OuterTrackerEndcapNMod1_x1" value="2 * OuterTrackerEndcapNMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapNMod1_x2" value="2 * OuterTrackerEndcapNMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapNMod1_y" value="OuterTrackerEndcapNMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapNMod1_rmin" />
<constant name="OuterTrackerEndcapNLayer1_rmin" value="OuterTrackerEndcapNMod1_rmin - 1*um" />
<constant name="OuterTrackerEndcapNLayer1_rmax" value="OuterTrackerEndcapNMod1_rmax + 1*um" />
<constant name="OuterTrackerEndcapNLayer1_zmin" value="OuterTrackerEndcapNMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
<constant name="OuterTrackerEndcapNMod2_zmin" value="OuterTrackerEndcapN_zmin + 1 * OuterTrackerEndcapN_offset" />
<constant name="OuterTrackerEndcapNMod2_rmin" value="OuterTrackerEndcapNMod2_zmin * CentralTrackingRegionN_tan * 1.00" />
<constant name="OuterTrackerEndcapNMod2_rmax" value="SiTrackerCyl_rmin" />
<constant name="OuterTrackerEndcapNMod2_x1" value="2 * OuterTrackerEndcapNMod2_rmin * tan(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapNMod2_x2" value="2 * OuterTrackerEndcapNMod2_rmax * sin(SiTrackerEndcapMod_angle/2)" />
<constant name="OuterTrackerEndcapNMod2_y" value="OuterTrackerEndcapNMod2_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapNMod2_rmin" />
<constant name="OuterTrackerEndcapNLayer2_rmin" value="OuterTrackerEndcapNMod2_rmin - 1*um" />
<constant name="OuterTrackerEndcapNLayer2_rmax" value="OuterTrackerEndcapNMod2_rmax + 1*um" />
<constant name="OuterTrackerEndcapNLayer2_zmin" value="OuterTrackerEndcapNMod2_zmin - SiTrackerEndcapLayer_thickness/2" />
<comment> The Si tracker endcap ends at position of the last disk </comment>
<constant name="OuterTrackerEndcapN_zmax" value="OuterTrackerEndcapNLayer2_zmin + SiTrackerEndcapLayer_thickness" />
<constant name="OuterTrackerEndcapNCyl_zmin" value="MedialTrackerEndcap_zmax" />
<constant name="OuterTrackerEndcapNCyl_zmax" value="OuterTrackerEndcapN_zmax" />
<constant name="OuterTrackerEndcapNCyl_z" value="(OuterTrackerEndcapNCyl_zmin + OuterTrackerEndcapNCyl_zmax)/2" />
<constant name="OuterTrackerEndcapNCyl_length" value="OuterTrackerEndcapNCyl_zmax - OuterTrackerEndcapNCyl_zmin" />
</define>
<detectors>
<detector
id="TrackerEndcapP_2_ID"
name="OuterTrackerEndcapP"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits5"
vis="TrackerVis"
reflect="false">
<support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
rmin="SiTrackerServiceCyl_rmin"
thickness="SiTrackerServiceCylAl_thickness"
length="OuterTrackerEndcapPCyl_length"
zstart="OuterTrackerEndcapPCyl_zmin" />
<support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
rmin="SiTrackerSupportCyl_rmin"
thickness="SiTrackerSupportCylCF_thickness"
length="OuterTrackerEndcapPCyl_length"
zstart="OuterTrackerEndcapPCyl_zmin" />
<module name="Module1" vis="TrackerModuleVis">
<trd x1="OuterTrackerEndcapPMod1_x1/2" x2="OuterTrackerEndcapPMod1_x2/2" z="OuterTrackerEndcapPMod1_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<module name="Module2" vis="TrackerModuleVis">
<trd x1="OuterTrackerEndcapPMod2_x1/2" x2="OuterTrackerEndcapPMod2_x2/2" z="OuterTrackerEndcapPMod2_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<module name="Module3" vis="TrackerModuleVis">
<trd x1="OuterTrackerEndcapPMod3_x1/2" x2="OuterTrackerEndcapPMod3_x2/2" z="OuterTrackerEndcapPMod3_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="OuterTrackerEndcapPLayer1_rmin"
rmax="OuterTrackerEndcapPLayer1_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="OuterTrackerEndcapPLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="OuterTrackerEndcapPMod1_rmin + OuterTrackerEndcapPMod1_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module1" />
</layer>
<layer id="2">
<envelope vis="TrackerLayerVis"
rmin="OuterTrackerEndcapPLayer2_rmin"
rmax="OuterTrackerEndcapPLayer2_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="OuterTrackerEndcapPLayer2_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="OuterTrackerEndcapPMod2_rmin + OuterTrackerEndcapPMod2_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module2" />
</layer>
<layer id="3">
<envelope vis="TrackerLayerVis"
rmin="OuterTrackerEndcapPLayer3_rmin"
rmax="OuterTrackerEndcapPLayer3_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="OuterTrackerEndcapPLayer3_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="OuterTrackerEndcapPMod3_rmin + OuterTrackerEndcapPMod3_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module3" />
</layer>
</detector>
<detector
id="TrackerEndcapN_2_ID"
name="OuterTrackerEndcapN"
type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits6"
vis="TrackerVis"
reflect="true">
<support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
rmin="SiTrackerServiceCyl_rmin"
thickness="SiTrackerServiceCylAl_thickness"
length="OuterTrackerEndcapNCyl_length"
zstart="OuterTrackerEndcapNCyl_zmin" />
<support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
rmin="SiTrackerSupportCyl_rmin"
thickness="SiTrackerSupportCylCF_thickness"
length="OuterTrackerEndcapNCyl_length"
zstart="OuterTrackerEndcapNCyl_zmin" />
<module name="Module1" vis="TrackerModuleVis">
<trd x1="OuterTrackerEndcapNMod1_x1/2" x2="OuterTrackerEndcapNMod1_x2/2" z="OuterTrackerEndcapNMod1_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<module name="Module2" vis="TrackerModuleVis">
<trd x1="OuterTrackerEndcapNMod2_x1/2" x2="OuterTrackerEndcapNMod2_x2/2" z="OuterTrackerEndcapNMod2_y/2" />
<module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
<module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
<module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="OuterTrackerEndcapNLayer1_rmin"
rmax="OuterTrackerEndcapNLayer1_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="OuterTrackerEndcapNLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="OuterTrackerEndcapNMod1_rmin + OuterTrackerEndcapNMod1_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module1" />
</layer>
<layer id="2">
<envelope vis="TrackerLayerVis"
rmin="OuterTrackerEndcapNLayer2_rmin"
rmax="OuterTrackerEndcapNLayer2_rmax"
length="SiTrackerEndcapLayer_thickness"
zstart="OuterTrackerEndcapNLayer2_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
<ring
r="OuterTrackerEndcapNMod2_rmin + OuterTrackerEndcapNMod2_y/2"
zstart="0"
nmodules="SiTrackerEndcapMod_count"
dz="SiTrackerEndcapMod_dz"
module="Module2" />
</layer>
</detector>
</detectors>
<documentation>
## GEM trackers (3P, 2N)
</documentation>
<define>
<constant
name="GEMEndcapMod_thickness"
value="GEMMylar_thickness * 2 + GEMGas_thickness * 5 + GEMDriftRegion_thickness * 1
+ GEMKapton_thickness * (2 + 3 * GEMAreaFactor)
+ GEMCuFoil_thickness * (3 * GEMAreaFactor)
+ GEMCuElectrode_thickness * 2" />
<constant name="GEMEndcapMod_dz" value="GEMEndcapMod_thickness/2 + GEMSpoke_thickness/2" />
<constant name="GEMEndcapMod_overlap" value="0" />
<constant name="GEMEndcapMod_angle" value="360.0*degree / GEMEndcapMod_count * (1 + GEMEndcapMod_overlap)" />
<constant name="GEMEndcapLayer_thickness" value="GEMEndcapMod_thickness + 2 * GEMEndcapMod_dz + 1*um" />
<comment> Parameters for the "ring" GEMS around the silicon tracker, which are all identical </comment>
<constant name="GEMEndcapRingMod_rmin" value="SiTrackerSupportCyl_rmax + GEMFrameBotEdge_width" />
<constant name="GEMEndcapRingMod_rmax" value="min(min(GEMEndcapPDisk1_zmin, GEMEndcapN_zmin) * CentralTrackingBarrel_tan * 0.995, CentralTrackingRegion_rmax) - GEMFrameTopEdge_width" />
<constant name="GEMEndcapRingMod_x1" value="2 * GEMEndcapRingMod_rmin * tan(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingMod_x2" value="2 * GEMEndcapRingMod_rmax * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingMod_y" value="GEMEndcapRingMod_rmax * cos(GEMEndcapMod_angle/2) - GEMEndcapRingMod_rmin" />
<constant name="GEMEndcapRingModBotFrame_rmin" value="SiTrackerSupportCyl_rmax" />
<constant name="GEMEndcapRingModBotFrame_y" value="GEMFrameBotEdge_width" />
<constant name="GEMEndcapRingModBotFrame_rmax" value="(GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y)/cos(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingModBotFrame_x1" value="2 * GEMEndcapRingModBotFrame_rmin * tan(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingModBotFrame_x2" value="2 * GEMEndcapRingModBotFrame_rmax * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingModTopFrame_rmin" value="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y" />
<constant name="GEMEndcapRingModTopFrame_y" value="GEMFrameTopEdge_width" />
<constant name="GEMEndcapRingModTopFrame_rmax" value="(GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y)/cos(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingModTopFrame_x1" value="GEMEndcapRingMod_x2" />
<constant name="GEMEndcapRingModTopFrame_x2" value="2 * GEMEndcapRingModTopFrame_rmax * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapRingModSpoke_length" value="GEMEndcapRingMod_rmax - GEMEndcapRingModBotFrame_rmax" />
<constant name="GEMEndcapRingModSpoke_r" value="(GEMEndcapRingMod_rmax + GEMEndcapRingModBotFrame_rmax)/2" />
<constant name="GEMEndcapRingLayer_rmin" value="GEMEndcapRingModBotFrame_rmin - 1*um" />
<constant name="GEMEndcapRingLayer_rmax" value="GEMEndcapRingModTopFrame_rmax + 1*um" />
<comment>
z position of the "ring" GEMS, note that some are offset slightly
to not overlap in z with the silicon disks (an ACTS limitation).
</comment>
<constant name="GEMEndcapPMod1_zmin" value="GEMEndcapPDisk1_zmin + GEMEndcapLayer_thickness" />
<constant name="GEMEndcapPMod2_zmin" value="GEMEndcapPDisk2_zmin - GEMEndcapLayer_thickness" />
<constant name="GEMEndcapNMod1_zmin" value="GEMEndcapN_zmin" />
<constant name="GEMEndcapNMod2_zmin" value="GEMEndcapN_zmin + 1 * GEMEndcapN_offset - GEMEndcapLayer_thickness" />
<constant name="GEMEndcapPLayer1_zmin" value="GEMEndcapPMod1_zmin - GEMEndcapLayer_thickness/2" />
<constant name="GEMEndcapPLayer2_zmin" value="GEMEndcapPMod2_zmin - GEMEndcapLayer_thickness/2" />
<constant name="GEMEndcapNLayer1_zmin" value="GEMEndcapNMod1_zmin - GEMEndcapLayer_thickness/2" />
<constant name="GEMEndcapNLayer2_zmin" value="GEMEndcapNMod2_zmin - GEMEndcapLayer_thickness/2" />
<comment> Large forward disk (behind the RICH) </comment>
<constant name="GEMEndcapPMod3_zmin" value="GEMEndcapPDisk3_zmin" />
<constant name="GEMEndcapPLayer3_zmin" value="GEMEndcapPMod3_zmin - GEMEndcapLayer_thickness/2" />
<constant name="GEMEndcapLargeModBotFrame_rmin" value="GEMEndcapPMod3_zmin * ForwardTrackingRegion_tan" />
<constant name="GEMEndcapLargeModBotFrame_y" value="GEMFrameBotEdge_width" />
<constant name="GEMEndcapLargeModBotFrame_rmax" value="(GEMEndcapLargeModBotFrame_rmin + GEMEndcapLargeModBotFrame_y)/cos(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeModBotFrame_x1" value="2 * GEMEndcapLargeModBotFrame_rmin * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeModBotFrame_x2" value="2 * GEMEndcapLargeModBotFrame_rmax * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeMod_rmin" value="GEMEndcapPMod3_zmin * ForwardTrackingRegion_tan + GEMFrameBotEdge_width" />
<comment> Ensure there's always the length of the service gap in space available above the large GEM (top frame can extend into this at the corners). </comment>
<constant name="GEMEndcapLargeMod_rmax" value="min(GEMEndcapPMod3_zmin * CentralTrackingBarrel_tan, Solenoid_rmax-ForwardServiceGap_length)" />
<constant name="GEMEndcapLargeMod_x1" value="2 * GEMEndcapLargeMod_rmin * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeMod_x2" value="2 * GEMEndcapLargeMod_rmax * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeMod_y" value="GEMEndcapLargeMod_rmax * cos(GEMEndcapMod_angle/2) - GEMEndcapLargeMod_rmin" />
<constant name="GEMEndcapLargeModTopFrame_rmin" value="GEMEndcapLargeMod_rmin + GEMEndcapLargeMod_y" />
<constant name="GEMEndcapLargeModTopFrame_y" value="GEMFrameTopEdge_width" />
<constant name="GEMEndcapLargeModTopFrame_rmax" value="(GEMEndcapLargeModTopFrame_rmin + GEMEndcapLargeModTopFrame_y)/cos(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeModTopFrame_x1" value="GEMEndcapLargeMod_x2" />
<constant name="GEMEndcapLargeModTopFrame_x2" value="2 * GEMEndcapLargeModTopFrame_rmax * sin(GEMEndcapMod_angle/2)" />
<constant name="GEMEndcapLargeModSpoke_length" value="GEMEndcapLargeMod_rmax - GEMEndcapLargeModBotFrame_rmax" />
<constant name="GEMEndcapLargeModSpoke_r" value="(GEMEndcapLargeMod_rmax + GEMEndcapLargeModBotFrame_rmax)/2" />
<constant name="GEMEndcapLargeLayer_rmin" value="GEMEndcapLargeModBotFrame_rmin - 1*um" />
<constant name="GEMEndcapLargeLayer_rmax" value="GEMEndcapLargeModTopFrame_rmax + 1*um" />
</define>
<detectors>
<detector
id="TrackerEndcapP_3_ID"
name="GEMEndcapP"
type="athena_TrapEndcapTracker"
readout="GEMTrackerEndcapHits1"
vis="TrackerVis"
reflect="false">
<module name="RingModule" vis="TrackerGEMModuleVis">
<trd x1="GEMEndcapRingMod_x1/2" x2="GEMEndcapRingMod_x2/2" z="GEMEndcapRingMod_y/2" />
<comment> going from back to front </comment>
<module_component name="exit_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerServiceVis" />
<module_component name="exit_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="readout_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="readout_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="induction_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_3_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_3" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region2" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_2_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_2" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region1" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_1_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_1" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="drift_region" thickness="GEMDriftRegion_thickness" material="Ar10CO2" sensitive="true"/>
<module_component name="cathode_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="cathode_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="entrance_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="entrance_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerMPGDVis" />
</module>
<module name="RingBotFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapRingModBotFrame_x1/2" x2="GEMEndcapRingModBotFrame_x2/2" z="GEMEndcapRingModBotFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="RingTopFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapRingModTopFrame_x1/2" x2="GEMEndcapRingModTopFrame_x2/2" z="GEMEndcapRingModTopFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="RingSpoke" vis="TrackerSupportVis">
<trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapRingModSpoke_length/2"/>
<module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="GEMEndcapRingLayer_rmin"
rmax="GEMEndcapRingLayer_rmax"
length="GEMEndcapLayer_thickness"
zstart="GEMEndcapPLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
module="RingSpoke" />
</layer>
<layer id="2">
<envelope vis="TrackerLayerVis"
rmin="GEMEndcapRingLayer_rmin"
rmax="GEMEndcapRingLayer_rmax"
length="GEMEndcapLayer_thickness"
zstart="GEMEndcapPLayer2_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
module="RingSpoke" />
</layer>
</detector>
<detector
id="TrackerEndcapN_3_ID"
name="GEMEndcapN"
type="athena_TrapEndcapTracker"
readout="GEMTrackerEndcapHits2"
vis="TrackerVis"
reflect="true">
<module name="RingModule" vis="TrackerGEMModuleVis">
<trd x1="GEMEndcapRingMod_x1/2" x2="GEMEndcapRingMod_x2/2" z="GEMEndcapRingMod_y/2" />
<comment> going from back to front </comment>
<module_component name="exit_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerServiceVis" />
<module_component name="exit_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="readout_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="readout_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="induction_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_3_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_3" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region2" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_2_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_2" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region1" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_1_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_1" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="drift_region" thickness="GEMDriftRegion_thickness" material="Ar10CO2" sensitive="true"/>
<module_component name="cathode_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="cathode_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="entrance_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="entrance_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerMPGDVis" />
</module>
<module name="RingBotFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapRingModBotFrame_x1/2" x2="GEMEndcapRingModBotFrame_x2/2" z="GEMEndcapRingModBotFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="RingTopFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapRingModTopFrame_x1/2" x2="GEMEndcapRingModTopFrame_x2/2" z="GEMEndcapRingModTopFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="RingSpoke" vis="TrackerSupportVis">
<trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapRingModSpoke_length/2"/>
<module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
</module>
<module name="LargeModule" vis="TrackerGEMModuleVis">
<trd x1="GEMEndcapLargeMod_x1/2" x2="GEMEndcapLargeMod_x2/2" z="GEMEndcapLargeMod_y/2" />
<comment> going from back to front </comment>
<module_component name="exit_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerServiceVis" />
<module_component name="exit_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="readout_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="readout_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="induction_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_3_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_3" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region2" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_2_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_2" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region1" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_1_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_1" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="drift_region" thickness="GEMDriftRegion_thickness" material="Ar10CO2" sensitive="true"/>
<module_component name="cathode_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="cathode_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="entrance_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="entrance_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerMPGDVis" />
</module>
<module name="LargeBotFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapLargeModBotFrame_x1/2" x2="GEMEndcapLargeModBotFrame_x2/2" z="GEMEndcapLargeModBotFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="LargeTopFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapLargeModTopFrame_x1/2" x2="GEMEndcapLargeModTopFrame_x2/2" z="GEMEndcapLargeModTopFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="LargeSpoke" vis="TrackerSupportVis">
<trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapLargeModSpoke_length/2"/>
<module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="GEMEndcapRingLayer_rmin"
rmax="GEMEndcapRingLayer_rmax"
length="GEMEndcapLayer_thickness"
zstart="GEMEndcapNLayer1_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
module="RingSpoke" />
</layer>
<layer id="2">
<envelope vis="TrackerLayerVis"
rmin="GEMEndcapRingLayer_rmin"
rmax="GEMEndcapRingLayer_rmax"
length="GEMEndcapLayer_thickness"
zstart="GEMEndcapNLayer2_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingModule" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingBotFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
module="RingTopFrame" />
<ring
r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
module="RingSpoke" />
</layer>
</detector>
<detector
id="TrackerEndcapP_4_ID"
name="ForwardGEM"
type="athena_TrapEndcapTracker"
readout="GEMTrackerEndcapHits3"
vis="TrackerVis"
reflect="false">
<module name="LargeModule" vis="TrackerGEMModuleVis">
<trd x1="GEMEndcapLargeMod_x1/2" x2="GEMEndcapLargeMod_x2/2" z="GEMEndcapLargeMod_y/2" />
<comment> going from back to front </comment>
<module_component name="exit_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerServiceVis" />
<module_component name="exit_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="readout_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="readout_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="induction_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_3_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_3" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region2" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_2_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_2" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="transfer_region1" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="gem_foil_1_cu" thickness="GEMCuElectrode_thickness * GEMAreaFactor" material="Copper"/>
<module_component name="gem_foil_1" thickness="GEMKapton_thickness * GEMAreaFactor" material="Kapton"/>
<module_component name="drift_region" thickness="GEMDriftRegion_thickness" material="Ar10CO2" sensitive="true"/>
<module_component name="cathode_cu" thickness="GEMCuElectrode_thickness" material="Copper"/>
<module_component name="cathode_foil" thickness="GEMKapton_thickness" material="Kapton"/>
<module_component name="entrance_region" thickness="GEMGas_thickness" material="Ar10CO2"/>
<module_component name="entrance_window" thickness="GEMMylar_thickness" material="Mylar" vis="TrackerMPGDVis" />
</module>
<module name="LargeBotFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapLargeModBotFrame_x1/2" x2="GEMEndcapLargeModBotFrame_x2/2" z="GEMEndcapLargeModBotFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="LargeTopFrame" vis="TrackerSupportVis">
<trd x1="GEMEndcapLargeModTopFrame_x1/2" x2="GEMEndcapLargeModTopFrame_x2/2" z="GEMEndcapLargeModTopFrame_y/2" />
<module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
</module>
<module name="LargeSpoke" vis="TrackerSupportVis">
<trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapLargeModSpoke_length/2"/>
<module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
</module>
<layer id="1">
<envelope vis="TrackerLayerVis"
rmin="GEMEndcapLargeLayer_rmin"
rmax="GEMEndcapLargeLayer_rmax"
length="GEMEndcapLayer_thickness"
zstart="GEMEndcapPLayer3_zmin" />
<layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
<ring
r="GEMEndcapLargeMod_rmin + GEMEndcapLargeMod_y/2"
zstart="0"
nmodules="GEMEndcapMod_count"
dz="GEMEndcapMod_dz"
module="LargeModule" />
<ring
r="GEMEndcapLargeModBotFrame_rmin + GEMEndcapLargeModBotFrame_y/2"
zstart="0"
nmodules="GEMEndcapMod_count"
dz="GEMEndcapMod_dz"
module="LargeBotFrame" />
<ring
r="GEMEndcapLargeModTopFrame_rmin + GEMEndcapLargeModTopFrame_y/2"
zstart="0"
nmodules="GEMEndcapMod_count"
dz="GEMEndcapMod_dz"
module="LargeTopFrame" />
<ring
r="GEMEndcapLargeModSpoke_r"
zstart="0"
nmodules="GEMEndcapMod_count"
dz="0"
phi0="GEMEndcapMod_angle/2"
module="LargeSpoke" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="TrackerBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="0.010*mm" grid_size_y="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-14,y:-18</id>
</readout>
<readout name="TrackerEndcapHits1">
<segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="TrackerEndcapHits2">
<segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="TrackerEndcapHits3">
<segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="TrackerEndcapHits4">
<segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="TrackerEndcapHits5">
<segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="TrackerEndcapHits6">
<segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="MPGDTrackerBarrelHits1">
<segmentation type="CartesianGridXY" grid_size_x="0.150*mm*sqrt(12)" grid_size_y="0.150*mm*sqrt(12)" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-14,y:-18</id>
</readout>
<readout name="MPGDTrackerBarrelHits2">
<segmentation type="CartesianGridXY" grid_size_x="0.150*mm*sqrt(12)" grid_size_y="0.150*mm*sqrt(12)" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-14,y:-18</id>
</readout>
<readout name="GEMTrackerEndcapHits1">
<segmentation type="CartesianGridXZ" grid_size_x="0.050*mm*sqrt(12)" grid_size_z="0.250*mm*sqrt(12)" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="GEMTrackerEndcapHits2">
<segmentation type="CartesianGridXZ" grid_size_x="0.050*mm*sqrt(12)" grid_size_z="0.250*mm*sqrt(12)" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
<readout name="GEMTrackerEndcapHits3">
<segmentation type="CartesianGridXZ" grid_size_x="0.050*mm*sqrt(12)" grid_size_z="0.250*mm*sqrt(12)" />
<id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
<constant name="EcalEndcapPSiliconThickness" value="9.00 * mm" />
<constant name="EcalEndcapPCopperThickness" value="0.05 * mm" />
<constant name="EcalEndcapPKaptonThickness" value="0.30 * mm" />
<constant name="EcalEndcapPAir1Thickness" value="0.33 * mm" />
<constant name="EcalEndcapPAir2Thickness" value="0.25 * mm" />
<constant name="EcalEndcapPThinTungstenThickness" value="2.50 * mm" />
<constant name="EcalEndcapPThickTungstenThickness" value="5.00 * mm" />
<constant name="EcalEndcapPLayer1_thickness"
value="EcalEndcapPSiliconThickness + EcalEndcapPCopperThickness + EcalEndcapPKaptonThickness + EcalEndcapPAir1Thickness"/>
<constant name="EcalEndcapPLayer2_thickness"
value="EcalEndcapPThinTungstenThickness + EcalEndcapPAir2Thickness + EcalEndcapPSiliconThickness + EcalEndcapPCopperThickness + EcalEndcapPKaptonThickness + EcalEndcapPAir1Thickness"/>
<constant name="EcalEndcapPLayer3_thickness"
value="EcalEndcapPThickTungstenThickness + EcalEndcapPAir2Thickness + EcalEndcapPSiliconThickness + EcalEndcapPCopperThickness + EcalEndcapPKaptonThickness + EcalEndcapPAir1Thickness"/>
<constant name="EcalEndcapPLayers"
value="floor((EcalEndcapP_length - EcalEndcapPLayer1_thickness) / (EcalEndcapPLayer2_thickness + EcalEndcapPLayer3_thickness))"/>
<constant name="EcalEndcapPLayer1_NRepeat" value="1"/>
<constant name="EcalEndcapPLayer2_NRepeat" value="EcalEndcapPLayers"/>
<constant name="EcalEndcapPLayer3_NRepeat" value="EcalEndcapPLayers"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<documentation level="10">
#### Forward (Positive Z) Endcap EM Calorimeter
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</documentation>
<detector id="ECalEndcapP_ID"
name="EcalEndcapP"
reflect="false"
type="athena_PolyhedraEndcapCalorimeter2"
readout="EcalEndcapPHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP" >
<position x="0" y="0" z="-0"/>
<dimensions
numsides="CaloSides"
zmin="EcalEndcapP_zmin"
rmin="EcalEndcapP_rmin"
rmax="EcalEndcapP_rmax " />
<layer repeat="EcalEndcapPLayer1_NRepeat" vis="EcalEndcapLayerVis">
<slice material="Silicon" thickness="EcalEndcapPSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalEndcapPCopperThickness"/>
<slice material="Kapton" thickness="EcalEndcapPKaptonThickness"/>
<slice material="Air" thickness="EcalEndcapPAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapPLayer2_NRepeat" vis="EcalEndcapLayerVis">
<slice material="TungstenDens24" thickness="EcalEndcapPThinTungstenThickness"/>
<slice material="Air" thickness="EcalEndcapPAir2Thickness"/>
<slice material="Silicon" thickness="EcalEndcapPSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalEndcapPCopperThickness"/>
<slice material="Kapton" thickness="EcalEndcapPKaptonThickness"/>
<slice material="Air" thickness="EcalEndcapPAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapPLayer3_NRepeat" vis="EcalEndcapLayerVis">
<slice material="TungstenDens24" thickness="EcalEndcapPThickTungstenThickness"/>
<slice material="Air" thickness="EcalEndcapPAir2Thickness"/>
<slice material="Silicon" thickness="EcalEndcapPSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalEndcapPCopperThickness"/>
<slice material="Kapton" thickness="EcalEndcapPKaptonThickness"/>
<slice material="Air" thickness="EcalEndcapPAir1Thickness"/>
</layer>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="EcalEndcapPHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
</lccdd>
<display>
<comment>
A coherent color scheme. Pick from these colors and (in theory) it should look pretty good.
<comment>
Colors tweaked to be displayable by geoViewer
</comment>
<vis name="AnlGreen" alpha="1" r="119/255" g="179/255" b="0"/>
<vis name="AnlViolet" alpha="1" r="91/256" g="0" b="145/256"/>
<vis name="AnlProcess_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/>
<vis name="AnlGreen" alpha="1" r="100/256" g="200/256" b="0/256"/>
<vis name="AnlViolet" alpha="1" r="100/256" g="0/256" b="150/256"/>
<vis name="AnlProcess_Blue" alpha="1" r="0/256" g="100/256" b="202/256"/>
<vis name="AnlOrange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="AnlRed" alpha="1" r="205/256" g="32/256 " b="44/256"/>
<vis name="AnlGold" alpha="1" r="248/256" g="178/256" b="0/256"/>
<vis name="AnlRed" alpha="1" r="205/256" g="45/256 " b="45/256"/>
<vis name="AnlGold" alpha="1" r="248/256" g="188/256" b="0/256"/>
<vis name="AnlBlue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="AnlTeal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="AnlGray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="AnlLight_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/>
<vis name="AnlDelta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/>
<vis name="AnlDelta_Green" alpha="1" r="0" g="120/256" b="54/256"/>
<vis name="AnlDelta_Blue" alpha="1" r="11/256" g="31/256" b="143/256"/>
<vis name="AnlLightGray" ref="AnlLight_Gray" />
<!-- off-white (or white) don't work! -->
<!--vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/-->
<vis name="AnlDarkRed" alpha="1" r="161/256" g="45/256" b="45/256"/>
<vis name="AnlDarkGreen" alpha="1" r="0" g="110/256" b="50/256"/>
<vis name="AnlDarkBlue" alpha="1" r="45/256" g="45/256" b="110/256"/>
<vis name="AnlDelta_Red" ref="AnlDarkRed"/>
<vis name="AnlDelta_Green" ref="AnlDarkGreen"/>
<vis name="AnlDelta_Blue" ref="AnlDarkBlue"/>
</display>
<display>
<comment>
This is where another color scheme can be developed.
Note this is currently just a copy of colors.xml
</comment>
<vis name="AnlGreen" alpha="1" r="119/255" g="179/255" b="0"/>
<vis name="AnlViolet" alpha="1" r="91/256" g="0" b="145/256"/>
<vis name="AnlProcess_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/>
<vis name="AnlOrange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="AnlRed" alpha="1" r="205/256" g="32/256 " b="44/256"/>
<vis name="AnlGold" alpha="1" r="248/256" g="178/256" b="0/256"/>
<vis name="AnlBlue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="AnlTeal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="AnlGray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="AnlLight_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/>
<vis name="AnlDelta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/>
<vis name="AnlDelta_Green" alpha="1" r="0" g="120/256" b="54/256"/>
<vis name="AnlDelta_Blue" alpha="1" r="11/256" g="31/256" b="143/256"/>
</display>
<display>
<comment>
Similar color to regular scheme but with values that can be displayed by geoviewer
</comment>
<vis name="AnlGreen" alpha="1" r="100/256" g="200/256" b="0/256"/>
<vis name="AnlViolet" alpha="1" r="100/256" g="0/256" b="150/256"/>
<vis name="AnlProcess_Blue" alpha="1" r="0/256" g="100/256" b="202/256"/>
<vis name="AnlOrange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="AnlRed" alpha="1" r="205/256" g="45/256 " b="45/256"/>
<vis name="AnlGold" alpha="1" r="248/256" g="188/256" b="0/256"/>
<vis name="AnlBlue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="AnlTeal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="AnlGray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="AnlLight_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<!-- off-white (or white) don't work! -->
<!--vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/-->
<vis name="AnlDelta_Red" alpha="1" r="161/256" g="45/256" b="45/256"/>
<vis name="AnlDelta_Green" alpha="1" r="0" g="110/256" b="50/256"/>
<vis name="AnlDelta_Blue" alpha="1" r="45/256" g="45/256" b="110/256"/>
</display>