From 17f8395a9673474ec2f3ff5eb78db5fa91c3f80b Mon Sep 17 00:00:00 2001 From: Sylvester Joosten <sjoosten@anl.gov> Date: Tue, 19 Oct 2021 04:49:42 +0000 Subject: [PATCH] Revert "Resolve "Implement new hybrid tracker"" This reverts commit e98b896ccbced11b45ec3739ae3ddee367b83771 --- .gitignore | 2 - .gitlab-ci.yml | 2 +- CMakeLists.txt | 1 - athena.xml | 72 +- compact/central_tracker.xml | 34 +- compact/central_tracker_hybrid_v2.xml | 1387 ----------------- compact/definitions.xml | 298 ++-- compact/display.xml | 7 +- compact/display_geoviewer.xml | 10 +- compact/drich.xml | 8 +- compact/ecal_barrel.xml | 2 +- compact/ecal_barrel_interlayers.xml | 2 +- compact/gem_tracker_endcap.xml | 14 +- compact/materials.xml | 19 - compact/mrich.xml | 6 +- compact/mrich_alt.xml | 6 +- compact/pid_config_canyonlands.xml | 8 - compact/subsystem_views/calorimeters.xml | 44 + compact/subsystem_views/inner_detector.xml | 69 +- .../subsystem_views/inner_tracking_only.xml | 242 +++ compact/subsystem_views/pid_only.xml | 67 +- compact/subsystem_views/tracking_only.xml | 68 +- compact/subsystem_views/vertex_only.xml | 66 +- compact/tracking_config_acadia.xml | 39 - compact/tracking_config_canyonlands.xml | 71 - compact/vertex_tracker.xml | 82 +- compact/vertex_tracker_3layers.xml | 185 --- src/CompositeTracker_geo.cpp | 65 - 28 files changed, 870 insertions(+), 2006 deletions(-) delete mode 100644 compact/central_tracker_hybrid_v2.xml delete mode 100644 compact/pid_config_canyonlands.xml create mode 100644 compact/subsystem_views/inner_tracking_only.xml delete mode 100644 compact/tracking_config_canyonlands.xml delete mode 100644 compact/vertex_tracker_3layers.xml delete mode 100644 src/CompositeTracker_geo.cpp diff --git a/.gitignore b/.gitignore index 96a61480..b0021875 100644 --- a/.gitignore +++ b/.gitignore @@ -25,5 +25,3 @@ ip6 fieldmaps manifest.txt -acts.txt -acts2.txt diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 84b89079..78f7d600 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -145,7 +145,7 @@ dump_geometry: for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do geo_name=`basename $xml .xml`_geo.root echo " - Subsystem view for `basename $xml .xml` at:" - echo " https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/${CI_JOB_ID}/artifacts/raw/geo/${geo_name}?job=dump_geometry&item=default;1&opt=clipxy;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=clipxyz;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all&" done detector_documentation: diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f12b924..0f58365a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,6 @@ dd4hep_add_plugin(${a_lib_name} SOURCES src/BarrelCalorimeterHybrid_geo.cpp src/BarrelCalorimeterInterlayers_geo.cpp src/BarrelTrackerWithFrame_geo.cpp - src/CompositeTracker_geo.cpp src/CylinderTrackerBarrel_geo.cpp src/DIRC_geo.cpp src/DRich_geo.cpp diff --git a/athena.xml b/athena.xml index 3c59a1e8..8ef1ae0c 100644 --- a/athena.xml +++ b/athena.xml @@ -102,18 +102,81 @@ </documentation> <include ref="compact/solenoid.xml"/> + <documentation level="5"> + ### Tracker subassemblies for ACTS + </documentation> + <detectors> + <detector id="VertexBarrelSubAssembly_ID" + name="VertexBarrelSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexBarrel" /> + </detector> + <detector id="VertexEndcapSubAssembly_ID" + name="VertexEndcapSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexEndcapN" /> + <composite name="VertexEndcapP" /> + </detector> + + <detector id="TrackerBarrelSubAssembly_Inner_ID" + name="TrackerBarrelSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Inner"/> + </detector> + <detector id="TrackerEndcapSubAssembly_Inner_ID" + name="TrackerEndcapSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerEndcapN_Inner"/> + <composite name="TrackerEndcapP_Inner"/> + </detector> + + <detector id="TrackerBarrelSubAssembly_Outer_ID" + name="TrackerSubAssembly_Outer" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Outer"/> + <composite name="TrackerEndcapP_Outer"/> + <composite name="TrackerEndcapN_Outer"/> + </detector> + + <comment> + TOF disabled for baseline + <detector id="OuterTrackingSubAssembly_ID" + name="OuterTrackingSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TOFSubAssemblyVis"> + <composite name="BarrelTOF"/> + <composite name="ForwardTOF"/> + <composite name="BackwardTOF"/> + </detector> + </comment> + + <detector id="OuterTrackingSubAssembly_ID" + name="OuterTrackingSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="SubAssemblyVis"> + <composite name="GEMTrackerEndcapP"/> + <composite name="GEMTrackerEndcapN"/> + </detector> + + </detectors> + <documentation level="10"> ## Central tracking detectors </documentation> - <!--include ref="compact/tracking_config_acadia.xml"/--> - <include ref="compact/tracking_config_canyonlands.xml"/> + <include ref="compact/tracking_config_acadia.xml"/> + + <!--include ref="compact/tracking_config_mgpds.xml"/--> <documentation level="10"> ### PID detectors </documentation> - <!--include ref="compact/pid_config_acadia.xml" /--> - <include ref="compact/pid_config_canyonlands.xml" /> + <include ref="compact/pid_config_acadia.xml" /> <documentation level="10"> ## Central calorimetry @@ -121,6 +184,7 @@ <include ref="compact/ecal.xml"/> <include ref="compact/hcal.xml"/> + <documentation level="11"> ## Far foward detectors </documentation> diff --git a/compact/central_tracker.xml b/compact/central_tracker.xml index d2ec6ce4..4170a378 100644 --- a/compact/central_tracker.xml +++ b/compact/central_tracker.xml @@ -27,10 +27,6 @@ total X0 0.24% per disk layer (4 sectors per disk): </documentation> <define> - <constant name="CentralTrackerSensor_thickness" value="40*um"/> - <constant name="TrackerCarbon_thickness" value="0.12*mm"/> - <constant name="TrackerEndcapAluminum_thickness" value="0.15*mm"/> - <comment> Layer_rOffset is used to add inside space so the _rmin value is the nominal sensor radius. TrackerBarrelSpaceFrame_height must be smaller than {_rmin2 - _rmin1 - Layer_rOffset - 1mm - stave_thickness} @@ -39,7 +35,7 @@ total X0 0.24% per disk layer (4 sectors per disk): <constant name="TrackerBarrelLayer_rOffset" value="0.5*cm"/> <constant name="TrackerBarrelSpaceFrame_width" value="4.0*cm"/> <constant name="TrackerBarrelSpaceFrame_height" value="1.0*cm"/> - <constant name="TrackerSensor_thickness" value="CentralTrackerSensor_thickness"/> + <constant name="TrackerSensor_thickness" value="ITS3Thickness"/> <constant name="TrackerBarrelInner_rmin1" value="21.0*cm"/> <constant name="TrackerBarrelInner_rmin2" value="22.68*cm"/> @@ -159,7 +155,7 @@ total X0 0.24% per disk layer (4 sectors per disk): </comment> <detector - id="TrackerBarrel_0_ID" + id="TrackerBarrel_Inner_ID" name="TrackerBarrel_Inner" type="athena_TrackerBarrel" readout="TrackerBarrelHits" @@ -223,7 +219,7 @@ total X0 0.24% per disk layer (4 sectors per disk): </detector> <detector - id="TrackerEndcapP_0_ID" + id="TrackerEndcapP_Inner_ID" name="TrackerEndcapP_Inner" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" @@ -245,7 +241,7 @@ total X0 0.24% per disk layer (4 sectors per disk): <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> @@ -264,7 +260,7 @@ total X0 0.24% per disk layer (4 sectors per disk): </detector> <detector - id="TrackerEndcapN_0_ID" + id="TrackerEndcapN_Inner_ID" name="TrackerEndcapN_Inner" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" @@ -286,7 +282,7 @@ total X0 0.24% per disk layer (4 sectors per disk): <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> @@ -310,7 +306,7 @@ total X0 0.24% per disk layer (4 sectors per disk): ----------------------------------- </comment> <detector - id="TrackerBarrel_1_ID" + id="TrackerBarrel_Outer_ID" name="TrackerBarrel_Outer" type="athena_TrackerBarrel" readout="TrackerBarrelHits" @@ -374,7 +370,7 @@ total X0 0.24% per disk layer (4 sectors per disk): </detector> <detector - id="TrackerEndcapP_1_ID" + id="TrackerEndcapP_Outer_ID" name="TrackerEndcapP_Outer" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" @@ -403,19 +399,19 @@ total X0 0.24% per disk layer (4 sectors per disk): <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> <module name="Module2" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> <module name="Module3" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> @@ -458,7 +454,7 @@ total X0 0.24% per disk layer (4 sectors per disk): </detector> <detector - id="TrackerEndcapN_1_ID" + id="TrackerEndcapN_Outer_ID" name="TrackerEndcapN_Outer" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" @@ -489,19 +485,19 @@ total X0 0.24% per disk layer (4 sectors per disk): <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> <module name="Module2" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> <module name="Module3" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/> - <module_component thickness="CentralTrackerSensor_thickness" material="Silicon" sensitive="true"/> + <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> diff --git a/compact/central_tracker_hybrid_v2.xml b/compact/central_tracker_hybrid_v2.xml deleted file mode 100644 index 76e2f935..00000000 --- a/compact/central_tracker_hybrid_v2.xml +++ /dev/null @@ -1,1387 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<lccdd> - <comment> - Master tracker parameters - </comment> - <define> - <comment> Main diagonal direction for barrel/endcap transitions </comment> - <constant name="TrackerMainDiagonal_tantheta" value="Eta1_1_tantheta"/> - - <comment> Outer tracker endcap radial limits (somewhat adjusted in the parametrization).</comment> - <constant name="TrackerEndcapP_tanthetamax" value="Eta3_8_tantheta"/> - <constant name="TrackerEndcapN_tanthetamax" value="Eta4_0_tantheta"/> - <constant name="TrackerForward_tanthetamax" value="Eta3_5_tantheta"/> - - <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 / TrackerMainDiagonal_tantheta - 0.5*cm - 2. * InnerTrackerBarrelCone_thickness" /> - <constant name="InnerTrackerBarrelMod2_length" value="2 * InnerTrackerBarrelMod2_rmin / TrackerMainDiagonal_tantheta - 0.5*cm - 2. * InnerTrackerBarrelCone_thickness" /> - <constant name="InnerTrackerBarrelServiceCone_rmin1" value="InnerTrackerBarrelCone_zmin * TrackerMainDiagonal_tantheta" /> - <constant name="InnerTrackerBarrelServiceCone_rmax1" value="InnerTrackerBarrelServiceCone_rmin1 + SiTrackerServiceConeAl_thickness" /> - <constant name="InnerTrackerBarrelServiceCone_rmin2" value="InnerTrackerBarrelCone_zmax * TrackerMainDiagonal_tantheta" /> - <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 * TrackerMainDiagonal_tantheta * 0.995, SiTrackerCyl_rmin)" /> - <constant name="InnerTrackerEndcapMod1_x1" value="2 * InnerTrackerEndcapMod1_rmin * sin(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 * TrackerMainDiagonal_tantheta * 0.995, SiTrackerCyl_rmin)" /> - <constant name="InnerTrackerEndcapMod2_x1" value="2 * InnerTrackerEndcapMod2_rmin * sin(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 * TrackerMainDiagonal_tantheta" /> - <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 / TrackerMainDiagonal_tantheta" /> - <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 / TrackerMainDiagonal_tantheta" /> - <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="TrackerEndcapHits" - 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="TrackerEndcapHits" - 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="MPGDTrackerBarrelHits" - 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 * TrackerMainDiagonal_tantheta * 0.995, SiTrackerCyl_rmin)" /> - <constant name="MedialTrackerEndcapPMod1_x1" value="2 * MedialTrackerEndcapPMod1_rmin * sin(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 * TrackerMainDiagonal_tantheta * 0.995, SiTrackerCyl_rmin)" /> - <constant name="MedialTrackerEndcapNMod1_x1" value="2 * MedialTrackerEndcapNMod1_rmin * sin(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 / TrackerMainDiagonal_tantheta" /> - <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="TrackerEndcapHits" - 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="TrackerEndcapHits" - 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="MPGDTrackerBarrelHits" - 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 * TrackerEndcapP_tanthetamax * 1.07" /> - <constant name="OuterTrackerEndcapPMod1_rmax" value="SiTrackerCyl_rmin" /> - <constant name="OuterTrackerEndcapPMod1_x1" value="2 * OuterTrackerEndcapPMod1_rmin * sin(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 * TrackerEndcapP_tanthetamax * 1.08" /> - <constant name="OuterTrackerEndcapPMod2_rmax" value="SiTrackerCyl_rmin" /> - <constant name="OuterTrackerEndcapPMod2_x1" value="2 * OuterTrackerEndcapPMod2_rmin * sin(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 * TrackerEndcapP_tanthetamax * 1.09" /> - <constant name="OuterTrackerEndcapPMod3_rmax" value="SiTrackerCyl_rmin" /> - <constant name="OuterTrackerEndcapPMod3_x1" value="2 * OuterTrackerEndcapPMod3_rmin * sin(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 * TrackerEndcapN_tanthetamax * 0.99" /> - <constant name="OuterTrackerEndcapNMod1_rmax" value="SiTrackerCyl_rmin" /> - <constant name="OuterTrackerEndcapNMod1_x1" value="2 * OuterTrackerEndcapNMod1_rmin * sin(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 * TrackerEndcapN_tanthetamax * 0.98" /> - <constant name="OuterTrackerEndcapNMod2_rmax" value="SiTrackerCyl_rmin" /> - <constant name="OuterTrackerEndcapNMod2_x1" value="2 * OuterTrackerEndcapNMod2_rmin * sin(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="TrackerEndcapHits" - 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="TrackerEndcapHits" - 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="CentralTrackingRegion_rmax - GEMFrameTopEdge_width * 1.3" /> - <constant name="GEMEndcapRingMod_x1" value="2 * GEMEndcapRingMod_rmin * sin(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 * sin(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 * TrackerForward_tanthetamax" /> - <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 * TrackerForward_tanthetamax + 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 * TrackerMainDiagonal_tantheta, 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="GEMTrackerEndcapHits" - 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> - <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="GEMEndcapPLayer1_zmin" /> - <layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/> - <ring - r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingModule" /> - <ring - r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingBotFrame" /> - <ring - r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingTopFrame" /> - <ring - r="GEMEndcapRingModSpoke_r" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="0" - phi0="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" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingModule" /> - <ring - r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingBotFrame" /> - <ring - r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingTopFrame" /> - <ring - r="GEMEndcapRingModSpoke_r" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="0" - phi0="GEMEndcapMod_angle/2" - module="RingSpoke" /> - </layer> - <layer id="3"> - <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> - <detector - id="TrackerEndcapN_3_ID" - name="GEMEndcapN" - type="athena_TrapEndcapTracker" - readout="GEMTrackerEndcapHits" - 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" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingModule" /> - <ring - r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingBotFrame" /> - <ring - r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingTopFrame" /> - <ring - r="GEMEndcapRingModSpoke_r" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="0" - phi0="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" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingModule" /> - <ring - r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingBotFrame" /> - <ring - r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="GEMEndcapMod_dz" - module="RingTopFrame" /> - <ring - r="GEMEndcapRingModSpoke_r" - zstart="0" - nmodules="GEMEndcapMod_count" - dz="0" - phi0="GEMEndcapMod_angle/2" - module="RingSpoke" /> - </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="TrackerEndcapHits"> - <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="MPGDTrackerBarrelHits"> - <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="GEMTrackerEndcapHits"> - <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> diff --git a/compact/definitions.xml b/compact/definitions.xml index 63d43c68..791ad094 100644 --- a/compact/definitions.xml +++ b/compact/definitions.xml @@ -50,92 +50,79 @@ The unused IDs below are saved for future use. <documentation> - #### (25-39) Silicon Vertex Tracker - - - Vertex subassemblies: 25-27 - - Vertex barrel and endcaps: 28-30 - - Unused: 28-30 + #### (25-49) Silicon Vertex Tracker + + - SiVertex subsystem ID: 25 + - Layer 1 subassembly ID: 26 + - Layer 2 subassembly ID: 27 + - Layer 3 subassembly ID: 28 + - Layer 4 subassembly ID: 29 + - Layer 5 subassembly ID: 30 </documentation> - <constant name="VertexSubAssembly_0_ID" value="25"/> - <constant name="VertexSubAssembly_1_ID" value="26"/> - <constant name="VertexSubAssembly_2_ID" value="27"/> - - <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"/> + <constant name="VertexBarrel_ID" value="25"/> + <constant name="VertexBarrelSubAssembly_ID" value="26"/> + <constant name="VertexEndcapSubAssembly_ID" value="27"/> + <constant name="VertexEndcapP_ID" value="30"/> + <constant name="VertexEndcapN_ID" value="40"/> <documentation> - - Unused IDs: 31-39 + - Unused IDs: 31-49 </documentation> <documentation> - #### (40-84) Tracker System + #### (50-74) Silicon Tracker System - - Tracker subassemblies: 40-45 - - Composite tracker systems: 46-57 - - Tracker detectors: 56-84 - Unused IDs: (77-79) + SiTracker subsystem ID: 50 + Layer 1 subassembly ID: 51 + Layer 2 subassembly ID: 52 + Layer 3 subassembly ID: 53 + Layer 4 subassembly ID: 54 + Layer 5 subassembly ID: 55 + (56-70) etc... + Unused IDs: 71-74 </documentation> - <comment> - SubAssembly IDs should increment from inner to outer - (it's not the definition order but rather the ID order that's used - for construction order in the ACTS geometry conversion) - </comment> - <constant name="TrackerSubAssembly_0_ID" value="40"/> - <constant name="TrackerSubAssembly_1_ID" value="41"/> - <constant name="TrackerSubAssembly_2_ID" value="42"/> - <constant name="TrackerSubAssembly_3_ID" value="43"/> - <constant name="TrackerSubAssembly_4_ID" value="44"/> - <constant name="TrackerSubAssembly_5_ID" value="45"/> - - <constant name="TrackerCompositeBarrel_0_ID" value="46"/> - <constant name="TrackerCompositeBarrel_1_ID" value="47"/> - <constant name="TrackerCompositeBarrel_2_ID" value="48"/> - <constant name="TrackerCompositeBarrel_3_ID" value="49"/> - <constant name="TrackerCompositeEndcapN_0_ID" value="50"/> - <constant name="TrackerCompositeEndcapN_1_ID" value="51"/> - <constant name="TrackerCompositeEndcapN_2_ID" value="52"/> - <constant name="TrackerCompositeEndcapN_3_ID" value="53"/> - <constant name="TrackerCompositeEndcapP_0_ID" value="54"/> - <constant name="TrackerCompositeEndcapP_1_ID" value="55"/> - <constant name="TrackerCompositeEndcapP_2_ID" value="56"/> - <constant name="TrackerCompositeEndcapP_3_ID" value="57"/> - - <constant name="TrackerBarrel_0_ID" value="58"/> - <constant name="TrackerBarrel_1_ID" value="59"/> - <constant name="TrackerBarrel_2_ID" value="60"/> - <constant name="TrackerBarrel_3_ID" value="61"/> - <constant name="TrackerBarrel_4_ID" value="62"/> - <constant name="TrackerBarrel_5_ID" value="63"/> - <constant name="TrackerBarrel_6_ID" value="64"/> - <constant name="TrackerBarrel_7_ID" value="65"/> - <constant name="TrackerBarrel_8_ID" value="66"/> - <constant name="TrackerEndcapN_0_ID" value="67"/> - <constant name="TrackerEndcapN_1_ID" value="68"/> - <constant name="TrackerEndcapN_2_ID" value="69"/> - <constant name="TrackerEndcapN_3_ID" value="70"/> - <constant name="TrackerEndcapN_4_ID" value="71"/> - <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"/> + <constant name="TrackerBarrelSubAssembly_Inner_ID" value="50"/> + <constant name="TrackerEndcapSubAssembly_Inner_ID" value="51"/> + + <constant name="TrackerBarrelSubAssembly_Outer_ID" value="52"/> + <constant name="TrackerEndcapSubAssembly_Outer_ID" value="53"/> + <constant name="OuterTrackingSubAssembly_ID" value="54"/> + + <!--constant name="TrackerSubAssemblyLayer4_ID" value="54"/--> + <!--constant name="TrackerSubAssemblyLayer5_ID" value="55"/--> + + <constant name="TrackerBarrel_Inner_ID" value="56"/> + <constant name="TrackerEndcapP_Inner_ID" value="57"/> + <constant name="TrackerEndcapN_Inner_ID" value="58"/> + + <constant name="TrackerBarrel_Outer_ID" value="59"/> + <constant name="TrackerEndcapP_Outer_ID" value="60"/> + <constant name="TrackerEndcapN_Outer_ID" value="61"/> + + <constant name="TrackerBarrel_Layer3_ID" value="62"/> + <constant name="TrackerEndcapP_Layer3_ID" value="63"/> + <constant name="TrackerEndcapN_Layer3_ID" value="64"/> + + <constant name="TrackerBarrel_Layer4_ID" value="65"/> + <constant name="TrackerEndcapP_Layer4_ID" value="66"/> + <constant name="TrackerEndcapN_Layer4_ID" value="67"/> + + <constant name="TrackerBarrel_Layer5_ID" value="68"/> + <constant name="TrackerEndcapP_Layer5_ID" value="69"/> + <constant name="TrackerEndcapN_Layer5_ID" value="70"/> + + <documentation> + #### (75-84) Barrel Tracker IDs + + - MMTrackerBarrel ID: 75 + - RWellTrackerBarrel ID: 76 + - Unused IDs: 77-89 + + </documentation> + <constant name="MMTrackerBarrel_ID" value="75"/> + <constant name="RWellTrackerBarrel_ID" value="76"/> <documentation> #### (85-99) Reserved IDs @@ -193,27 +180,30 @@ The unused IDs below are saved for future use. <documentation> #### (120-129) (near) Forward reserved - - Forward RICH ID: 120 - - Forward TRD ID: 121 - - Forward TOF ID: 122 + - Forwardtracking ID: 120 + - Forward RICH ID: 121 + - Unused IDs: 124-129 </documentation> - <constant name="ForwardRICH_ID" value="120"/> - <constant name="ForwardTRD_ID" value="121"/> - <constant name="ForwardTOF_ID" value="122"/> + <constant name="ForwardTracking_ID" value="120"/> + <constant name="ForwardRICH_ID" value="121"/> + <!--constant name="UNUSED" 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> #### (130-139) Backward reserved - Modular RICH ID: 130 - - Backward RICH ID: 131 - - Backward TOD ID: 132 - - Unused IDs: 133-139 + - Electron Endcap GEM tracking ID: 131 + - Unused IDs: 132-139 </documentation> - <constant name="MRICH_ID" value="130"/> - <constant name="BackwardRICH_ID" value="131"/> - <constant name="BackwardTOF_ID" value="132"/> + <constant name="MRICH_ID" value="130"/> + <!--constant name="UNUSED" value="131"/--> <documentation> #### (140-149) Central Magnet @@ -298,17 +288,6 @@ Examples: </documentation> - <documentation> - ## Rapidity constants - </documentation> - <constant name="Eta1_1_tantheta" value="tan(2*atan(exp(-1.1)))" /> - <constant name="Eta1_4_tantheta" value="tan(2*atan(exp(-1.4)))" /> - <constant name="Eta3_5_tantheta" value="tan(2*atan(exp(-3.5)))" /> - <constant name="Eta3_8_tantheta" value="tan(2*atan(exp(-3.8)))" /> - <constant name="Eta4_0_tantheta" value="tan(2*atan(exp(-4.0)))" /> - - <comment>Solenoid option</comment> - <documentation> ## Solenoid Magnet Parameters @@ -341,56 +320,68 @@ Examples: </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> ### Vertex Tracking Region </documentation> - <constant name="VertexTrackingRegion_rmin" value="Beampipe_rmax + 1.0*mm" /> - <constant name="VertexTrackingRegion_rmax" value="100.0*mm" /> - <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" /> + <constant name="VertexTrackingRegion_length" value="VertexTrackerEndcapP_zmax + VertexTrackerEndcapN_zmax "/> + <constant name="VertexTrackingRegion_zmax" value="VertexTrackerEndcapP_zmax"/> + <constant name="VertexTrackingRegion_rmax" value="VertexTrackerBarrel_rmax"/> <documentation> - ### Central Tracker Region + ### Tracker Detector Parameters TrackerBarrel_rmax: also the rmin for the barrel PID system (DIRC) 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. </documentation> - <constant name="CentralTrackingRegion_rmax" value="950.0*mm" /> - <constant name="CentralTrackingRegionP_zmax" value="1900.0*mm" /> - <constant name="CentralTrackingRegionN_zmax" value="1370.0*mm" /> - <constant name="CentralTrackingRegion_length" value="CentralTrackingRegionP_zmax + CentralTrackingRegionN_zmax" /> + <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"/> + <constant name="TrackerBarrel_zmax" value="TrackerBarrel_length/2.0"/> + <constant name="TrackerBarrelInside_length" value="VertexTrackingRegion_length"/> + <constant name="TrackerBarrelInside_zmax" value="TrackerBarrelInside_length/2.0"/> + <constant name="TrackerEndcapP_length" value="1025.0*mm"/> + <constant name="TrackerEndcapN_length" value="495.0*mm"/> <documentation level="0"> ### PID Detector Region Parameters </documentation> - <constant name="ForwardPIDRegion_zmin" value="CentralTrackingRegionP_zmax" /> - <constant name="ForwardPIDRegion_length" value="140.0*cm" /> - <constant name="ForwardPIDRegion_rmin1" value="Beampipe_rmax + 90*mm" /> - <constant name="ForwardPIDRegion_rmin2" value="18.0*cm" /> + <constant name="ForwardPID_length" value="140.0*cm"/> + <constant name="ForwardPID_rmin1" value="Beampipe_rmax + 90*mm"/> + <constant name="ForwardPID_rmin2" value="18.0*cm"/> - <constant name="BackwardPIDRegion_zmin" value="CentralTrackingRegionN_zmax" /> - <constant name="BackwardPIDRegion_length" value="40.0*cm" /> - <constant name="BackwardPIDRegion_rmax" value="CentralTrackingRegion_rmax" /> + <constant name="BackwardPID_length" value="40.0*cm"/> + <constant name="BackwardPID_rmax" value="TrackerBarrel_rmax"/> - <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" /> + <comment> Note: PID has space for DIRC, ExtraSpace has room for other detectors past the PID</comment> + <constant name="BarrelPIDThickness" value="8.0 * cm"/> + <constant name="BarrelExtraSpaceThickness" value="0.0 * cm"/> - <documentation> - ## Forward/backward tracking region behind the PID detectors + <documentation level="0"> +### Extra tracking region behind the endcap PID system </documentation> - - <constant name="BackwardTrackingRegion_zmin" value="BackwardPIDRegion_zmin + BackwardPIDRegion_length" /> - <constant name="ForwardTrackingRegion_zmin" value="ForwardPIDRegion_zmin + ForwardPIDRegion_length" /> - <constant name="ForwardTrackingRegion_length" value="10.0*cm" /> - <constant name="BackwardTrackingRegion_length" value="8.0*cm" /> - - <comment> Total length of the endcap detectors in front of the calorimeter</comment> - <constant name="BackwardInnerEndcapRegion_length" value="BackwardPIDRegion_length + BackwardTrackingRegion_length"/> - <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> ## Service gaps @@ -400,26 +391,41 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc <constant name="ForwardServiceGap_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"> ## Calorimeter Parameters </documentation> <constant name="CaloSides" value="12"/> - <constant name="EcalEndcapP_zmin" value="ForwardPIDRegion_zmin + ForwardInnerEndcapRegion_length + ForwardServiceGap_length" /> - <constant name="EcalEndcapP_length" value="30*cm" /> - <constant name="EcalEndcapP_rmin" value="200.0*mm" /> + <constant name="EcalEndcapP_zmin" value="ForwardPID_zmin + ForwardInnerEndcap_length + ForwardServiceGap_length"/> + <constant name="EcalEndcapP_length" value="40*cm"/> + <constant name="EcalEndcapP_rmin" value="200.0*mm"/> <constant name="EcalEndcapP_rmax" value="Solenoid_rmax "/> - <constant name="EcalEndcapN_zmin" value="BackwardPIDRegion_zmin + BackwardInnerEndcapRegion_length" /> - <constant name="EcalEndcapN_length" value="60*cm" /> - <constant name="EcalEndcapN_rmin" value="max((EcalEndcapN_zmin + EcalEndcapN_length) * tan(abs(CrossingAngle)) + 12.5 * mm, 5*cm)" /> - <constant name="EcalEndcapN_rmax" value="CentralTrackingRegion_rmax" /> + <constant name="EcalEndcapN_zmin" value="max(BackwardPID_zmin + BackwardInnerEndcap_length, SolenoidBackward_zmax)"/> + <constant name="EcalEndcapN_length" value="60*cm"/> + <constant name="EcalEndcapN_rmin" value="max((EcalEndcapN_zmin + EcalEndcapN_length) * tan(abs(CrossingAngle)) + 12.5 * mm, 5*cm)"/> + <constant name="EcalEndcapN_rmax" value="TrackerBarrel_rmax"/> - <constant name="EcalBarrelRegion_thickness" value="45.0*cm"/> - <constant name="EcalBarrel_rmin" value="CentralTrackingRegion_rmax + BarrelPIDRegion_thickness + BarrelExtraSpace_thickness"/> + <constant name="EcalBarrelEnvelope_thickness" value="45.0*cm"/> + <constant name="EcalBarrel_rmin" value="CentralTracking_rmax + BarrelPIDThickness + BarrelExtraSpaceThickness"/> <constant name="EcalBarrelForward_length" value="-20*cm"/> - <constant name="EcalBarrelForward_zmax" value="ForwardPIDRegion_zmin + EcalBarrelForward_length"/> - <constant name="EcalBarrelBackward_zmax" value="BackwardPIDRegion_zmin + BackwardInnerEndcapRegion_length + EcalEndcapN_length"/> + <constant name="EcalBarrelForward_zmax" value="ForwardPID_zmin + EcalBarrelForward_length"/> + <constant name="EcalBarrelBackward_zmax" value="BackwardPID_zmin + BackwardInnerEndcap_length + EcalEndcapN_length"/> <constant name="EcalBarrel_length" value="EcalBarrelForward_zmax + EcalBarrelBackward_zmax"/> <constant name="EcalBarrel_offset" value="(EcalBarrelForward_zmax - EcalBarrelBackward_zmax)/2.0"/> @@ -429,18 +435,18 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc </documentation> <constant name="DIRCReadout_length" value="30*cm"/> <constant name="DIRCForward_length" value="0*cm"/> - <constant name="DIRCForward_zmax" value="ForwardPIDRegion_zmin + DIRCForward_length"/> - <constant name="DIRCBackward_zmax" value="BackwardPIDRegion_zmin + BackwardInnerEndcapRegion_length + EcalEndcapN_length + DIRCReadout_length"/> + <constant name="DIRCForward_zmax" value="ForwardPID_zmin + DIRCForward_length"/> + <constant name="DIRCBackward_zmax" value="BackwardPID_zmin + BackwardInnerEndcap_length + EcalEndcapN_length + DIRCReadout_length"/> <constant name="DIRC_length" value="DIRCForward_zmax + DIRCBackward_zmax"/> <constant name="DIRC_offset" value="(DIRCForward_zmax - DIRCBackward_zmax)/2"/> - <constant name="DIRC_rmin" value="CentralTrackingRegion_rmax"/> - <constant name="DIRC_rmax" value="DIRC_rmin + BarrelPIDRegion_thickness"/> + <constant name="DIRC_rmin" value="TrackerBarrel_rmax"/> + <constant name="DIRC_rmax" value="DIRC_rmin + BarrelPIDThickness"/> <documentation> ## Hadronic Calorimeter Parameters </documentation> - <constant name="HcalEndcapP_zmin" value="EcalEndcapP_zmin + EcalEndcapP_length"/> + <constant name="HcalEndcapP_zmin" value="max(EcalEndcapP_zmin + EcalEndcapP_length, Solenoid_length / 2.0 + Solenoid_offset) "/> <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> <constant name="HcalEndcapP_rmin" value="max((HcalEndcapP_zmin + HcalEndcapP_length) * tan(2.0 * abs(CrossingAngle)) + BeampipeOD / 2.0, 15 * cm)"/> diff --git a/compact/display.xml b/compact/display.xml index 01a2d888..a335591c 100644 --- a/compact/display.xml +++ b/compact/display.xml @@ -10,15 +10,10 @@ <comment> Tracking Visualizations </comment> - <vis name="TrackerVis" ref="AnlRed" /> + <vis name="TrackerVis" ref="AnlRed" /> <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="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="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="true" /> diff --git a/compact/display_geoviewer.xml b/compact/display_geoviewer.xml index 217351bd..e5db890e 100644 --- a/compact/display_geoviewer.xml +++ b/compact/display_geoviewer.xml @@ -11,14 +11,10 @@ Tracking Visualizations </comment> <vis name="TrackerVis" ref="AnlRed" /> - <vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" /> - <vis name="TrackerServiceVis" ref="AnlGold" showDaughters="false" /> + <vis name="TrackerSupportVis" ref="AnlBlue" 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="TrackerMPGDVis" ref="AnlRed" 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="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" /> - <vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" /> <vis name="VertexSupportVis" ref="AnlBlue" visible="true" showDaughters="true" /> <vis name="VertexLayerVis" ref="AnlGray" visible="true" showDaughters="true" /> @@ -69,7 +65,7 @@ <vis name="RICHVis" ref="AnlTeal" showDaughters="true"/> <vis name="DIRCVis" ref="AnlTeal" showDaughters="true" visible="true"/> - <vis name="DIRCLayerVis" 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"/> diff --git a/compact/drich.xml b/compact/drich.xml index f3950cba..59a14b35 100644 --- a/compact/drich.xml +++ b/compact/drich.xml @@ -3,10 +3,10 @@ <define> <!-- vessel (=snout+tank) geometry --> -<constant name="DRICH_zmin" value="ForwardPIDRegion_zmin"/> <!-- vessel front --> -<constant name="DRICH_Length" value="ForwardPIDRegion_length"/> <!-- overall vessel length (including snout) --> -<constant name="DRICH_rmin0" value="ForwardPIDRegion_rmin1"/> <!-- bore radius at dRICh vessel frontplane --> -<constant name="DRICH_rmin1" value="ForwardPIDRegion_rmin2"/> <!-- bore radius at dRICh vessel backplane --> +<constant name="DRICH_zmin" value="ForwardPID_zmin"/> <!-- vessel front --> +<constant name="DRICH_Length" value="ForwardPID_length"/> <!-- overall vessel length (including snout) --> +<constant name="DRICH_rmin0" value="ForwardPID_rmin1"/> <!-- bore radius at dRICh vessel frontplane --> +<constant name="DRICH_rmin1" value="ForwardPID_rmin2"/> <!-- bore radius at dRICh vessel backplane --> <constant name="DRICH_wall_thickness" value="0.5*cm"/> <!-- thickness of radial walls --> <constant name="DRICH_window_thickness" value="0.1*cm"/> <!-- thickness of entrance and exit walls --> <!-- tank geometry: cylinder, holding the majority of detector components --> diff --git a/compact/ecal_barrel.xml b/compact/ecal_barrel.xml index 74b0d0c0..e56d75e7 100644 --- a/compact/ecal_barrel.xml +++ b/compact/ecal_barrel.xml @@ -21,7 +21,7 @@ <constant name="EcalBarrel_ModRepeat" value="CaloSides"/> <constant name="EcalBarrel_ModLength" value="0.5*m"/> <constant name="EcalBarrel_ModWidth" value="0.5*m"/> - <constant name="EcalBarrel_AvailThickness" value="EcalBarrelRegion_thickness-EcalBarrel_Support_thickness"/> + <constant name="EcalBarrel_AvailThickness" value="EcalBarrelEnvelope_thickness-EcalBarrel_Support_thickness"/> <constant name="EcalBarrel_ReadoutLayerThickness" value="EcalBarrel_SiliconThickness + EcalBarrel_ElectronicsThickness diff --git a/compact/ecal_barrel_interlayers.xml b/compact/ecal_barrel_interlayers.xml index c037147a..096b48e6 100644 --- a/compact/ecal_barrel_interlayers.xml +++ b/compact/ecal_barrel_interlayers.xml @@ -35,7 +35,7 @@ <constant name="EcalBarrel_ModRepeat" value="CaloSides"/> <constant name="EcalBarrel_ModLength" value="0.5*m"/> <constant name="EcalBarrel_ModWidth" value="0.5*m"/> - <constant name="EcalBarrel_AvailThickness" value="EcalBarrelRegion_thickness-EcalBarrel_Support_thickness"/> + <constant name="EcalBarrel_AvailThickness" value="EcalBarrelEnvelope_thickness-EcalBarrel_Support_thickness"/> <constant name="EcalBarrel_ImagingLayerThickness" value="EcalBarrel_SiliconThickness diff --git a/compact/gem_tracker_endcap.xml b/compact/gem_tracker_endcap.xml index 912af372..ede46043 100644 --- a/compact/gem_tracker_endcap.xml +++ b/compact/gem_tracker_endcap.xml @@ -3,14 +3,14 @@ <comment> Endcap Tracker </comment> <define> - <constant name="GEMTrackerEndcapP_thickness" value="min(10.0*cm,ForwardTrackingRegion_length)" /> - <constant name="GEMTrackerEndcapN_thickness" value="min(10.0*cm,BackwardTrackingRegion_length)" /> - <constant name="GEMTrackerEndcapP_zmin" value="ForwardTrackingRegion_zmin"/> - <constant name="GEMTrackerEndcapN_zmin" value="BackwardTrackingRegion_zmin"/> + <constant name="GEMTrackerEndcapP_thickness" value="min(10.0*cm,ForwardTracking_length)" /> + <constant name="GEMTrackerEndcapN_thickness" value="min(10.0*cm,BackwardTracking_length)" /> + <constant name="GEMTrackerEndcapP_zmin" value="ForwardTracking_zmin"/> + <constant name="GEMTrackerEndcapN_zmin" value="BackwardTracking_zmin"/> <constant name="GEMTrackerEndcapP_rmin" value="19*cm" /> <constant name="GEMTrackerEndcapN_rmin" value="10*cm" /> <constant name="GEMTrackerEndcapP_rmax" value="200*cm" /> - <constant name="GEMTrackerEndcapN_rmax" value="BackwardPIDRegion_rmax" /> + <constant name="GEMTrackerEndcapN_rmax" value="BackwardPID_rmax" /> <constant name="GEMTrackerEndcapOpeningAngle" value="30.4*degree"/> <constant name="GEMTrackerEndcap_dz" value="15*mm" /> <comment> @@ -87,7 +87,7 @@ <detectors> <detector - id="TrackerEndcapP_3_ID" + id="GEMTrackerEndcapP_ID" name="GEMTrackerEndcapP" type="athena_GEMTrackerEndcap" readout="GEMTrackerEndcapHits" @@ -151,7 +151,7 @@ </detector> <detector - id="TrackerEndcapN_3_ID" + id="GEMTrackerEndcapN_ID" name="GEMTrackerEndcapN" type="athena_GEMTrackerEndcap" readout="GEMTrackerEndcapHits" diff --git a/compact/materials.xml b/compact/materials.xml index 4b844019..4829091d 100644 --- a/compact/materials.xml +++ b/compact/materials.xml @@ -318,23 +318,4 @@ <composite n="8" ref="C"/> <composite n="8" ref="H"/> </material> - <material name="MMGAS_ResistivePaste"> - <D type="density" unit="g/cm3" value="0.77906"/> - <composite n="1" ref="C"/> - </material> - <material name="MMGAS_InoxForMesh" state="solid"> - <D type="density" unit="g/cm3" value="2.8548"/> - <fraction n="0.19" ref="Cr"/> - <fraction n="0.68" ref="Fe"/> - <fraction n="0.02" ref="Mn"/> - <fraction n="0.10" ref="Ni"/> - <fraction n="0.01" ref="Si"/> - </material> - <material name="Ar90IsoButane" state="gas"> - <D type="density" unit="g/cm3" value="0.00170335"/> - <fraction n="0.90" ref="Ar"/> - <fraction n="0.0826586" ref="C"/> - <fraction n="0.0173414" ref="H"/> - </material> - </materials> diff --git a/compact/mrich.xml b/compact/mrich.xml index 3f816e42..703e620d 100644 --- a/compact/mrich.xml +++ b/compact/mrich.xml @@ -2,9 +2,9 @@ <comment> MRICH </comment> <define> <constant name="MRICH_rmin" value="10*cm"/> - <constant name="MRICH_rmax" value="BackwardPIDRegion_rmax"/> - <constant name="MRICH_length" value="BackwardPIDRegion_length"/> - <constant name="MRICH_zmin" value="BackwardPIDRegion_zmin"/> + <constant name="MRICH_rmax" value="BackwardPID_rmax"/> + <constant name="MRICH_length" value="BackwardPID_length"/> + <constant name="MRICH_zmin" value="BackwardPID_zmin"/> <constant name="MRICHAerogel_thickness" value="30.0*mm"/> <constant name="MRICHAerogel_width" value="126.5*mm"/> diff --git a/compact/mrich_alt.xml b/compact/mrich_alt.xml index 72a7f9a2..b12897eb 100644 --- a/compact/mrich_alt.xml +++ b/compact/mrich_alt.xml @@ -2,9 +2,9 @@ <comment> MRICH (alternative design) </comment> <define> <constant name="MRICH_rmin" value="10*cm"/> - <constant name="MRICH_rmax" value="BackwardPIDRegion_rmax"/> - <constant name="MRICH_length" value="BackwardPIDRegion_length"/> - <constant name="MRICH_zmin" value="BackwardPIDRegion_zmin"/> + <constant name="MRICH_rmax" value="BackwardPID_rmax"/> + <constant name="MRICH_length" value="BackwardPID_length"/> + <constant name="MRICH_zmin" value="BackwardPID_zmin"/> <constant name="MRICHAerogel_thickness" value="30.0*mm"/> <constant name="MRICHAerogel_width" value="126.5*mm"/> diff --git a/compact/pid_config_canyonlands.xml b/compact/pid_config_canyonlands.xml deleted file mode 100644 index fb98490f..00000000 --- a/compact/pid_config_canyonlands.xml +++ /dev/null @@ -1,8 +0,0 @@ -<lccdd> - -<include ref="fake_dirc.xml"/> -<!--include ref="dirc.xml"/--> -<!--include ref="mrich.xml"/--> -<include ref="drich.xml"/> - -</lccdd> diff --git a/compact/subsystem_views/calorimeters.xml b/compact/subsystem_views/calorimeters.xml index 90233393..81386563 100644 --- a/compact/subsystem_views/calorimeters.xml +++ b/compact/subsystem_views/calorimeters.xml @@ -97,6 +97,50 @@ </documentation> <include ref="compact/solenoid.xml"/> + <documentation level="5"> + ### Tracker subassemblies for ACTS + </documentation> + <detectors> + <detector id="VertexBarrelSubAssembly_ID" + name="VertexBarrelSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexBarrel" /> + </detector> + <detector id="VertexEndcapSubAssembly_ID" + name="VertexEndcapSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexEndcapN" /> + <composite name="VertexEndcapP" /> + </detector> + + <detector id="TrackerBarrelSubAssembly_Inner_ID" + name="TrackerBarrelSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Inner"/> + </detector> + <detector id="TrackerEndcapSubAssembly_Inner_ID" + name="TrackerEndcapSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerEndcapN_Inner"/> + <composite name="TrackerEndcapP_Inner"/> + </detector> + + <detector id="TrackerBarrelSubAssembly_Outer_ID" + name="TrackerSubAssembly_Outer" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Outer"/> + <composite name="TrackerEndcapP_Outer"/> + <composite name="TrackerEndcapN_Outer"/> + </detector> + + </detectors> + + <documentation level="10"> ## Central calorimetry </documentation> diff --git a/compact/subsystem_views/inner_detector.xml b/compact/subsystem_views/inner_detector.xml index 0dfbc064..9031454a 100644 --- a/compact/subsystem_views/inner_detector.xml +++ b/compact/subsystem_views/inner_detector.xml @@ -96,16 +96,81 @@ Note: When changing magnet, also select dimensions in definitions.xml. </documentation> + <documentation level="5"> + ### Tracker subassemblies for ACTS + </documentation> + <detectors> + <detector id="VertexBarrelSubAssembly_ID" + name="VertexBarrelSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexBarrel" /> + </detector> + <detector id="VertexEndcapSubAssembly_ID" + name="VertexEndcapSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexEndcapN" /> + <composite name="VertexEndcapP" /> + </detector> + + <detector id="TrackerBarrelSubAssembly_Inner_ID" + name="TrackerBarrelSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Inner"/> + </detector> + <detector id="TrackerEndcapSubAssembly_Inner_ID" + name="TrackerEndcapSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerEndcapN_Inner"/> + <composite name="TrackerEndcapP_Inner"/> + </detector> + + <detector id="TrackerBarrelSubAssembly_Outer_ID" + name="TrackerSubAssembly_Outer" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Outer"/> + <composite name="TrackerEndcapP_Outer"/> + <composite name="TrackerEndcapN_Outer"/> + </detector> + + <comment> + TOF disabled for baseline + <detector id="OuterTrackingSubAssembly_ID" + name="OuterTrackingSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TOFSubAssemblyVis"> + <composite name="BarrelTOF"/> + <composite name="ForwardTOF"/> + <composite name="BackwardTOF"/> + </detector> + </comment> + + <detector id="OuterTrackingSubAssembly_ID" + name="OuterTrackingSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="SubAssemblyVis"> + <composite name="GEMTrackerEndcapP"/> + <composite name="GEMTrackerEndcapN"/> + </detector> + + </detectors> + <documentation level="10"> ## Central tracking detectors </documentation> - <include ref="compact/tracking_config_canyonlands.xml"/> + <include ref="compact/tracking_config_acadia.xml"/> + + <!--include ref="compact/tracking_config_mgpds.xml"/--> <documentation level="10"> ### PID detectors </documentation> - <include ref="compact/pid_config_canyonlands.xml"/> + <include ref="compact/pid_config_acadia.xml"/> <documentation level="10"> ## Central calorimetry diff --git a/compact/subsystem_views/inner_tracking_only.xml b/compact/subsystem_views/inner_tracking_only.xml new file mode 100644 index 00000000..9b0bb13e --- /dev/null +++ b/compact/subsystem_views/inner_tracking_only.xml @@ -0,0 +1,242 @@ +<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd"> + + <debug> + <type name="surface" value="0"/> + <type name="material" value="0"/> + <type name="readout" value="0"/> + <type name="segmentation" value="0"/> + <type name="limits" value="0"/> + <type name="region" value="0"/> + <type name="includes" value="0"/> + </debug> + + <documentation level="-1"> + # Athena Detector + - https://eicweb.phy.anl.gov/EIC/detectors/athena.git + - https://eicweb.phy.anl.gov/EIC/detectors/ip6.git + </documentation> + + <!-- Some information about detector --> + <info name="Athena Detector" title="Athena Detector" + author="Athena Collaboration" + url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git" + status="development" + version="v1 2021-03-16"> + <comment> Athena </comment> + </info> + <define> + <documentation level="2"> + ## Main Constant Definitions + + The ip6 (or other ip) defines should be included first. + These files have only a define tags. + </documentation> + <include ref="ip6/ip6_defs.xml" /> + <include ref="ip6/far_forward_fields_275.xml" /> + <include ref="compact/definitions.xml" /> + </define> + + <includes> + <gdmlFile ref="compact/elements.xml"/> + <gdmlFile ref="compact/materials.xml"/> + <file ref="compact/optical_materials.xml"/> + </includes> + + <limits> + <limitset name="EICBeamlineLimits"> + <limit name="step_length_max" particles="*" value="1.0" unit="mm" /> + <limit name="track_length_max" particles="*" value="1.0" unit="mm" /> + <limit name="time_max" particles="*" value="0.1" unit="ns" /> + <limit name="ekin_min" particles="*" value="0.001" unit="MeV" /> + <limit name="range_min" particles="*" value="0.1" unit="mm" /> + </limitset> + <limitset name="cal_limits"> + <limit name="step_length_max" particles="*" value="5.0" unit="mm"/> + </limitset> + </limits> + + <display> + <include ref="compact/colors.xml" /> + <include ref="compact/display.xml" /> + </display> + + <documentation level="0"> + ## Detector Subsystems + + ### IP Subsystems + + The interaction point subsystems are included before the central detector subsystems. + This is becuase the IP subsystems, for exmaple the beampipe, will define paramters + which are subsquently used in the central detector construction -- e.g. the vertex tracker + uses the beampipe OD to help define its placement. + + The IP subsystems include the Far forward and backward regions. The list of subsystem includes: + - Interaction region beampipe + - B0 tracker + - Off-momentum tracker + - Far forward roman pots + - Zero Degree Calorimeter + - Beam line magnets. + - and more... + </documentation> + + <comment> + Beamline elements + ----------------- + </comment> + + <comment> + Main magnet + ----------- + Note: When changing magnet, also select dimensions in definitions.xml. + </comment> + <!--include ref="compact/solenoid.xml"/--> + + <comment> + Tracker subassemblies for ACTS + ------------------------------ + </comment> + <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> + + <comment> + Central tracking detectors + -------------------------- + </comment> + <include ref="compact/vertex_tracker.xml"/> + <include ref="compact/central_tracker.xml"/> + + <comment> + PID detectors + ------------- + </comment> + + <fields> + <field name="B0PF_Magnet" type="MultipoleMagnet"> + <position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/> + <rotation x="0" y="B0PF_RotationAngle" z="0"/> + <shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/> + <coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/> + <!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> --> + </field> + <field name="B0APF_Magnet" type="MultipoleMagnet"> + <position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/> + <rotation x="0" y="B0APF_RotationAngle" z="0"/> + <shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/> + <coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/> + <!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> --> + </field> + <field name="Q1APF_Magnet" type="MultipoleMagnet"> + <position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/> + <rotation x="0" y="Q1APF_RotationAngle" z="0"/> + <shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/> + <coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/> + <coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/> + </field> + <field name="Q1BPF_Magnet" type="MultipoleMagnet"> + <position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/> + <rotation x="0" y="Q1BPF_RotationAngle" z="0"/> + <shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/> + <coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/> + <coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/> + </field> + <field name="Q2PF_Magnet" type="MultipoleMagnet"> + <position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/> + <rotation x="0" y="Q2PF_RotationAngle" z="pi/2.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> + FB elements + ----------- + None (TODO) + </comment> + + <readouts> + </readouts> + +</lccdd> diff --git a/compact/subsystem_views/pid_only.xml b/compact/subsystem_views/pid_only.xml index 0ee9acd1..c5103a4a 100644 --- a/compact/subsystem_views/pid_only.xml +++ b/compact/subsystem_views/pid_only.xml @@ -86,13 +86,76 @@ Beamline elements ----------------- </comment> - <include ref="ip6/beampipe.xml" /> <comment> Main magnet ----------- Note: When changing magnet, also select dimensions in definitions.xml. </comment> + <comment> + Tracker subassemblies for ACTS + ------------------------------ + </comment> + <detectors> + <detector id="VertexBarrelSubAssembly_ID" + name="VertexBarrelSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexBarrel" /> + </detector> + <detector id="VertexEndcapSubAssembly_ID" + name="VertexEndcapSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="VertexEndcapN" /> + <composite name="VertexEndcapP" /> + </detector> + + <detector id="TrackerBarrelSubAssembly_Inner_ID" + name="TrackerBarrelSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Inner"/> + </detector> + <detector id="TrackerEndcapSubAssembly_Inner_ID" + name="TrackerEndcapSubAssembly_Inner" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerEndcapN_Inner"/> + <composite name="TrackerEndcapP_Inner"/> + </detector> + + <detector id="TrackerBarrelSubAssembly_Outer_ID" + name="TrackerSubAssembly_Outer" + type="DD4hep_SubdetectorAssembly" + vis="TrackerSubAssemblyVis"> + <composite name="TrackerBarrel_Outer"/> + <composite name="TrackerEndcapP_Outer"/> + <composite name="TrackerEndcapN_Outer"/> + </detector> + + <comment> + TOF disabled for baseline + <detector id="OuterTrackingSubAssembly_ID" + name="OuterTrackingSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="TOFSubAssemblyVis"> + <composite name="BarrelTOF"/> + <composite name="ForwardTOF"/> + <composite name="BackwardTOF"/> + </detector> + </comment> + + <detector id="OuterTrackingSubAssembly_ID" + name="OuterTrackingSubAssembly" + type="DD4hep_SubdetectorAssembly" + vis="SubAssemblyVis"> + <composite name="GEMTrackerEndcapP"/> + <composite name="GEMTrackerEndcapN"/> + </detector> + + </detectors> + <documentation level="10"> ## Central tracking detectors </documentation> @@ -101,7 +164,7 @@ PID detectors ------------- </comment> - <include ref="compact/pid_config_canyonlands.xml"/> + <include ref="compact/pid_config_acadia.xml"/> <comment> diff --git a/compact/subsystem_views/tracking_only.xml b/compact/subsystem_views/tracking_only.xml index de12be8e..1f23d873 100644 --- a/compact/subsystem_views/tracking_only.xml +++ b/compact/subsystem_views/tracking_only.xml @@ -86,7 +86,6 @@ Beamline elements ----------------- </comment> - <include ref="ip6/beampipe.xml" /> <comment> Main magnet @@ -95,11 +94,76 @@ </comment> <!--include ref="compact/solenoid.xml"/--> + <comment> + Tracker subassemblies for ACTS + ------------------------------ + </comment> + <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> + <comment> Central tracking detectors -------------------------- </comment> - <include ref="compact/tracking_config_canyonlands.xml"/> + <include ref="compact/tracking_config_acadia.xml"/> <comment> PID detectors diff --git a/compact/subsystem_views/vertex_only.xml b/compact/subsystem_views/vertex_only.xml index 18cbd2cd..20852f15 100644 --- a/compact/subsystem_views/vertex_only.xml +++ b/compact/subsystem_views/vertex_only.xml @@ -94,11 +94,75 @@ </comment> <!--include ref="compact/solenoid.xml"/--> + <comment> + Tracker subassemblies for ACTS + ------------------------------ + </comment> + <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> + <comment> Central tracking detectors -------------------------- </comment> - <include ref="compact/vertex_tracker_3layers.xml"/> + <include ref="compact/vertex_tracker.xml"/> <comment> PID detectors diff --git a/compact/tracking_config_acadia.xml b/compact/tracking_config_acadia.xml index be7e595d..03b4fdaf 100644 --- a/compact/tracking_config_acadia.xml +++ b/compact/tracking_config_acadia.xml @@ -9,45 +9,6 @@ ### Silicon tracking configuration </documentation> - <documentation level="5"> - ### Tracker subassemblies for ACTS - </documentation> - <detectors> - <detector id="VertexSubAssembly_0_ID" - name="VertexBarrelSubAssembly" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="VertexEndcapN" /> - <composite name="VertexBarrel" /> - <composite name="VertexEndcapP" /> - </detector> - <detector id="TrackerSubAssembly_0_ID" - name="TrackerBarrelSubAssembly_Inner" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="TrackerEndcapN_Inner"/> - <composite name="TrackerBarrel_Inner"/> - <composite name="TrackerEndcapP_Inner"/> - </detector> - <detector id="TrackerSubAssembly_1_ID" - name="TrackerSubAssembly_Outer" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="TrackerBarrel_Outer"/> - <composite name="TrackerEndcapP_Outer"/> - <composite name="TrackerEndcapN_Outer"/> - </detector> - - <detector id="TrackerSubAssembly_1_ID" - name="OuterTrackingSubAssembly" - type="DD4hep_SubdetectorAssembly" - vis="SubAssemblyVis"> - <composite name="GEMTrackerEndcapP"/> - <composite name="GEMTrackerEndcapN"/> - </detector> - - </detectors> - <include ref="vertex_tracker.xml"/> <include ref="central_tracker.xml"/> <include ref="gem_tracker_endcap.xml"/> diff --git a/compact/tracking_config_canyonlands.xml b/compact/tracking_config_canyonlands.xml deleted file mode 100644 index 34518ba6..00000000 --- a/compact/tracking_config_canyonlands.xml +++ /dev/null @@ -1,71 +0,0 @@ -<lccdd> - - <display> - </display> - <define> - </define> - - <documentation level="10"> - ### Silicon tracking configuration - </documentation> - - <documentation level="5"> - ### Tracker subassemblies for ACTS - </documentation> - <detectors> - <detector id="VertexSubAssembly_0_ID" - name="VertexBarrelSubAssembly" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="VertexBarrel" /> - </detector> - <detector id="TrackerSubAssembly_0_ID" - name="InnerTrackerSubAssembly" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="InnerTrackerEndcapN"/> - <composite name="InnerTrackerBarrel"/> - <composite name="InnerTrackerEndcapP"/> - </detector> - <detector id="TrackerSubAssembly_1_ID" - name="MedialTrackerSubAssembly" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="MedialTrackerEndcapN"/> - <composite name="MedialTrackerBarrel"/> - <composite name="MedialTrackerEndcapP"/> - </detector> - <detector id="TrackerSubAssembly_2_ID" - name="OuterTrackerSubAssembly" - type="DD4hep_SubdetectorAssembly" - vis="TrackerSubAssemblyVis"> - <composite name="OuterTrackerEndcapNAssembly"/> - <composite name="OuterTrackerBarrel"/> - <composite name="OuterTrackerEndcapPAssembly"/> - </detector> - <detector id="TrackerCompositeEndcapN_0_ID" - name="OuterTrackerCompositeEndcapN" - type="athena_CompositeTracker" - actsType="endcap" - vis="TrackerSubAssemblyVis"> - <position x="0*cm" y="0*cm" z="-1*um" /> - <composite name="OuterTrackerEndcapN"/> - <composite name="GEMEndcapN"/> - </detector> - <detector id="TrackerCompositeEndcapP_0_ID" - name="OuterTrackerCompositeEndcapP" - type="athena_CompositeTracker" - actsType="endcap" - vis="TrackerSubAssemblyVis"> - <position x="0*cm" y="0*cm" z="0*cm" /> - <composite name="OuterTrackerEndcapP"/> - <composite name="GEMEndcapP"/> - </detector> - - </detectors> - - <include ref="vertex_tracker_3layers.xml"/> - <include ref="central_tracker_hybrid_v2.xml"/> - -</lccdd> - diff --git a/compact/vertex_tracker.xml b/compact/vertex_tracker.xml index b2191549..accefce6 100644 --- a/compact/vertex_tracker.xml +++ b/compact/vertex_tracker.xml @@ -5,8 +5,8 @@ THis value probably can live in the file that includes this one. </comment> <constant name="ITS3Thickness" value="40*um"/> - <constant name="VertexCarbon_thickness" value="0.12*mm"/> - <constant name="VertexEndcapAluminumThickness" value="0.15*mm"/> + <constant name="TrackerCarbon_thickness" value="0.12*mm"/> + <constant name="TrackerEndcapAluminum_thickness" value="0.15*mm"/> <documentation> #### Vertex Tracker Barrel Parameters @@ -27,14 +27,7 @@ Simple carbon fiber support shell. </documentation> - <constant name="VertexBarrel_length" value="300.0*mm"/> - <constant name="VertexTrackerEndcapP_rmin" value="VertexTrackingRegion_rmin"/> - <constant name="VertexTrackerEndcapN_rmin" value="VertexTrackingRegion_rmin"/> - <constant name="VertexTrackerEndcapP_rmax" value="VertexTrackingRegion_rmax"/> - <constant name="VertexTrackerEndcapN_rmax" value="VertexTrackingRegion_rmax"/> - <constant name="VertexTrackerEndcapP_zmax" value="VertexTrackingRegionP_zmax"/> - <constant name="VertexTrackerEndcapN_zmax" value="VertexTrackingRegionN_zmax"/> - + <constant name="VertexBarrel_length" value="VertexTrackerBarrel_length"/> <constant name="VertexBarrelLayer_length" value="VertexBarrel_length - 1*mm"/> <constant name="VertexBarrelMod_length" value="VertexBarrel_length - 2*mm"/> @@ -105,11 +98,8 @@ Simple carbon fiber support shell. </display> <detectors> - <documentation level="5"> - ### Actual detectors - </documentation> <detector - id="VertexBarrel_0_ID" + id="VertexBarrel_ID" name="VertexBarrel" type="athena_VertexBarrel" readout="VertexBarrelHits" @@ -187,7 +177,7 @@ Simple carbon fiber support shell. </detector> <detector - id="VertexEndcapP_0_ID" + id="VertexEndcapP_ID" name="VertexEndcapP" type="athena_TrapEndcapTracker" readout="VertexEndcapHits" @@ -211,8 +201,8 @@ Simple carbon fiber support shell. <module name="Module1" vis="AnlProcess_Blue"> <trd x1="VertexEndcapMod1_x1/2.0" x2="VertexEndcapMod1_x2/2.0" z="VertexEndcapMod1_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> - <module_component thickness="VertexEndcapAluminumThickness" material="Aluminum"/> - <module_component thickness="VertexCarbon_thickness" material="CarbonFiber"/> + <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> + <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> <layer id="1"> <envelope vis="TrackerVis" @@ -230,7 +220,7 @@ Simple carbon fiber support shell. <detector - id="VertexEndcapN_0_ID" + id="VertexEndcapN_ID" name="VertexEndcapN" type="athena_TrapEndcapTracker" readout="VertexEndcapHits" @@ -253,8 +243,8 @@ Simple carbon fiber support shell. <module name="Module1" vis="AnlProcess_Blue"> <trd x1="VertexEndcapMod1_x1/2.0" x2="VertexEndcapMod1_x2/2.0" z="VertexEndcapMod1_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> - <module_component thickness="VertexEndcapAluminumThickness" material="Aluminum"/> - <module_component thickness="VertexCarbon_thickness" material="CarbonFiber"/> + <module_component thickness="TrackerEndcapAluminum_thickness" material="Aluminum"/> + <module_component thickness="TrackerCarbon_thickness" material="CarbonFiber"/> </module> <layer id="1"> <envelope vis="TrackerVis" @@ -270,6 +260,58 @@ Simple carbon fiber support shell. </layer> </detector> + + <!-- + <detector id="VertexEndcapP_ID" + name="VertexEndcapP" + type="athena_SimpleDiskTracker" + readout="VertexEndcapHits" + insideTrackingVolume="true" + reflect="false" vis="TrackerVis"> + <position x="0" y="0" z="0.0*mm"/> + <layer id="1" vis="AnlOrange" + inner_z="VertexTrackerEndcapP_zmin + 0.5*VertexTrackerEndcap_delta" + inner_r="VertexTrackerEndcapP_rmin-3*mm" + outer_r="VertexTrackerEndcapP_rmax"> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + <slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + </layer> + <layer id="2" vis="AnlOrange" + inner_z="VertexTrackerEndcapP_zmin + 1.5*VertexTrackerEndcap_delta" + inner_r="VertexTrackerEndcapP_rmin" + outer_r="VertexTrackerEndcapP_rmax"> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + <slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + </layer> + </detector> + + <detector id="VertexEndcapN_ID" + name="VertexEndcapN" + type="athena_SimpleDiskTracker" + readout="VertexEndcapHits" + insideTrackingVolume="true" + reflect="true" vis="TrackerVis"> + <position x="0" y="0" z="-0.0*mm-1.0e-9*mm"/> + <layer id="1" vis="AnlOrange" + inner_z="VertexTrackerEndcapN_zmin + 0.5*VertexTrackerEndcap_delta" + inner_r="VertexTrackerEndcapN_rmin" + outer_r="VertexTrackerEndcapN_rmax"> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + <slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + </layer> + <layer id="2" vis="AnlOrange" + inner_z="VertexTrackerEndcapN_zmin + 1.5*VertexTrackerEndcap_delta" + inner_r="VertexTrackerEndcapN_rmin" + outer_r="VertexTrackerEndcapN_rmax"> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + <slice material="Silicon" thickness="1.0*mm" vis="AnlOrange" sensitive="true"/> + <slice material="Air" thickness="1.0*mm" vis="AnlOrange" /> + </layer> + </detector> + --> </detectors> <readouts> diff --git a/compact/vertex_tracker_3layers.xml b/compact/vertex_tracker_3layers.xml deleted file mode 100644 index 20327d9a..00000000 --- a/compact/vertex_tracker_3layers.xml +++ /dev/null @@ -1,185 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<lccdd> - <define> - <comment> - Main parameters - </comment> - - <constant name="SiVertexSensor_thickness" value="40*um"/> - <constant name="VertexBarrelMod_length" value="280.0*mm"/> - <constant name="VertexBarrelMod_rmin" value="3.3*cm"/> - <constant name="VertexBarrelMod_offset" value="1.05*cm"/> - <constant name="VertexBarrelMod_count" value="3"/> - <constant name="VertexBarrelShell_thickness" value="300.0*um"/> - - <documentation> - #### Vertex Tracker Barrel Parameters - -- The sensor modules are 2 half-cylinders. -- There are 2 sensitive layers -- Each sensor has a thickness is 40um -- There is an outer shell for structural support 300um thick. -- The ID of this shell is set (arbitrarily) to 10 cm. - - ##### Sensor layers - -Currently there are 2 sensor layers. Each is composed of 2 half-cylinders modules with only 40um of silicon thickness. - - ##### Support shell - -Simple carbon fiber support shell. - - </documentation> - - <constant name="VertexBarrelEnvelope_length" value="VertexTrackingRegion_length"/> - <constant name="VertexBarrelLayer_length" value="VertexBarrelEnvelope_length - 1*mm"/> - - <constant name="VertexBarrelLayer_thickness" value="0.2*cm"/> - <constant name="VertexBarrelMod_thickness" value="0.1*cm"/> - - <constant name="VertexBarrelMod1_rmin" value="VertexBarrelMod_rmin"/> - <constant name="VertexBarrelMod2_rmin" value="VertexBarrelMod_rmin + 1 * VertexBarrelMod_offset"/> - <constant name="VertexBarrelMod3_rmin" value="VertexBarrelMod_rmin + 2 * VertexBarrelMod_offset"/> - - <constant name="VertexBarrelLayer1_rmin" value="VertexBarrelMod_rmin - VertexBarrelLayer_thickness/2.0"/> - <constant name="VertexBarrelLayer1_rmax" value="VertexBarrelLayer1_rmin + VertexBarrelLayer_thickness"/> - <constant name="VertexBarrelLayer2_rmin" value="VertexBarrelLayer1_rmin + 1 * VertexBarrelMod_offset"/> - <constant name="VertexBarrelLayer2_rmax" value="VertexBarrelLayer2_rmin + VertexBarrelLayer_thickness"/> - <constant name="VertexBarrelLayer3_rmin" value="VertexBarrelLayer1_rmin + 2 * VertexBarrelMod_offset"/> - <constant name="VertexBarrelLayer3_rmax" value="VertexBarrelLayer3_rmin + VertexBarrelLayer_thickness"/> - - <comment> - "Support" is to "shell" like "layer" is to "module", and is need for the flat stave barrel implementation. - </comment> - <constant name="VertexBarrelShell_rmin" value="VertexBarrelMod_rmin + VertexBarrelMod_count * VertexBarrelMod_offset"/> - <constant name="VertexBarrelShell_rmax" value="VertexBarrelShell_rmin + VertexBarrelShell_thickness"/> - <constant name="VertexBarrelShell_length" value="VertexBarrelMod_length"/> - - <constant name="VertexBarrelSupport_thickness" value="0.1*cm"/> - <constant name="VertexBarrelSupport_rmin" value="VertexBarrelShell_rmin-VertexBarrelSupport_thickness/2.0"/> - <constant name="VertexBarrelSupport_rmax" value="VertexBarrelSupport_rmin + VertexBarrelSupport_thickness"/> - <constant name="VertexBarrelSupport_length" value="VertexBarrelLayer_length"/> - - <comment> - Extra parameters to approximate a cylinder as a set of skinny staves - due to ACTS limitations. - </comment> - <constant name="VertexBarrelStave_count" value="128"/> - <constant name="VertexBarrelStave1_width" value="2*VertexBarrelMod1_rmin * tan(180*degree/VertexBarrelStave_count)"/> - <constant name="VertexBarrelStave2_width" value="2*VertexBarrelMod2_rmin * tan(180*degree/VertexBarrelStave_count)"/> - <constant name="VertexBarrelStave3_width" value="2*VertexBarrelMod3_rmin * tan(180*degree/VertexBarrelStave_count)"/> - <constant name="VertexBarrelShellStave_width" value="2*VertexBarrelShell_rmin * tan(180*degree/VertexBarrelStave_count)"/> - </define> - - <display> - </display> - - <detectors> - <documentation level="5"> - ### Actual detectors - </documentation> - <detector - id="VertexBarrel_0_ID" - name="VertexBarrel" - type="athena_VertexBarrel" - readout="VertexBarrelHits" - insideTrackingVolume="true"> - <dimensions - rmin="VertexBarrelLayer1_rmin" - rmax="VertexBarrelSupport_rmax" - length="VertexBarrelEnvelope_length" /> - <comment>Vertex Barrel Modules</comment> - <module name="Module1" vis="VertexLayerVis"> - <module_component name="ITS3" - material="Silicon" - sensitive="true" - width="VertexBarrelStave1_width" - length="VertexBarrelMod_length" - thickness="SiVertexSensor_thickness" - vis="VertexLayerVis" /> - </module> - <module name="Module2" vis="VertexLayerVis"> - <module_component name="ITS3" - material="Silicon" - sensitive="true" - width="VertexBarrelStave2_width" - length="VertexBarrelMod_length" - thickness="SiVertexSensor_thickness" - vis="VertexLayerVis" /> - </module> - <module name="Module3" vis="VertexLayerVis"> - <module_component name="ITS3" - material="Silicon" - sensitive="true" - width="VertexBarrelStave3_width" - length="VertexBarrelMod_length" - thickness="SiVertexSensor_thickness" - vis="VertexLayerVis" /> - </module> - <module name="SupportShell" vis="VertexSupportVis"> - <module_component name="CF Shell" - material="CarbonFiber" - sensitive="false" - width="VertexBarrelShellStave_width" - length="VertexBarrelShell_length" - thickness="VertexBarrelShell_thickness" - vis="VertexSupportVis" /> - </module> - <comment> Layers composed of many arrayed modules </comment> - <layer module="Module1" id="1" vis="VertexLayerVis"> - <barrel_envelope - inner_r="VertexBarrelLayer1_rmin" - outer_r="VertexBarrelLayer1_rmax" - z_length="VertexBarrelLayer_length" /> - <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" /> - <comment> - phi0 : Starting phi of first module. - phi_tilt : Phi tilt of a module. - rc : Radius of the module center. - nphi : Number of modules in phi. - rphi_dr : The delta radius of every other module. - z0 : Z position of first module in phi. - nz : Number of modules to place in z. - dr : Radial displacement parameter, of every other module. - </comment> - <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelMod1_rmin" dr="0.0 * mm"/> - <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> - </layer> - <layer module="Module2" id="2" vis="VertexLayerVis"> - <barrel_envelope - inner_r="VertexBarrelLayer2_rmin" - outer_r="VertexBarrelLayer2_rmax" - z_length="VertexBarrelLayer_length" /> - <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" /> - <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelMod2_rmin" dr="0.0 * mm"/> - <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> - </layer> - <layer module="Module3" id="3" vis="VertexLayerVis"> - <barrel_envelope - inner_r="VertexBarrelLayer3_rmin" - outer_r="VertexBarrelLayer3_rmax" - z_length="VertexBarrelLayer_length" /> - <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" /> - <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelMod3_rmin" dr="0.0 * mm"/> - <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> - </layer> - <layer module="SupportShell" id="VertexBarrelMod_count + 1" vis="VertexSupportVis"> - <barrel_envelope - inner_r="VertexBarrelSupport_rmin" - outer_r="VertexBarrelSupport_rmax" - z_length="VertexBarrelSupport_length" /> - <layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count" bins1="100" /> - <rphi_layout phi_tilt="0.0*degree" nphi="VertexBarrelStave_count" phi0="0.0" rc="VertexBarrelShell_rmin" dr="0.0 * mm"/> - <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> - </layer> - </detector> - </detectors> - - <readouts> - <readout name="VertexBarrelHits"> - <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:-16,y:-16</id> - </readout> - </readouts> - -</lccdd> diff --git a/src/CompositeTracker_geo.cpp b/src/CompositeTracker_geo.cpp deleted file mode 100644 index 33ee7407..00000000 --- a/src/CompositeTracker_geo.cpp +++ /dev/null @@ -1,65 +0,0 @@ -//========================================================================== -// Based off DD4hep_SubDetectorAssembly -// -// This is a simple plugin to allow compositing different detectors -// into a single barrel or endcap for ACTS -// Note: positive/negative position strings differentiate between -// positive/negative endcaps -//-------------------------------------------------------------------------- - -#include "DD4hep/DetFactoryHelper.h" -#include "DD4hep/Printout.h" -#include "XML/Utilities.h" - -#include "Acts/Plugins/DD4hep/ActsExtension.hpp" - -using namespace dd4hep; -using namespace dd4hep::detail; - -static Ref_t create_element(Detector& description, xml_h e, Ref_t) -{ - xml_det_t x_det(e); - const std::string det_name = x_det.nameStr(); - DetElement sdet(det_name, x_det.id()); - Volume vol; - Position pos; - - const bool usePos = x_det.hasChild(_U(position)); - - sdet.setType("compound"); - xml::setDetectorTypeFlag(e, sdet); - - const std::string actsType = getAttrOrDefault(x_det, _Unicode(actsType), "endcap"); - printout(DEBUG, det_name, "+++ Creating composite tracking detector (type: " + actsType + ")"); - assert(actsType == "barrel" || actsType == "endcap"); - - // ACTS extension - { - Acts::ActsExtension* detWorldExt = new Acts::ActsExtension(); - detWorldExt->addType(actsType, "detector"); - sdet.addExtension<Acts::ActsExtension>(detWorldExt); - } - - if (usePos) { - pos = Position(x_det.position().x(), x_det.position().y(), x_det.position().z()); - } - vol = Assembly(det_name); - vol.setAttributes(description, x_det.regionStr(), x_det.limitsStr(), x_det.visStr()); - - Volume mother = description.pickMotherVolume(sdet); - PlacedVolume pv; - if (usePos) { - pv = mother.placeVolume(vol, pos); - } else { - pv = mother.placeVolume(vol); - } - sdet.setPlacement(pv); - for (xml_coll_t c(x_det, _U(composite)); c; ++c) { - xml_dim_t component = c; - const std::string nam = component.nameStr(); - description.declareParent(nam, sdet); - } - return sdet; -} - -DECLARE_DETELEMENT(athena_CompositeTracker, create_element) -- GitLab