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
Select Git revision

Target

Select target project
  • EIC/detectors/athena
  • zwzhao/athena
  • FernandoTA/athena
  • palspeic/athena
4 results
Select Git revision
Show changes
Commits on Source (56)
Showing
with 2159 additions and 518 deletions
...@@ -25,3 +25,7 @@ ip6 ...@@ -25,3 +25,7 @@ ip6
fieldmaps fieldmaps
manifest.txt manifest.txt
acts.txt
acts2.txt
materials-map.cbor
...@@ -115,18 +115,17 @@ dump_geometry: ...@@ -115,18 +115,17 @@ dump_geometry:
- print_env.sh - print_env.sh
## DEBUG ## DEBUG
- mkdir -p geo - mkdir -p geo
## disable fibers in SciFi endcap ECAL for better performance
## not needed, as we have no fibers in the current setup
#- 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/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 for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do
echo $xml
geo_name=`basename $xml .xml`_geo.root geo_name=`basename $xml .xml`_geo.root
cp $xml ${DETECTOR_PATH}/geo.xml cp $xml ${DETECTOR_PATH}/geo.xml
dd_web_display --output geo/${geo_name} ${DETECTOR_PATH}/geo.xml dd_web_display --output geo/${geo_name} ${DETECTOR_PATH}/geo.xml
done 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 ## full geo with downstream beamline
- dd_web_display --output geo/detector_geo_full.root ${DETECTOR_PATH}/athena.xml - dd_web_display --output geo/detector_geo_full.root ${DETECTOR_PATH}/athena.xml
## only central detector geo ## only central detector geo
...@@ -141,11 +140,13 @@ dump_geometry: ...@@ -141,11 +140,13 @@ dump_geometry:
## print some useful output ## print some useful output
- | - |
echo "Geometry viewer at:" 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 for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do
geo_name=`basename $xml .xml`_geo.root geo_name=`basename $xml .xml`_geo.root
echo " - Subsystem view for `basename $xml .xml` at:" 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 done
detector_documentation: detector_documentation:
...@@ -157,7 +158,7 @@ detector_documentation: ...@@ -157,7 +158,7 @@ detector_documentation:
- bash bin/build_documentation | tee doc/detector.md - 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}/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 # 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 # xmllint --format --xpath '//comment/text()' ${afile} | sed -re 's/<\/?\w+>//g' | sed 's/^[[:space:]]*#/#/' | tee -a doc/detector.md || true
# done # done
...@@ -178,7 +179,7 @@ report: ...@@ -178,7 +179,7 @@ report:
- view_20 - view_20
- dump_constants - dump_constants
- dump_geometry - dump_geometry
- convert_to_gdml - dump_gdml
script: script:
- pip3 install jinja2 && ls -lrth - pip3 install jinja2 && ls -lrth
- ./bin/make_images > doc/dawn_views.md - ./bin/make_images > doc/dawn_views.md
...@@ -196,6 +197,9 @@ overlap_check_tgeo: ...@@ -196,6 +197,9 @@ overlap_check_tgeo:
needs: needs:
- ["common:detector"] - ["common:detector"]
script: 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 - checkOverlaps -c ${DETECTOR_PATH}/athena.xml | tee doc/overlap_check_tgeo.out
- echo "$(cat doc/overlap_check_tgeo.out | grep ovlp | wc -l) overlaps..." - 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 - if [[ "$(cat doc/overlap_check_tgeo.out | grep ovlp | wc -l)" -gt "0" ]] ; then echo "Overlaps exist!" && false ; fi
...@@ -207,6 +211,7 @@ overlap_check_geant4:full_fast: ...@@ -207,6 +211,7 @@ overlap_check_geant4:full_fast:
script: script:
## disable fibers in ECAL for normal overlap check ## disable fibers in ECAL for normal overlap check
- sed -i '/<fiber/,+6d' ${DETECTOR_PATH}/compact/ecal_barrel_interlayers.xml - 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 ## reduce the number of fibers in Hadron EMCal for overlap check
## not needed, as we are running with a different setup now ## 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 #- sed -i 's/radius="EcalEndcapP_FiberRadius"/radius="EcalEndcapP_FiberRadius*10"/' ${DETECTOR_PATH}/compact/ci_ecal_scfi.xml
...@@ -226,13 +231,19 @@ overlap_check_geant4:inner_detector: ...@@ -226,13 +231,19 @@ overlap_check_geant4:inner_detector:
- echo "$(cat doc/overlap_check_geant4.out | grep GeomVol1002 | wc -l) overlaps..." - 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 - 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 stage: test
needs: needs:
- ["common:detector"] - ["common:detector"]
script: script:
- mkdir -p geo - 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: tracking_geometry_debug:
stage: test stage: test
...@@ -259,5 +270,5 @@ benchmarks:detector: ...@@ -259,5 +270,5 @@ benchmarks:detector:
project: EIC/benchmarks/detector_benchmarks project: EIC/benchmarks/detector_benchmarks
strategy: depend strategy: depend
needs: needs:
- overlap_check_tgeo - overlap_check_geant4:full_fast
- common:detector - common:detector
...@@ -10,13 +10,18 @@ PROJECT(athena ...@@ -10,13 +10,18 @@ PROJECT(athena
) )
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
find_package( DD4hep REQUIRED COMPONENTS DDCore DDG4) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
find_package(Acts REQUIRED COMPONENTS Core PluginIdentification PluginTGeo PluginDD4hep )
find_package(fmt)
#find_library(FMT_LIBRARY fmt)
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) set(a_lib_name athena)
...@@ -24,15 +29,16 @@ set(a_lib_name athena) ...@@ -24,15 +29,16 @@ set(a_lib_name athena)
dd4hep_configure_output() dd4hep_configure_output()
dd4hep_add_plugin(${a_lib_name} SOURCES dd4hep_add_plugin(${a_lib_name} SOURCES
src/BackwardGEMTracker_geo.cpp
src/BarrelBarDetectorWithSideFrame_geo.cpp src/BarrelBarDetectorWithSideFrame_geo.cpp
src/BarrelCalorimeter_geo.cpp src/BarrelCalorimeter_geo.cpp
src/BarrelCalorimeterHybrid_geo.cpp
src/BarrelCalorimeterInterlayers_geo.cpp src/BarrelCalorimeterInterlayers_geo.cpp
src/BarrelTrackerWithFrame_geo.cpp src/BarrelTrackerWithFrame_geo.cpp
src/CompositeTracker_geo.cpp
src/CylinderTrackerBarrel_geo.cpp src/CylinderTrackerBarrel_geo.cpp
src/DIRC_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/FieldMapBrBz.cpp
src/GaseousRICH_geo.cpp src/GaseousRICH_geo.cpp
src/GeometryHelpers.cpp src/GeometryHelpers.cpp
...@@ -45,10 +51,10 @@ dd4hep_add_plugin(${a_lib_name} SOURCES ...@@ -45,10 +51,10 @@ dd4hep_add_plugin(${a_lib_name} SOURCES
src/SimpleDiskDetector_geo.cpp src/SimpleDiskDetector_geo.cpp
src/SolenoidCoil_geo.cpp src/SolenoidCoil_geo.cpp
src/TrapEndcapTracker_geo.cpp src/TrapEndcapTracker_geo.cpp
USES ActsCore ActsPluginDD4hep USES ${ActsDD4hep}
) )
target_link_libraries(${a_lib_name} target_link_libraries(${a_lib_name}
PUBLIC DD4hep::DDCore DD4hep::DDRec fmt::fmt PUBLIC DD4hep::DDCore DD4hep::DDRec fmt::fmt
) )
#----------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------
...@@ -67,5 +73,5 @@ install(FILES athena.xml ...@@ -67,5 +73,5 @@ install(FILES athena.xml
#----------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------
# Install the detector calibration files. # Install the detector calibration files.
install(DIRECTORY calibrations/ install(DIRECTORY calibrations/
DESTINATION share/${PROJECT_NAME}/ DESTINATION share/${PROJECT_NAME}/calibrations
) )
...@@ -3,22 +3,34 @@ Overview ...@@ -3,22 +3,34 @@ Overview
The Athena Detector at IP6 for Electron-Ion Collider experiment. The Athena Detector at IP6 for Electron-Ion Collider experiment.
**Detector geometry viewer:** **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&) - [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 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&) - [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)
<a href="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01.pdf?job=report"> - Subsystem views:
<img src="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01.png?job=report" width="400px" /> - [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> </a>
<br /> <br />
<a href="https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/images/view01_top.pdf?job=report"> <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/api/v4/projects/473/jobs/artifacts/master/raw/images/view01_top.png?job=report" width="400px" /> <img src="https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/raw/images/view01_top.png?job=report" width="400px" />
</a> </a>
[Browse latest](https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/artifacts/master/browse/images?job=report) [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 Getting Started
--------------- ---------------
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward_fields_275.xml" /> <include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -84,17 +84,6 @@ ...@@ -84,17 +84,6 @@
- and more... - and more...
</documentation> </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"> <documentation level="5">
## Main magnet ## Main magnet
...@@ -102,81 +91,20 @@ ...@@ -102,81 +91,20 @@
</documentation> </documentation>
<include ref="compact/solenoid.xml"/> <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"> <documentation level="10">
## Central tracking detectors ## Central tracking detectors
</documentation> </documentation>
<include ref="compact/tracking_config_acadia.xml"/> <!--include ref="compact/tracking_config_acadia.xml"/-->
<!--include ref="compact/tracking_config_canyonlands.xml"/-->
<!--include ref="compact/tracking_config_mgpds.xml"/--> <include ref="compact/tracking_config_deathvalley.xml"/>
<documentation level="10"> <documentation level="10">
### PID detectors ### PID detectors
</documentation> </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"> <documentation level="10">
## Central calorimetry ## Central calorimetry
...@@ -184,74 +112,20 @@ ...@@ -184,74 +112,20 @@
<include ref="compact/ecal.xml"/> <include ref="compact/ecal.xml"/>
<include ref="compact/hcal.xml"/> <include ref="compact/hcal.xml"/>
<documentation level="11">
## Far foward detectors
</documentation>
<include ref="ip6/central_beampipe.xml"/>
<documentation level="11"> <documentation level="11">
## Far foward detectors ## Far foward detectors
</documentation> </documentation>
<include ref="ip6/B0_tracker.xml"/> <include ref="ip6/far_forward.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"/>
<fields> <documentation level="11">
<field name="B0PF_Magnet" type="MultipoleMagnet"> ## Far backward detectors
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/> </documentation>
<rotation x="0" y="B0PF_RotationAngle" z="0"/> <include ref="ip6/far_backward.xml"/>
<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>
<comment> <comment>
FB elements FB elements
......
...@@ -52,7 +52,7 @@ parser.add_argument('-t', '--tag', type=str,dest='file_tag', ...@@ -52,7 +52,7 @@ parser.add_argument('-t', '--tag', type=str,dest='file_tag',
help='Output file tag') help='Output file tag')
parser.add_argument('--timeout', type=int, parser.add_argument('--timeout', type=int,
default=60, default=3600,
help='Timeout in seconds') help='Timeout in seconds')
parser.add_argument('passthrough', nargs='*') parser.add_argument('passthrough', nargs='*')
......
...@@ -7,9 +7,15 @@ env = Environment( ...@@ -7,9 +7,15 @@ env = Environment(
autoescape=select_autoescape(['html', 'xml']) autoescape=select_autoescape(['html', 'xml'])
) )
import os
import glob 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 = ["images/view2a.png","images/view2b.png", "images/view1.png"]
images = glob.glob("images/*.png") images = glob.glob("images/*.png")
......
{
"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": { "electron": {
"particle_name": "electron", "particle_name": "electron",
"sampling_fraction": 0.10856976476514045, "sampling_fraction": 0.1053739677993623,
"sampling_fraction_img": 0.00595078393326404, "sampling_fraction_error": 0.00014385360879111712,
"sampling_fraction_scfi": 0.10262666247845109, "sampling_fraction_error_img": 7.262477989358573e-05,
"thrown_energy": 4.975791477972636 "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
}
}
...@@ -27,6 +27,10 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -27,6 +27,10 @@ total X0 0.24% per disk layer (4 sectors per disk):
</documentation> </documentation>
<define> <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> <comment>
Layer_rOffset is used to add inside space so the _rmin value is the nominal sensor radius. 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} 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): ...@@ -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="TrackerBarrelLayer_rOffset" value="0.5*cm"/>
<constant name="TrackerBarrelSpaceFrame_width" value="4.0*cm"/> <constant name="TrackerBarrelSpaceFrame_width" value="4.0*cm"/>
<constant name="TrackerBarrelSpaceFrame_height" value="1.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_rmin1" value="21.0*cm"/>
<constant name="TrackerBarrelInner_rmin2" value="22.68*cm"/> <constant name="TrackerBarrelInner_rmin2" value="22.68*cm"/>
...@@ -155,7 +159,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -155,7 +159,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</comment> </comment>
<detector <detector
id="TrackerBarrel_Inner_ID" id="TrackerBarrel_0_ID"
name="TrackerBarrel_Inner" name="TrackerBarrel_Inner"
type="athena_TrackerBarrel" type="athena_TrackerBarrel"
readout="TrackerBarrelHits" readout="TrackerBarrelHits"
...@@ -219,7 +223,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -219,7 +223,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector> </detector>
<detector <detector
id="TrackerEndcapP_Inner_ID" id="TrackerEndcapP_0_ID"
name="TrackerEndcapP_Inner" name="TrackerEndcapP_Inner"
type="athena_TrapEndcapTracker" type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits" readout="TrackerEndcapHits"
...@@ -241,7 +245,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -241,7 +245,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue"> <module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
...@@ -260,7 +264,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -260,7 +264,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector> </detector>
<detector <detector
id="TrackerEndcapN_Inner_ID" id="TrackerEndcapN_0_ID"
name="TrackerEndcapN_Inner" name="TrackerEndcapN_Inner"
type="athena_TrapEndcapTracker" type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits" readout="TrackerEndcapHits"
...@@ -282,7 +286,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -282,7 +286,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue"> <module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
...@@ -306,7 +310,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -306,7 +310,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
----------------------------------- -----------------------------------
</comment> </comment>
<detector <detector
id="TrackerBarrel_Outer_ID" id="TrackerBarrel_1_ID"
name="TrackerBarrel_Outer" name="TrackerBarrel_Outer"
type="athena_TrackerBarrel" type="athena_TrackerBarrel"
readout="TrackerBarrelHits" readout="TrackerBarrelHits"
...@@ -370,7 +374,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -370,7 +374,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector> </detector>
<detector <detector
id="TrackerEndcapP_Outer_ID" id="TrackerEndcapP_1_ID"
name="TrackerEndcapP_Outer" name="TrackerEndcapP_Outer"
type="athena_TrapEndcapTracker" type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits" readout="TrackerEndcapHits"
...@@ -399,19 +403,19 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -399,19 +403,19 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue"> <module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
<module name="Module2" vis="AnlProcess_Blue"> <module name="Module2" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
<module name="Module3" vis="AnlProcess_Blue"> <module name="Module3" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
...@@ -454,7 +458,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -454,7 +458,7 @@ total X0 0.24% per disk layer (4 sectors per disk):
</detector> </detector>
<detector <detector
id="TrackerEndcapN_Outer_ID" id="TrackerEndcapN_1_ID"
name="TrackerEndcapN_Outer" name="TrackerEndcapN_Outer"
type="athena_TrapEndcapTracker" type="athena_TrapEndcapTracker"
readout="TrackerEndcapHits" readout="TrackerEndcapHits"
...@@ -485,19 +489,19 @@ total X0 0.24% per disk layer (4 sectors per disk): ...@@ -485,19 +489,19 @@ total X0 0.24% per disk layer (4 sectors per disk):
<module name="Module1" vis="AnlProcess_Blue"> <module name="Module1" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
<module name="Module2" vis="AnlProcess_Blue"> <module name="Module2" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </module>
<module name="Module3" vis="AnlProcess_Blue"> <module name="Module3" vis="AnlProcess_Blue">
<trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/> <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="TrackerEndcapAluminum_thickness" material="Aluminum"/>
<module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/>
</module> </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>
<display> <display>
<comment> <comment>
A coherent color scheme. Pick from these colors and (in theory) it should look pretty good. Colors tweaked to be displayable by geoViewer
</comment> </comment>
<vis name="AnlGreen" alpha="1" r="119/255" g="179/255" b="0"/> <vis name="AnlGreen" alpha="1" r="100/256" g="200/256" b="0/256"/>
<vis name="AnlViolet" alpha="1" r="91/256" g="0" b="145/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="130/256" b="202/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="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="AnlRed" alpha="1" r="205/256" g="45/256 " b="45/256"/>
<vis name="AnlGold" alpha="1" r="248/256" g="178/256" b="0/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="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="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="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="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="AnlLightGray" ref="AnlLight_Gray" />
<vis name="AnlDelta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/> <!-- off-white (or white) don't work! -->
<vis name="AnlDelta_Green" alpha="1" r="0" g="120/256" b="54/256"/> <!--vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/-->
<vis name="AnlDelta_Blue" alpha="1" r="11/256" g="31/256" b="143/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>
<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>
...@@ -50,79 +50,92 @@ The unused IDs below are saved for future use. ...@@ -50,79 +50,92 @@ The unused IDs below are saved for future use.
<documentation> <documentation>
#### (25-49) Silicon Vertex Tracker #### (25-39) Silicon Vertex Tracker
- SiVertex subsystem ID: 25 - Vertex subassemblies: 25-27
- Layer 1 subassembly ID: 26 - Vertex barrel and endcaps: 28-30
- Layer 2 subassembly ID: 27 - Unused: 28-30
- Layer 3 subassembly ID: 28
- Layer 4 subassembly ID: 29
- Layer 5 subassembly ID: 30
</documentation> </documentation>
<constant name="VertexBarrel_ID" value="25"/> <constant name="VertexSubAssembly_0_ID" value="25"/>
<constant name="VertexBarrelSubAssembly_ID" value="26"/> <constant name="VertexSubAssembly_1_ID" value="26"/>
<constant name="VertexEndcapSubAssembly_ID" value="27"/> <constant name="VertexSubAssembly_2_ID" value="27"/>
<constant name="VertexEndcapP_ID" value="30"/>
<constant name="VertexEndcapN_ID" value="40"/> <constant name="VertexBarrel_0_ID" value="31"/>
<constant name="VertexBarrel_1_ID" value="32"/>
<constant name="VertexBarrel_2_ID" value="33"/>
<constant name="VertexEndcapN_0_ID" value="34"/>
<constant name="VertexEndcapN_1_ID" value="35"/>
<constant name="VertexEndcapN_2_ID" value="36"/>
<constant name="VertexEndcapP_0_ID" value="37"/>
<constant name="VertexEndcapP_1_ID" value="38"/>
<constant name="VertexEndcapP_2_ID" value="39"/>
<documentation> <documentation>
- Unused IDs: 31-49 - Unused IDs: 31-39
</documentation> </documentation>
<documentation> <documentation>
#### (50-74) Silicon Tracker System #### (40-84) Tracker System
SiTracker subsystem ID: 50 - Tracker subassemblies: 40-45
Layer 1 subassembly ID: 51 - Composite tracker systems: 46-57
Layer 2 subassembly ID: 52 - Tracker detectors: 56-84
Layer 3 subassembly ID: 53 Unused IDs: (77-79)
Layer 4 subassembly ID: 54
Layer 5 subassembly ID: 55
(56-70) etc...
Unused IDs: 71-74
</documentation> </documentation>
<constant name="TrackerBarrelSubAssembly_Inner_ID" value="50"/> <comment>
<constant name="TrackerEndcapSubAssembly_Inner_ID" value="51"/> SubAssembly IDs should increment from inner to outer
(it's not the definition order but rather the ID order that's used
<constant name="TrackerBarrelSubAssembly_Outer_ID" value="52"/> for construction order in the ACTS geometry conversion)
<constant name="TrackerEndcapSubAssembly_Outer_ID" value="53"/> </comment>
<constant name="OuterTrackingSubAssembly_ID" value="54"/> <constant name="TrackerSubAssembly_0_ID" value="40"/>
<constant name="TrackerSubAssembly_1_ID" value="41"/>
<!--constant name="TrackerSubAssemblyLayer4_ID" value="54"/--> <constant name="TrackerSubAssembly_2_ID" value="42"/>
<!--constant name="TrackerSubAssemblyLayer5_ID" value="55"/--> <constant name="TrackerSubAssembly_3_ID" value="43"/>
<constant name="TrackerSubAssembly_4_ID" value="44"/>
<constant name="TrackerBarrel_Inner_ID" value="56"/> <constant name="TrackerSubAssembly_5_ID" value="45"/>
<constant name="TrackerEndcapP_Inner_ID" value="57"/>
<constant name="TrackerEndcapN_Inner_ID" value="58"/> <constant name="TrackerCompositeBarrel_0_ID" value="46"/>
<constant name="TrackerCompositeBarrel_1_ID" value="47"/>
<constant name="TrackerBarrel_Outer_ID" value="59"/> <constant name="TrackerCompositeBarrel_2_ID" value="48"/>
<constant name="TrackerEndcapP_Outer_ID" value="60"/> <constant name="TrackerCompositeBarrel_3_ID" value="49"/>
<constant name="TrackerEndcapN_Outer_ID" value="61"/> <constant name="TrackerCompositeEndcapN_0_ID" value="50"/>
<constant name="TrackerCompositeEndcapN_1_ID" value="51"/>
<constant name="TrackerBarrel_Layer3_ID" value="62"/> <constant name="TrackerCompositeEndcapN_2_ID" value="52"/>
<constant name="TrackerEndcapP_Layer3_ID" value="63"/> <constant name="TrackerCompositeEndcapN_3_ID" value="53"/>
<constant name="TrackerEndcapN_Layer3_ID" value="64"/> <constant name="TrackerCompositeEndcapP_0_ID" value="54"/>
<constant name="TrackerCompositeEndcapP_1_ID" value="55"/>
<constant name="TrackerBarrel_Layer4_ID" value="65"/> <constant name="TrackerCompositeEndcapP_2_ID" value="56"/>
<constant name="TrackerEndcapP_Layer4_ID" value="66"/> <constant name="TrackerCompositeEndcapP_3_ID" value="57"/>
<constant name="TrackerEndcapN_Layer4_ID" value="67"/>
<constant name="TrackerBarrel_0_ID" value="58"/>
<constant name="TrackerBarrel_Layer5_ID" value="68"/> <constant name="TrackerBarrel_1_ID" value="59"/>
<constant name="TrackerEndcapP_Layer5_ID" value="69"/> <constant name="TrackerBarrel_2_ID" value="60"/>
<constant name="TrackerEndcapN_Layer5_ID" value="70"/> <constant name="TrackerBarrel_3_ID" value="61"/>
<constant name="TrackerBarrel_4_ID" value="62"/>
<documentation> <constant name="TrackerBarrel_5_ID" value="63"/>
#### (75-84) Barrel Tracker IDs <constant name="TrackerBarrel_6_ID" value="64"/>
<constant name="TrackerBarrel_7_ID" value="65"/>
- MMTrackerBarrel ID: 75 <constant name="TrackerBarrel_8_ID" value="66"/>
- RWellTrackerBarrel ID: 76 <constant name="TrackerEndcapN_0_ID" value="67"/>
- Unused IDs: 77-89 <constant name="TrackerEndcapN_1_ID" value="68"/>
<constant name="TrackerEndcapN_2_ID" value="69"/>
</documentation> <constant name="TrackerEndcapN_3_ID" value="70"/>
<constant name="MMTrackerBarrel_ID" value="75"/> <constant name="TrackerEndcapN_4_ID" value="71"/>
<constant name="RWellTrackerBarrel_ID" value="76"/> <constant name="TrackerEndcapN_5_ID" value="72"/>
<constant name="TrackerEndcapN_6_ID" value="73"/>
<constant name="TrackerEndcapN_7_ID" value="74"/>
<constant name="TrackerEndcapN_8_ID" value="75"/>
<constant name="TrackerEndcapP_0_ID" value="76"/>
<constant name="TrackerEndcapP_1_ID" value="77"/>
<constant name="TrackerEndcapP_2_ID" value="78"/>
<constant name="TrackerEndcapP_3_ID" value="79"/>
<constant name="TrackerEndcapP_4_ID" value="80"/>
<constant name="TrackerEndcapP_5_ID" value="81"/>
<constant name="TrackerEndcapP_6_ID" value="82"/>
<constant name="TrackerEndcapP_7_ID" value="83"/>
<constant name="TrackerEndcapP_8_ID" value="84"/>
<documentation> <documentation>
#### (85-99) Reserved IDs #### (85-99) Reserved IDs
...@@ -177,33 +190,31 @@ The unused IDs below are saved for future use. ...@@ -177,33 +190,31 @@ The unused IDs below are saved for future use.
<constant name="HCalBarrel_ID" value="111"/> <constant name="HCalBarrel_ID" value="111"/>
<constant name="HCalEndcapP_ID" value="112"/> <constant name="HCalEndcapP_ID" value="112"/>
<constant name="HCalEndcapN_ID" value="113"/> <constant name="HCalEndcapN_ID" value="113"/>
<constant name="PassiveSteelRingEndcapP_ID" value="114"/>
<documentation> <documentation>
#### (120-129) (near) Forward reserved #### (120-129) (near) Forward reserved
- Forwardtracking ID: 120 - Forward RICH ID: 120
- Forward RICH ID: 121 - Forward TRD ID: 121
- Forward TOF ID: 122
- Unused IDs: 124-129 - Unused IDs: 124-129
</documentation> </documentation>
<constant name="ForwardTracking_ID" value="120"/> <constant name="ForwardRICH_ID" value="120"/>
<constant name="ForwardRICH_ID" value="121"/> <constant name="ForwardTRD_ID" value="121"/>
<!--constant name="UNUSED" value="122"/--> <constant name="ForwardTOF_ID" value="122"/>
<constant name="ForwardTRD_ID" value="123"/>
<constant name="GEMTrackerEndcapP_ID" value="124"/>
<constant name="GEMTrackerEndcapN_ID" value="125"/>
<constant name="ForwardTOF_ID" value="126"/>
<constant name="BackwardTOF_ID" value="127"/>
<documentation> <documentation>
#### (130-139) Backward reserved #### (130-139) Backward reserved
- Modular RICH ID: 130 - Modular RICH ID: 130
- Electron Endcap GEM tracking ID: 131 - Backward RICH ID: 131
- Unused IDs: 132-139 - Backward TOD ID: 132
- Unused IDs: 133-139
</documentation> </documentation>
<constant name="MRICH_ID" value="130"/> <constant name="MRICH_ID" value="130"/>
<!--constant name="UNUSED" value="131"/--> <constant name="BackwardRICH_ID" value="131"/>
<constant name="BackwardTOF_ID" value="132"/>
<documentation> <documentation>
#### (140-149) Central Magnet #### (140-149) Central Magnet
...@@ -220,38 +231,78 @@ The unused IDs below are saved for future use. ...@@ -220,38 +231,78 @@ The unused IDs below are saved for future use.
<constant name="SolenoidYoke_ID" value="142"/> <constant name="SolenoidYoke_ID" value="142"/>
<documentation> <documentation>
#### (150-169) Far Forward Detectors #### (150-169) Far Forward Detectors
- Forward Roman Pot ID: 150 - Forward Roman Pot ID: 150
- Forward B0 Tracker ID: 151 - Forward B0 Tracker ID: 151
- Zero Degree Cal. Ecal ID: 160 - Zero Degree Cal. Ecal ID: 160
- Zero Degree Cal. Hcal ID: 161 - Zero Degree Cal. Hcal ID: 161
TODO: A lot of the repeated ID's below should be pushed into a single detector TODO: A lot of the repeated ID's below should be pushed into a single detector
</documentation> </documentation>
<constant name="B0Tracker_Station_1_ID" value="150"/> <constant name="B0Tracker_Station_1_ID" value="150"/>
<constant name="B0Tracker_Station_2_ID" value="151"/> <constant name="B0Tracker_Station_2_ID" value="151"/>
<constant name="B0Tracker_Station_3_ID" value="152"/> <constant name="B0Tracker_Station_3_ID" value="152"/>
<constant name="B0Tracker_Station_4_ID" value="153"/> <constant name="B0Tracker_Station_4_ID" value="153"/>
<constant name="B0Preshower_Station_1_ID" value="154"/> <constant name="B0Preshower_Station_1_ID" value="154"/>
<constant name="ForwardRomanPot_Station_1_ID" value="155"/> <constant name="ForwardRomanPot_Station_1_ID" value="155"/>
<constant name="ForwardRomanPot_Station_2_ID" value="156"/> <constant name="ForwardRomanPot_Station_2_ID" value="156"/>
<constant name="ForwardOffMTracker_station_1_ID" value="159"/> <constant name="ForwardOffMTracker_station_1_ID" value="159"/>
<constant name="ForwardOffMTracker_station_2_ID" value="160"/> <constant name="ForwardOffMTracker_station_2_ID" value="160"/>
<constant name="ForwardOffMTracker_station_3_ID" value="161"/> <constant name="ForwardOffMTracker_station_3_ID" value="161"/>
<constant name="ForwardOffMTracker_station_4_ID" value="162"/> <constant name="ForwardOffMTracker_station_4_ID" value="162"/>
<comment> TODO naming consistency </comment> <constant name="ZDCEcal_ID" value="163"/>
<constant name="ffi_ZDC_ECAL_ID" value="163"/> <constant name="ZDCHcal_ID" value="164"/>
<constant name="ffi_ZDC_HCAL_ID" value="164"/>
<constant name="VacuumMagnetElement_1_ID" value="165"/> <constant name="VacuumMagnetElement_1_ID" value="165"/>
<documentation> <documentation>
#### (170-189) Forward Beamline Magnets #### (170-189) Far Forward Beamline Magnets
</documentation>
<constant name="B0PF_ID" value="170"/>
<constant name="B0APF_ID" value="171"/>
<constant name="Q1APF_ID" value="172"/>
<constant name="Q1BPF_ID" value="173"/>
<constant name="Q2PF_ID" value="174"/>
<constant name="B1PF_ID" value="175"/>
<constant name="B1APF_ID" value="176"/>
<constant name="B2PF_ID" value="177"/>
<constant name="Q0EF_ID" value="180"/>
<constant name="Q1EF_ID" value="181"/>
<documentation>
#### (190-199) Far Backward Beamline Magnets
- Low-Q2 Tagger 1 Tracker ID: 195
- Low-Q2 Tagger 1 Calorimeter ID: 196
- Low-Q2 Tagger 2 Tracker ID: 198
- Low-Q2 Tagger 2 Calorimeter ID: 199
TODO: A lot of the repeated ID's below should be pushed into a single detector
</documentation> </documentation>
<constant name="LumiCollimator_ID" value="190"/>
<constant name="LumiDipole_ID" value="191"/>
<constant name="TaggerTracker_1_ID" value="195"/>
<constant name="TaggerCalorimeter_1_ID" value="196"/>
<constant name="TaggerTracker_2_ID" value="198"/>
<constant name="TaggerCalorimeter_2_ID" value="199"/>
<documentation> <documentation>
#### (190-199) Backward Beamline Magnets #### (200-219) Far Backward Beamline Magnets
</documentation> </documentation>
<constant name="Pipe_to_Q1eR_ID" value="200"/>
<constant name="Magnet_Q1eR_ID" value="201"/>
<constant name="Pipe_in_Q1eR_ID" value="202"/>
<constant name="Pipe_Q1eR_to_Q2eR_ID" value="203"/>
<constant name="Magnet_Q2eR_ID" value="204"/>
<constant name="Pipe_in_Q2eR_ID" value="205"/>
<constant name="Pipe_Q2eR_to_B2AeR_ID" value="206"/>
<constant name="Magnet_B2AeR_ID" value="207"/>
<constant name="Pipe_in_B2AeR_ID" value="208"/>
<constant name="Pipe_B2AeR_to_B2BeR_ID" value="209"/>
<constant name="Magnet_B2BeR_ID" value="210"/>
<constant name="Pipe_in_B2BeR_ID" value="211"/>
<constant name="Magnet_Q3eR_ID" value="212"/>
<constant name="Vacuum_in_Q3eR_ID" value="213"/>
<documentation> <documentation>
## Detector Definition Parameters ## Detector Definition Parameters
...@@ -288,6 +339,28 @@ Examples: ...@@ -288,6 +339,28 @@ Examples:
</documentation> </documentation>
<documentation>
## Rapidity constants
</documentation>
<constant name="Eta1_1_tan" value="tan(2*atan(exp(-1.1)))" />
<constant name="Eta1_4_tan" value="tan(2*atan(exp(-1.4)))" />
<constant name="Eta3_5_tan" value="tan(2*atan(exp(-3.5)))" />
<constant name="Eta3_6_tan" value="tan(2*atan(exp(-3.6)))" />
<constant name="Eta3_7_tan" value="tan(2*atan(exp(-3.7)))" />
<constant name="Eta3_8_tan" value="tan(2*atan(exp(-3.8)))" />
<constant name="Eta3_9_tan" value="tan(2*atan(exp(-3.9)))" />
<constant name="Eta4_0_tan" value="tan(2*atan(exp(-4.0)))" />
<constant name="Eta4_1_tan" value="tan(2*atan(exp(-4.1)))" />
<constant name="Eta4_2_tan" value="tan(2*atan(exp(-4.2)))" />
<constant name="Eta4_3_tan" value="tan(2*atan(exp(-4.3)))" />
<constant name="Eta4_4_tan" value="tan(2*atan(exp(-4.4)))" />
<constant name="Eta4_5_tan" value="tan(2*atan(exp(-4.5)))" />
<constant name="Eta4_6_tan" value="tan(2*atan(exp(-4.6)))" />
<constant name="Eta4_7_tan" value="tan(2*atan(exp(-4.7)))" />
<constant name="Eta4_8_tan" value="tan(2*atan(exp(-4.8)))" />
<comment>Solenoid option</comment>
<documentation> <documentation>
## Solenoid Magnet Parameters ## Solenoid Magnet Parameters
...@@ -297,8 +370,8 @@ Examples: ...@@ -297,8 +370,8 @@ Examples:
<comment>Solenoid option</comment> <comment>Solenoid option</comment>
<constant name="Solenoid_length" value="3840.0*mm"/> <constant name="Solenoid_length" value="3840.0*mm"/>
<constant name="Solenoid_rmin" value="1600.0*mm"/> <constant name="Solenoid_rmin" value="1600.0*mm"/>
<constant name="Solenoid_thickness" value="640*mm"/> <constant name="Solenoid_thickness" value="455*mm"/>
<constant name="Solenoid_offset" value="10*mm"/> <constant name="Solenoid_offset" value="-240*mm"/>
<!-- <!--
<comment>Helmholtz option</comment> <comment>Helmholtz option</comment>
...@@ -320,68 +393,87 @@ Examples: ...@@ -320,68 +393,87 @@ Examples:
</documentation> </documentation>
<documentation>
### Vertex Tracker Parameters
</documentation>
<constant name="VertexTrackerBarrel_rmin" value="Beampipe_rmax + 1.0*mm"/>
<constant name="VertexTrackerBarrel_rmax" value="200.0*mm"/>
<constant name="VertexTrackerBarrel_length" value="300.0*mm"/>
<constant name="VertexTrackerBarrel_zmax" value="VertexTrackerBarrel_length/2.0"/>
<constant name="VertexTrackerEndcapP_rmax" value="VertexTrackerBarrel_rmax"/>
<constant name="VertexTrackerEndcapN_rmax" value="VertexTrackerBarrel_rmax"/>
<constant name="VertexTrackerEndcapP_rmin" value="Beampipe_rmax + 1.0*mm"/>
<constant name="VertexTrackerEndcapN_rmin" value="Beampipe_rmax + 1.0*mm"/>
<constant name="VertexTrackerEndcapP_zmax" value="300.0*mm"/>
<constant name="VertexTrackerEndcapN_zmax" value="300.0*mm"/>
<documentation> <documentation>
### Vertex Tracking Region ### Vertex Tracking Region
</documentation> </documentation>
<constant name="VertexTrackingRegion_length" value="VertexTrackerEndcapP_zmax + VertexTrackerEndcapN_zmax "/> <constant name="VertexTrackingRegion_rmin" value="Beampipe_rmax + 1.0*mm" />
<constant name="VertexTrackingRegion_zmax" value="VertexTrackerEndcapP_zmax"/> <constant name="VertexTrackingRegion_rmax" value="100.0*mm" />
<constant name="VertexTrackingRegion_rmax" value="VertexTrackerBarrel_rmax"/> <constant name="VertexTrackingRegionP_zmax" value="240.0*mm" />
<constant name="VertexTrackingRegionN_zmax" value="240.0*mm" />
<constant name="VertexTrackingRegion_length" value="VertexTrackingRegionP_zmax + VertexTrackingRegionN_zmax" />
<documentation> <documentation>
### Tracker Detector Parameters ### Central Tracking Region
TrackerBarrel_rmax: also the rmin for the barrel PID system (DIRC) TrackerBarrel_rmax: also the rmin for the barrel PID system (DIRC)
Note: The barrel rmax and endcap lengths are the maximum extent allowed for Note: The barrel rmax and endcap lengths are the maximum extent allowed for
the barrel and endcap layers, not the position of the final layer. the barrel and endcap layers, not the position of the final layer.
</documentation>
<constant name="TrackerBarrel_rmin" value="VertexTrackingRegion_rmax"/>
<constant name="TrackerBarrel_rmax" value="95.*cm"/>
<constant name="TrackerBarrel_thickness" value="TrackerBarrel_rmax-TrackerBarrel_rmin"/>
<constant name="TrackerBarrel_length" value="VertexTrackingRegion_length + 1150.0*mm"/> </documentation>
<constant name="TrackerBarrel_zmax" value="TrackerBarrel_length/2.0"/>
<constant name="TrackerBarrelInside_length" value="VertexTrackingRegion_length"/> <constant name="CentralTrackingRegion_rmax" value="950.0*mm" />
<constant name="TrackerBarrelInside_zmax" value="TrackerBarrelInside_length/2.0"/> <constant name="CentralTrackingRegionP_zmax" value="1700.0*mm" />
<constant name="TrackerEndcapP_length" value="1025.0*mm"/> <constant name="CentralTrackingRegionN_zmax" value="1500.0*mm" />
<constant name="TrackerEndcapN_length" value="495.0*mm"/> <constant name="CentralTrackingRegion_length" value="CentralTrackingRegionP_zmax + CentralTrackingRegionN_zmax" />
<comment>
tan(theta) to determine rmin in the outer tracking region (due to tapered beampipe)
</comment>
<constant name="CentralTrackingBarrel_tan" value="Eta1_1_tan" />
<constant name="CentralTrackingRegionP_tan" value="Eta3_7_tan * 1.00" />
<constant name="CentralTrackingRegionN_tan" value="Eta4_0_tan * 0.99" />
<documentation level="0"> <documentation level="0">
### PID Detector Region Parameters ### PID Detector Region Parameters
</documentation> </documentation>
<constant name="ForwardPID_length" value="140.0*cm"/> <comment> Global PID regions with suballocations for TOF and RICH detectors </comment>
<constant name="ForwardPID_rmin1" value="Beampipe_rmax + 90*mm"/> <constant name="ForwardPIDRegion_zmin" value="CentralTrackingRegionP_zmax" />
<constant name="ForwardPID_rmin2" value="18.0*cm"/> <constant name="ForwardPIDRegion_length" value="160.0*cm" />
<comment> Forward TOF region currenlty empty for future upgrades </comment>
<constant name="ForwardTOFRegion_zmin" value="ForwardPIDRegion_zmin" />
<constant name="ForwardTOFRegion_length" value="20.0*cm" />
<constant name="ForwardTOFRegion_rmax" value="CentralTrackingRegion_rmax" />
<constant name="ForwardTOFRegion_tan" value="CentralTrackingRegionP_tan" />
<comment> Forward RICH region </comment>
<constant name="ForwardRICHRegion_zmin" value="ForwardTOFRegion_zmin + ForwardTOFRegion_length" />
<constant name="ForwardRICHRegion_length" value="ForwardPIDRegion_length - ForwardTOFRegion_length" />
<comment> tangent of the opening angle at the front and back of the RICH </comment>
<constant name="ForwardRICHRegion_tan1" value="CentralTrackingRegionP_tan * 0.88" />
<constant name="ForwardRICHRegion_tan2" value="Eta3_6_tan * 0.89" />
<constant name="BackwardPIDRegion_zmin" value="CentralTrackingRegionN_zmax" />
<constant name="BackwardPIDRegion_length" value="60.0*cm" />
<constant name="BackwardPIDRegion_rmax" value="CentralTrackingRegion_rmax" />
<constant name="BackwardPIDRegion_tan" value="CentralTrackingRegionN_tan * 0.92" />
<comment> Backward RICH region </comment>
<constant name="BackwardRICHRegion_zmin" value="BackwardPIDRegion_zmin" />
<constant name="BackwardRICHRegion_length" value="58.0*cm" />
<comment> Backward TOF region, currently empty for upgrades </comment>
<constant name="BackwardTOFRegion_zmin" value="BackwardRICHRegion_zmin + BackwardRICHRegion_length" />
<constant name="BackwardTOFRegion_length" value="BackwardPIDRegion_length - BackwardRICHRegion_length" />
<comment> Note: PID has space for DIRC, ExtraSpace sits past the PID</comment>
<constant name="BarrelPIDRegion_thickness" value="8.0 * cm" />
<constant name="BarrelExtraSpace_thickness" value="0.0 * cm" />
<constant name="BackwardPID_length" value="40.0*cm"/> <documentation>
<constant name="BackwardPID_rmax" value="TrackerBarrel_rmax"/> ## Forward/backward tracking region behind the PID detectors
</documentation>
<comment> Note: PID has space for DIRC, ExtraSpace has room for other detectors past the PID</comment> <constant name="BackwardTrackingRegion_tan" value="CentralTrackingRegionN_tan" />
<constant name="BarrelPIDThickness" value="8.0 * cm"/> <constant name="BackwardTrackingRegion_zmin" value="BackwardPIDRegion_zmin + BackwardPIDRegion_length" />
<constant name="BarrelExtraSpaceThickness" value="0.0 * cm"/> <constant name="ForwardTrackingRegion_tan" value="ForwardRICHRegion_tan2" />
<constant name="ForwardTrackingRegion_zmin" value="ForwardPIDRegion_zmin + ForwardPIDRegion_length" />
<constant name="ForwardTrackingRegion_length" value="10.0*cm" />
<constant name="BackwardTrackingRegion_length" value="0.0*cm" />
<documentation level="0"> <comment> Total length of the endcap detectors in front of the calorimeter</comment>
### Extra tracking region behind the endcap PID system <constant name="BackwardInnerEndcapRegion_length" value="BackwardPIDRegion_length + BackwardTrackingRegion_length"/>
</documentation> <constant name="ForwardInnerEndcapRegion_length" value="ForwardPIDRegion_length + ForwardTrackingRegion_length"/>
<constant name="ForwardTracking_length" value="5.0*cm"/>
<constant name="BackwardTracking_length" value="8.0*cm"/>
<documentation> <documentation>
## Service gaps ## Service gaps
...@@ -391,43 +483,34 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc ...@@ -391,43 +483,34 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc
<constant name="ForwardServiceGap_length" value="10.0*cm"/> <constant name="ForwardServiceGap_length" value="10.0*cm"/>
<constant name="BackwardServiceGap_length" value="10.0*cm"/> <constant name="BackwardServiceGap_length" value="10.0*cm"/>
<documentation>
## Central tracking and PID detector boundaries
</documentation>
<constant name="CentralTracking_rmax" value="TrackerBarrel_rmax"/>
<constant name="CentralTracking_length" value="TrackerBarrel_length + TrackerEndcapP_length + TrackerEndcapN_length"/>
<constant name="BackwardPID_zmin" value="TrackerBarrel_length/2. + TrackerEndcapN_length"/>
<constant name="ForwardPID_zmin" value="TrackerBarrel_length/2. + TrackerEndcapP_length"/>
<constant name="BackwardTracking_zmin" value="BackwardPID_zmin + BackwardPID_length"/>
<constant name="ForwardTracking_zmin" value="ForwardPID_zmin + ForwardPID_length"/>
<comment> Total length of the endcap detectors in front of the calorimeter</comment>
<constant name="BackwardInnerEndcap_length" value="BackwardPID_length + BackwardTracking_length"/>
<constant name="ForwardInnerEndcap_length" value="ForwardPID_length + ForwardTracking_length"/>
<documentation level="3"> <documentation level="3">
## Calorimeter Parameters ## Calorimeter Parameters
</documentation> </documentation>
<constant name="CaloSides" value="12"/> <constant name="CaloSides" value="12"/>
<constant name="EcalEndcapP_zmin" value="ForwardPID_zmin + ForwardInnerEndcap_length + ForwardServiceGap_length"/> <constant name="EcalEndcapP_zmin" value="ForwardPIDRegion_zmin + ForwardInnerEndcapRegion_length + ForwardServiceGap_length" />
<constant name="EcalEndcapP_length" value="40*cm"/> <constant name="EcalEndcapP_length" value="30*cm" />
<constant name="EcalEndcapP_rmin" value="200.0*mm"/> <constant name="EcalEndcapP_rmin" value="200.0*mm" />
<constant name="EcalEndcapP_rmax" value="Solenoid_rmax "/> <comment> extra 50cm rmax that "protrudes" into the HCAL</comment>
<constant name="EcalEndcapP_rmax" value="floor(Eta1_1_tan * EcalEndcapP_zmin)"/>
<constant name="EcalEndcapN_zmin" value="max(BackwardPID_zmin + BackwardInnerEndcap_length, SolenoidBackward_zmax)"/>
<constant name="EcalEndcapN_length" value="60*cm"/> <constant name="EcalEndcapN_zmin" value="BackwardPIDRegion_zmin + BackwardInnerEndcapRegion_length"/>
<constant name="EcalEndcapN_rmin" value="max((EcalEndcapN_zmin + EcalEndcapN_length) * tan(abs(CrossingAngle)) + 12.5 * mm, 5*cm)"/> <constant name="EcalEndcapN_length" value="60*cm" />
<constant name="EcalEndcapN_rmax" value="TrackerBarrel_rmax"/> <comment>
rmin1: rmin round electron pipe (ignoring the hadron pipe)
<constant name="EcalBarrelEnvelope_thickness" value="45.0*cm"/> rmin2: rmin around both beam pipes
<constant name="EcalBarrel_rmin" value="CentralTracking_rmax + BarrelPIDThickness + BarrelExtraSpaceThickness"/> </comment>
<constant name="EcalBarrelForward_length" value="-20*cm"/> <constant name="EcalEndcapN_rmin1" value="Eta4_6_tan * EcalEndcapN_zmin" />
<constant name="EcalBarrelForward_zmax" value="ForwardPID_zmin + EcalBarrelForward_length"/> <constant name="EcalEndcapN_rmin2" value="Eta4_1_tan * EcalEndcapN_zmin" />
<constant name="EcalBarrelBackward_zmax" value="BackwardPID_zmin + BackwardInnerEndcap_length + EcalEndcapN_length"/> <constant name="EcalEndcapN_rmax" value="CentralTrackingRegion_rmax" />
<constant name="EcalBarrelRegion_thickness" value="45.0*cm"/>
<constant name="EcalBarrel_rmin" value="CentralTrackingRegion_rmax + BarrelPIDRegion_thickness + BarrelExtraSpace_thickness"/>
<constant name="EcalBarrelForward_zmax" value="SolenoidForward_zmax"/>
<constant name="EcalBarrelBackward_zmax" value="EcalEndcapN_zmin + 30*cm"/>
<constant name="EcalBarrel_length" value="EcalBarrelForward_zmax + EcalBarrelBackward_zmax"/> <constant name="EcalBarrel_length" value="EcalBarrelForward_zmax + EcalBarrelBackward_zmax"/>
<constant name="EcalBarrel_offset" value="(EcalBarrelForward_zmax - EcalBarrelBackward_zmax)/2.0"/> <constant name="EcalBarrel_offset" value="(EcalBarrelForward_zmax - EcalBarrelBackward_zmax)/2.0"/>
<constant name="EcalBarrelReadout_length" value="20*cm"/>
<documentation level="3"> <documentation level="3">
...@@ -435,31 +518,32 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc ...@@ -435,31 +518,32 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc
</documentation> </documentation>
<constant name="DIRCReadout_length" value="30*cm"/> <constant name="DIRCReadout_length" value="30*cm"/>
<constant name="DIRCForward_length" value="0*cm"/> <constant name="DIRCForward_length" value="0*cm"/>
<constant name="DIRCForward_zmax" value="ForwardPID_zmin + DIRCForward_length"/> <constant name="DIRCForward_zmax" value="EcalBarrelForward_zmax "/>
<constant name="DIRCBackward_zmax" value="BackwardPID_zmin + BackwardInnerEndcap_length + EcalEndcapN_length + DIRCReadout_length"/> <constant name="DIRCBackward_zmax" value="EcalBarrelBackward_zmax + EcalBarrelReadout_length +DIRCReadout_length "/>
<constant name="DIRC_length" value="DIRCForward_zmax + DIRCBackward_zmax"/> <constant name="DIRC_length" value="DIRCForward_zmax + DIRCBackward_zmax"/>
<constant name="DIRC_offset" value="(DIRCForward_zmax - DIRCBackward_zmax)/2"/> <constant name="DIRC_offset" value="(DIRCForward_zmax - DIRCBackward_zmax)/2"/>
<constant name="DIRC_rmin" value="TrackerBarrel_rmax"/> <constant name="DIRC_rmin" value="CentralTrackingRegion_rmax"/>
<constant name="DIRC_rmax" value="DIRC_rmin + BarrelPIDThickness"/> <constant name="DIRC_rmax" value="DIRC_rmin + BarrelPIDRegion_thickness"/>
<documentation> <documentation>
## Hadronic Calorimeter Parameters ## Hadronic Calorimeter Parameters
</documentation> </documentation>
<constant name="HcalEndcapP_zmin" value="max(EcalEndcapP_zmin + EcalEndcapP_length, Solenoid_length / 2.0 + Solenoid_offset) "/> <constant name="HcalEndcapP_zmin" value="EcalEndcapP_zmin + EcalEndcapP_length"/>
<constant name="HcalEndcapP_length" value="120.0*cm"/> <constant name="HcalEndcapP_length" value="120.0*cm"/>
<comment> HcalEndcapP needs to clear the expanding beampipe with 2 * crossing angle + its radius of BeampipeOD / 2</comment> <comment> HcalEndcapP needs to clear the expanding beampipe with 2 * crossing angle + its radius of BeampipeOD / 2</comment>
<constant name="HcalEndcapP_rmin" value="max((HcalEndcapP_zmin + HcalEndcapP_length) * tan(2.0 * abs(CrossingAngle)) + BeampipeOD / 2.0, 15 * cm)"/> <constant name="HcalEndcapP_rmin" value="max((HcalEndcapP_zmin + HcalEndcapP_length) * tan(2.0 * abs(CrossingAngle)) + BeampipeOD / 2.0, 15 * cm)"/>
<constant name="HcalEndcapN_zmin" value="DIRCBackward_zmax + BackwardServiceGap_length"/> <constant name="HcalEndcapN_zmin" value="max(DIRCBackward_zmax + BackwardServiceGap_length, 355*cm)"/>
<constant name="HcalEndcapN_length" value="105.0*cm"/> <constant name="HcalEndcapN_length" value="105.0*cm"/>
<comment> HcalEndcapN needs to clear the straight beampipe with 1 * crossing angle + its radius of 22.25 mm </comment> <comment> HcalEndcapN needs to clear the straight beampipe with 1 * crossing angle + its radius of 22.25 mm </comment>
<constant name="HcalEndcapN_rmin" value="max((HcalEndcapN_zmin + HcalEndcapN_length) * tan(abs(CrossingAngle)) + 22.25 * mm, 11 * cm)"/> <constant name="HcalEndcapN_rmin" value="max((HcalEndcapN_zmin + HcalEndcapN_length) * tan(abs(CrossingAngle)) + 22.25 * mm, 11 * cm)"/>
<constant name="HcalBarrel_thickness" value="100.0*cm "/> <constant name="HcalBarrel_thickness" value="100.0*cm "/>
<constant name="HcalBarrel_rmin" value="Solenoid_rmax"/> <constant name="HcalBarrel_rmin" value="max(Solenoid_rmax, 230*cm)"/>
<constant name="HcalBarrel_rmax" value="HcalBarrel_rmin + HcalBarrel_thickness"/> <constant name="HcalBarrel_rmax" value="HcalBarrel_rmin + HcalBarrel_thickness"/>
<constant name="HcalBarrel_length" value="HcalEndcapP_zmin + HcalEndcapN_zmin "/> <constant name="HcalBarrelForward_zmax" value="HcalEndcapP_zmin - ForwardServiceGap_length - EcalEndcapP_length"/>
<constant name="HcalBarrelBackward_zmax" value="HcalEndcapN_zmin - BackwardServiceGap_length"/>
<comment> <comment>
These are used by ddsim, the region where we store all secondaries These are used by ddsim, the region where we store all secondaries
......
...@@ -10,16 +10,46 @@ ...@@ -10,16 +10,46 @@
<comment> <comment>
Tracking Visualizations Tracking Visualizations
</comment> </comment>
<vis name="TrackerVis" ref="AnlRed" /> <vis name="TrackerVis" ref="AnlRed" />
<vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="true" /> <vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="true" />
<vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" /> <vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" /> <vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" />
<vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="false" />
<comment> Visualization for Barrel MMGAS (apply to layers) and GEM endcap (apply to modules) </comment>
<vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="AnlBlue" showDaughters="false" /> <vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" />
<vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="true" /> <vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" /> <vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" />
<vis name="TOFVis" ref="AnlGreen" showDaughters="true" /> <vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/>
<vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/>
<comment> By default don't display the barrel module details </comment>
<vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<comment> extra detailed vizualizations for the barrel </comment>
<vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/>
<vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/>
<vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> For shielded modules by default just display to module instead of 6 layers </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="false" />
<comment> <comment>
ECal Vis ECal Vis
...@@ -39,6 +69,12 @@ ...@@ -39,6 +69,12 @@
<vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/> <vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/>
<vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/>
<vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/>
<vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/>
<comment> <comment>
HCal Vis HCal Vis
</comment> </comment>
...@@ -51,10 +87,15 @@ ...@@ -51,10 +87,15 @@
<vis name="HcalSensorVis" ref="AnlBlue" showDaughters="false" visible="false"/> <vis name="HcalSensorVis" ref="AnlBlue" showDaughters="false" visible="false"/>
<vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="false" visible="false"/> <vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="false" visible="false"/>
<comment>
Passive steel for flux return
</comment>
<vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<comment> <comment>
Solenoid Solenoid
</comment> </comment>
<vis name="SolenoidCoilVis" ref="AnlLight_Gray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" /> <vis name="SolenoidCoilVis" ref="AnlLightGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" ref="AnlGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" /> <vis name="SolenoidCryostatVis" ref="AnlGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" ref="AnlLight_Gray" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" /> <vis name="SolenoidYokeVis" ref="AnlLight_Gray" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
...@@ -72,23 +113,23 @@ ...@@ -72,23 +113,23 @@
<vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/> <vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<comment> <comment>
Beam line Beam line with magnets
</comment>
<vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/>
<vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/>
<comment>
ZDC visualization
</comment>
<vis name="ffi_ZDC_ECAL_Vis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" ref="AnlBlue" showDaughters="true" visible="true"/>
<comment>
PID visualization
</comment> </comment>
<vis name="BeamPipeVis" ref="AnlLight_Gray" showDaughters="true" visible="true"/>
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_Vis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" alpha="1.0" r= "0.1" g="1.0" b="0.9" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_CTDVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_CTD_Si_layerVis" alpha="1.0" r= "0.9" g="1.0" b="0.1" showDaughters="true" visible="true"/>
<vis name="ce_GEMVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_GEM_layerVis" alpha="0.8" r= "0.8" g="0.4" b="0.3" showDaughters="true" visible="true"/>
<vis name="cb_VTX_BarrelVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_VTX_Barrel_layerVis" alpha="2.0" r= "0.0" g="0.2" b="0.8" showDaughters="true" visible="true"/>
<vis name="ci_GEMVis" r= "0.8" g="0.4" b="0.3" alpha="0.8" showDaughters="true" visible="true"/>
<vis name="ci_HCALVis" r= "0.6" g="0" b="0.6" alpha="1.0" showDaughters="true" visible="true"/>
<vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_gas_vis" ref="AnlGreen" alpha="0.5" showDaughters="true" visible="true" /> <vis name="DRICH_gas_vis" ref="AnlGreen" alpha="0.5" showDaughters="true" visible="true" />
...@@ -96,12 +137,15 @@ ...@@ -96,12 +137,15 @@
<vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" /> <vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
<vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_sensor_vis" ref="AnlBlue" showDaughters="true" visible="true" /> <vis name="DRICH_sensor_vis" ref="AnlBlue" showDaughters="true" visible="true" />
<vis name="PFRICH_sensor_vis" ref="AnlBlue" showDaughters="true" visible="true" />
<vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" /> <vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" /> <vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" />
</display> </display>
<comment> <comment>
......
...@@ -11,42 +11,83 @@ ...@@ -11,42 +11,83 @@
<comment> <comment>
Tracking Visualizations Tracking Visualizations
</comment> </comment>
<vis name="TrackerSupportVis" ref="AnlBlue" showDaughters="false" /> <vis name="TrackerVis" ref="AnlRed" />
<vis name="TrackerLayerVis" ref="AnlTeal" visible="true" showDaughters="true" /> <vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" /> <vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="VertexSupportVis" ref="AnlBlue" showDaughters="false" /> <vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="VertexLayerVis" ref="AnlTeal" visible="true" showDaughters="true" /> <vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" /> <comment> Layer-based visualization for MPGD detectors as it looks better </comment>
<vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="TOFVis" ref="AnlGreen" showDaughters="true" /> <vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/>
<vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/>
<vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/>
<vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/>
<vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> Display shielded modules in all their glory </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="true" />
<comment> <comment>
ECal Vis ECal Vis
</comment> </comment>
<vis name="EcalVis" ref="AnlGold" showDaughters="true" visible="true"/> <vis name="EcalBarrelLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapVis" ref="AnlGold" showDaughters="false" visible="true"/> <vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="true" visible="false" />
<vis name="EcalBarrelVis" ref="AnlGold" showDaughters="false" visible="true"/> <vis name="EcalBarrelStaveVis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="EcalBarrelStaveVis" ref="AnlViolet" showDaughters="false" visible="true" />
<vis name="EcalBarrelEnvelopeVis" ref="AnlViolet" showDaughters="false" visible="true" />
<vis name="EcalBarrelSupportVis" ref="AnlOrange" showDaughters="false" visible="true"/>
<vis name="EcalBarrelLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="EcalBarrelSliceVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" /> <vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" />
<vis name="EcalBarrelSliceVis" ref="AnlGray"/>
<vis name="EcalBarrelSupportVis" ref="AnlOrange"/>
<vis name="EcalVis" ref="AnlGold" showDaughters="true" visible="false"/>
<vis name="EcalEndcapVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapBlockVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalEndcapNModuleVis" ref="AnlTeal" showDaughters="false" visible="true"/> <vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/>
<vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/>
<vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/>
<vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/>
<comment> <comment>
HCal Vis HCal Vis
</comment> </comment>
<vis name="HcalVis" ref="AnlViolet" showDaughters="true" visible="true"/> <vis name="HcalVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelVis" ref="AnlViolet" showDaughters="true" visible="true"/> <vis name="HcalBarrelVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalBarrelStaveVis" ref="AnlViolet" showDaughters="true" visible="true"/> <vis name="HcalBarrelStaveVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalBarrelLayerVis" ref="AnlViolet" showDaughters="false" visible="true"/> <vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalEndcapVis" ref="AnlViolet" showDaughters="true" visible="true"/> <vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalEndcapLayerVis" ref="AnlViolet" showDaughters="false" visible="true"/> <vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalSensorVis" ref="AnlBlue" showDaughters="false" visible="false"/> <vis name="HcalSensorVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalAbsorberVis" ref="AnlViolet" showDaughters="false" visible="false"/> <vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="true" visible="true"/>
<comment>
Passive steel for flux return
</comment>
<vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<comment> <comment>
Solenoid Solenoid
...@@ -59,43 +100,65 @@ ...@@ -59,43 +100,65 @@
<comment> <comment>
PID Detectors PID Detectors
</comment> </comment>
<vis name="RICHVis" ref="AnlViolet" showDaughters="true"/> <vis name="RICHVis" ref="AnlTeal" showDaughters="true"/>
<vis name="DIRCVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCLayerVis" ref="AnlTeal" showDaughters="false" visible="true"/>
<vis name="DIRCModuleVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCSupportVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<vis name="DIRCFrameVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<comment>
Beam line with magnets
</comment>
<vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/>
<vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/>
<comment>
ZDC visualization
</comment>
<vis name="ffi_ZDC_ECAL_Vis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" ref="AnlBlue" showDaughters="true" visible="true"/>
<comment> <comment>
Beam line PID visualization
</comment> </comment>
<vis name="BeamPipeVis" ref="AnlLight_Gray" showDaughters="true" visible="true"/>
<vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/> <vis name="DRICH_gas_vis" ref="AnlLightGray" alpha="0.2" showDaughters="true" visible="true" />
<vis name="ffi_ZDC_ECAL_Vis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/> <vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="ffi_ZDC_ECAL_module_Vis" alpha="1.0" r= "0.1" g="1.0" b="0.9" showDaughters="true" visible="true"/> <vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
<vis name="ffi_ZDC_HCAL_Vis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/> <vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="cb_CTDVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/> <vis name="DRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" />
<vis name="cb_CTD_Si_layerVis" alpha="1.0" r= "0.9" g="1.0" b="0.1" showDaughters="true" visible="true"/> <vis name="PFRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" />
<vis name="ce_GEMVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="cb_GEM_layerVis" alpha="0.8" r= "0.8" g="0.4" b="0.3" showDaughters="true" visible="true"/> <vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="cb_VTX_BarrelVis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/> <vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="cb_VTX_Barrel_layerVis" alpha="2.0" r= "0.0" g="0.2" b="0.8" showDaughters="true" visible="true"/> <vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="ci_GEMVis" r= "0.8" g="0.4" b="0.3" alpha="0.8" showDaughters="true" visible="true"/>
<vis name="ci_HCALVis" r= "0.6" g="0" b="0.6" alpha="1.0" showDaughters="true" visible="true"/> <vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" />
<comment> <comment>
Deprecated colors. Deprecated values used for IP6 vis
vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/
vis name="RedVis" alpha="0.2" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/
vis name="RPVis" alpha="0.99" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/
vis name="RPLayerVis" alpha="0.99" r= "0.0" g="0.7" b="0.3" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" /
vis name="BlueVis" alpha="1.0" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/
vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/
vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/
vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/
vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/
vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/
vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/
vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/
vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/
vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/
</comment> </comment>
<vis name="GreenVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="RedVis" ref="AnlRed" showDaughters="true" visible="true"/>
<vis name="RPVis" ref="AnlDelta_Red" showDaughters="true" visible="true"/>
<vis name="RPLayerVis" ref="AnlTeal" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="BlueVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="OrangeVis" ref="AnlOrange" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
<vis name="AnlRed_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
</display> </display>
...@@ -11,23 +11,49 @@ ...@@ -11,23 +11,49 @@
Tracking Visualizations Tracking Visualizations
</comment> </comment>
<vis name="TrackerVis" ref="AnlRed" /> <vis name="TrackerVis" ref="AnlRed" />
<vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="true" /> <vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" /> <vis name="TrackerLayerVis" ref="AnlGray" visible="true" showDaughters="true" />
<vis name="TrackerSubassemblyVis" ref="TrackerLayerVis"/>
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" /> <vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="true" />
<vis name="VertexSupportVis" ref="AnlBlue" visible="true" showDaughters="true" /> <comment> Simple visualization for Barrel MMGAS (apply to layers) and GEM endcap (apply to modules) for better performance </comment>
<vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="true" /> <vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" /> <vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" />
<vis name="TOFVis" ref="AnlTeal" showDaughters="true" visible="true"/> <vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" />
<vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="true" />
<vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/>
<vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/>
<vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/>
<vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/>
<vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/>
<vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/>
<vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/>
<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> For shielded modules by default just display to module instead of 6 layers </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="false" />
<comment> <comment>
ECal Vis ECal Vis
</comment> </comment>
<vis name="EcalBarrelLayerVis" ref="AnlGold"/> <vis name="EcalBarrelLayerVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="true" visible="false" /> <vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="true" visible="false" />
<vis name="EcalBarrelStaveVis" ref="AnlOrange" showDaughters="true" visible="false" /> <vis name="EcalBarrelStaveVis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" /> <vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" />
<vis name="EcalBarrelSliceVis" ref="AnlGray"/> <vis name="EcalBarrelSliceVis" ref="AnlGray"/>
<vis name="EcalBarrelSupportVis" ref="AnlOrange"/> <vis name="EcalBarrelSupportVis" ref="AnlOrange"/>
...@@ -39,6 +65,12 @@ ...@@ -39,6 +65,12 @@
<vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/> <vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/>
<vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/>
<vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/>
<vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/>
<vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/>
<comment> <comment>
HCal Vis HCal Vis
</comment> </comment>
...@@ -48,9 +80,14 @@ ...@@ -48,9 +80,14 @@
<vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/> <vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/> <vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/>
<vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/> <vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalSensorVis" ref="AnlBlue" showDaughters="true" visible="true"/> <vis name="HcalSensorVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="true" visible="true"/> <vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="true" visible="true"/>
<comment>
Passive steel for flux return
</comment>
<vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<comment> <comment>
Solenoid Solenoid
</comment> </comment>
...@@ -72,26 +109,38 @@ ...@@ -72,26 +109,38 @@
<vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/> <vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/>
<comment> <comment>
Beam line Beam line with magnets
</comment> </comment>
<vis name="BeamPipeVis" ref="AnlLight_Gray" showDaughters="true" visible="true"/> <vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/>
<vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_Vis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/> <comment>
<vis name="ffi_ZDC_ECAL_module_Vis" alpha="1.0" r= "0.1" g="1.0" b="0.9" showDaughters="true" visible="true"/> ZDC visualization
<vis name="ffi_ZDC_HCAL_Vis" alpha="0.1" r= "0.1" g="0.0" b="1.0" showDaughters="true" visible="true"/> </comment>
<vis name="ffi_ZDC_ECAL_Vis" ref="AnlGreen" showDaughters="true" visible="true"/>
<vis name="ffi_ZDC_ECAL_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="ffi_ZDC_HCAL_Vis" ref="AnlBlue" showDaughters="true" visible="true"/>
<comment>
PID visualization
</comment>
<vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_gas_vis" ref="AnlGreen" alpha="0.5" showDaughters="true" visible="true" /> <vis name="DRICH_gas_vis" ref="AnlLightGray" alpha="0.2" showDaughters="true" visible="true" />
<vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" /> <vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" /> <vis name="DRICH_filter_vis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
<vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="DRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="DRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" /> <vis name="DRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" />
<vis name="PFRICH_sensor_vis" ref="AnlGreen" showDaughters="true" visible="true" /> <!-- invisible, to speedup graphics -->
<vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" /> <vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" />
<vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" /> <vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
<vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" /> <vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" />
<vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" />
<comment> <comment>
Deprecated values used for IP6 vis Deprecated values used for IP6 vis
......