Back to home page

EIC code displayed by LXR

 
 

    


Warning, /epic/compact/tracking/central_tracker_hybrid_v2.xml is written in an unsupported language. File is not indexed.

0001 <!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
0002 <!-- Copyright (C) 2022 Sylvester Joosten -->
0003 
0004 <lccdd>
0005   <comment>
0006     Master tracker parameters
0007 
0008       Central Tracking region consists of:
0009       |----------------------------------------------------------------------------|
0010       |         |                       OuterBarrel                      |         |
0011       |         |--------------------------------------------------------|         |
0012       |         |         |            MedialBarrel            |         |         |
0013       |         |         |------------------------------------|         |         |
0014       |         |         |         |  InnerBarrel   |         |         |         |
0015       |         |         |         |----------------|         |         |         |
0016       |  Outer  | Medial  |  Inner  | Vertex Tracker |  Inner  | Medial  |  Outer  |
0017       | EndcapN | EndcapN | EndcapN | Vertex Tracker | EndcapP | EndcapP | EndcapP |
0018       |----------------------------------------------------------------------------|
0019       ^                                                                            ^
0020       CentralTrackingRegionN_zmax                          CentralTrackingRegionP_zmax
0021 
0022   </comment>
0023   <define>
0024     <comment> Inner tracker setup </comment>
0025     <constant name="InnerTrackerBarrel_rmin"                value="13.38*cm"/>
0026     <constant name="InnerTrackerBarrel_offset"              value="4.62*cm"/>
0027     <constant name="InnerTrackerBarrel_count"               value="2"/>
0028     <constant name="InnerTrackerBarrelMod_width"            value="4.*cm"/>
0029     <constant name="InnerTrackerBarrelCone_zmin"            value="16.8*cm"/>
0030     <constant name="InnerTrackerBarrelCone_zmax"            value="24.54*cm"/>
0031     <constant name="InnerTrackerEndcap_zmin"                value="25*cm"/>
0032     <constant name="InnerTrackerEndcap_rmin"                value="Beampipe_rmax + 50*um"/>
0033     <constant name="InnerTrackerEndcap_offset"              value="24*cm"/>
0034     <constant name="InnerTrackerEndcap_count"               value="2"/>
0035 
0036     <comment> Medial tracker setup </comment>
0037     <constant name="MedialTrackerBarrel_rmin"               value="47.72*cm"/>
0038     <constant name="MedialTrackerBarrel_offset"             value="1.85*cm"/>
0039     <constant name="MedialTrackerBarrel_count"              value="2"/>
0040     <constant name="MedialTrackerEndcap_zmin"               value="73*cm"/>
0041     <constant name="MedialTrackerEndcap_offset"             value="0*cm"/>
0042     <constant name="MedialTrackerEndcap_count"              value="1"/>
0043     <constant name="MedialTrackerEndcapP_rmin"              value="Beampipe_rmax + 3*mm"/>
0044     <constant name="MedialTrackerEndcapN_rmin"              value="InnerTrackerEndcap_rmin"/>
0045 
0046     <comment> Outer tracker setup </comment>
0047     <constant name="OuterTrackerBarrel_rmin"                value="65.61*cm"/>
0048     <constant name="OuterTrackerBarrel_offset"              value="1.85*cm"/>
0049     <constant name="OuterTrackerBarrel_count"               value="2"/>
0050     <constant name="OuterTrackerEndcapP_zmin"               value="103.67*cm"/>
0051     <constant name="OuterTrackerEndcapP_offset"             value="30.66*cm"/>
0052     <constant name="OuterTrackerEndcapP_count"              value="3"/>
0053     <constant name="OuterTrackerEndcapN_zmin"               value="109*cm"/>
0054     <constant name="OuterTrackerEndcapN_offset"             value="10.00*cm"/>
0055     <constant name="OuterTrackerEndcapN_count"              value="2"/>
0056 
0057     <comment> Gem disk setup.
0058       Note: some GEM disk z-positions are moved slightly (below in the parametrization)
0059             to avoid vertical overlaps with the silicon disks (which is not allowed by ACTS).
0060             @FIXME
0061     </comment>
0062     <constant name="GEMEndcapPDisk1_zmin"                   value="103*cm"/>
0063     <constant name="GEMEndcapPDisk2_zmin"                   value="164.5"/>
0064     <constant name="GEMEndcapPDisk3_zmin"                   value="ForwardTrackingRegion_zmin + 2*cm"/>
0065     <constant name="GEMEndcapP_count"                       value="2"/>
0066     <constant name="GEMEndcapN_zmin"                        value="90*cm"/>
0067     <constant name="GEMEndcapN_offset"                      value="41.5*cm"/>
0068     <constant name="GEMEndcapN_count"                       value="1"/>
0069 
0070     <comment> Silicon tracker parameters </comment>
0071     <constant name="SiTrackerBarrelSpaceFrameCF_thickness"  value="0.12*mm"/>
0072     <constant name="SiTrackerBarrelSpaceFrame_height"       value="1.0*cm"/>
0073     <constant name="SiTrackerEndcapAl_thickness"            value="0.15*mm"/>
0074     <constant name="SiTrackerEndcapCF_thickness"            value="0.12*mm"/>
0075     <constant name="SiTrackerEndcapMod_count"               value="36"/>
0076     <constant name="SiTrackerEndcapMod_dz"                  value="0" />
0077     <constant name="SiTrackerEndcapMod_overlap"             value="0"/>
0078     <constant name="SiTrackerSensor_thickness"              value="40*um"/>
0079     <constant name="SiTrackerCyl_rmin"                      value="43.23" />
0080     <constant name="SiTrackerServiceConeAl_thickness"       value="2.5*mm" />
0081     <constant name="SiTrackerServiceCylAl_thickness"        value="2.5*mm" />
0082     <constant name="SiTrackerSupportConeCF_thickness"       value="2*mm" />
0083     <constant name="SiTrackerSupportCylCF_thickness"        value="2*mm" />
0084 
0085     <comment> MMGAS tracker parameters </comment>
0086     <constant name="MMKaptonOverlay_thickness"              value="50*um"/>
0087     <constant name="MMCuGround_thickness"                   value="1.58*um"/>
0088     <constant name="MMPCB_thickness"                        value="100*um"/>
0089     <constant name="MMCuStrip_thickness"                    value="12*um"/>
0090     <constant name="MMKaptonStrip_thickness"                value="75*um"/>
0091     <constant name="MMResistiveStrip_thickness"             value="128*um"/>
0092     <constant name="MMGas_thickness"                        value="20*um"/>
0093     <constant name="MMMesh_thickness"                       value="18*um"/>
0094     <constant name="MMGasGap_thickness"                     value="3000*um"/>
0095     <constant name="MMDriftCuElectrode_thickness"           value="5*um"/>
0096     <constant name="MMDriftKapton_thickness"                value="250*um"/>
0097     <constant name="MMDriftCuGround_thickness"              value="0.41*um"/>
0098 
0099     <comment> GEM tracker parameters </comment>
0100     <constant name="GEMEndcapMod_count"                     value="12"/>
0101     <constant name="GEMFrame_thickness"                     value="13.0*mm"/>
0102     <constant name="GEMFrameBotEdge_width"                  value="10.0*mm"/>
0103     <constant name="GEMFrameTopEdge_width"                  value="50.0*mm"/>
0104     <constant name="GEMFrameSideEdge_width"                 value="10.0*mm"/>
0105     <constant name="GEMSpoke_thickness"                     value="1.0*mm"/>
0106     <constant name="GEMSpoke_width"                         value="GEMFrameSideEdge_width"/>
0107     <comment> Account for the fact that GEMs have holes, so they are not solid volumes </comment>
0108     <constant name="GEMAreaFactor" value="0.80" />
0109     <comment> GEM layers </comment>
0110     <constant name="GEMMylar_thickness"                     value="25.0*um"/>
0111     <constant name="GEMGas_thickness"                       value="2.0*mm"/>
0112     <constant name="GEMDriftRegion_thickness"               value="3.0*mm"/>
0113     <constant name="GEMKapton_thickness"                    value="50*um"/>
0114     <constant name="GEMCuFoil_thickness"                    value="10*um"/>
0115     <constant name="GEMCuElectrode_thickness"               value="5.0*um"/>
0116 
0117   </define>
0118 
0119   <documentation>
0120     ## Inner silicon tracker barrel
0121     ### Silicon Tracker
0122 
0123 #### Some references:
0124 
0125 - With some added info on ITS3 chip from https://indico.bnl.gov/event/10677/contributions/45591/attachments/33204/53254/20210318-IR2%40EIC-SVT.pdf
0126 To be used as standin until we get more detailed specs from the working group on the tracker.
0127 - https://wiki.bnl.gov/athena/index.php/Tracking
0128 
0129 #### ITS3 sensors
0130 
0131 ITS3 sensor thickness:
0132 - 40um, pixel size: 10um (segmentation)
0133 - total X0 0.55% per barrel layer:
0134 -  0.35 mm aluminum ~ 0.4% X0.
0135 -  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%
0136 
0137 total X0 0.24% per disk layer (4 sectors per disk):
0138   - 0.15 mm aluminum ~ 0.16% X0.
0139   - 1 x carbonfiber (RL ~ 28) 0.12 mm to match Si (RL~9) of 0.04mm ~ 0.04%
0140 
0141   </documentation>
0142   <define>
0143     <constant name="InnerTrackerBarrelMod1_rmin"         value="InnerTrackerBarrel_rmin" />
0144     <constant name="InnerTrackerBarrelMod2_rmin"         value="InnerTrackerBarrelMod1_rmin + 1 * InnerTrackerBarrel_offset" />
0145     <constant name="InnerTrackerBarrelCone_length"       value="InnerTrackerBarrelCone_zmax - InnerTrackerBarrelCone_zmin" />
0146     <constant name="InnerTrackerBarrelCone_z"            value="(InnerTrackerBarrelCone_zmax + InnerTrackerBarrelCone_zmin)/2" />
0147     <constant name="InnerTrackerBarrelCone_thickness"    value="SiTrackerSupportConeCF_thickness + SiTrackerServiceConeAl_thickness" />
0148     <comment> Shorten Module (with non-zero thickness!) to avoid overlaps with support cone</comment>
0149     <constant name="InnerTrackerBarrelMod1_length"       value="2 * InnerTrackerBarrelMod1_rmin / CentralTrackingBarrel_tan - 0.5*cm - 2. * InnerTrackerBarrelCone_thickness" />
0150     <constant name="InnerTrackerBarrelMod2_length"       value="2 * InnerTrackerBarrelMod2_rmin / CentralTrackingBarrel_tan - 0.5*cm - 2. * InnerTrackerBarrelCone_thickness" />
0151     <constant name="InnerTrackerBarrelServiceCone_rmin1" value="InnerTrackerBarrelCone_zmin * CentralTrackingBarrel_tan" />
0152     <constant name="InnerTrackerBarrelServiceCone_rmax1" value="InnerTrackerBarrelServiceCone_rmin1 + SiTrackerServiceConeAl_thickness" />
0153     <constant name="InnerTrackerBarrelServiceCone_rmin2" value="InnerTrackerBarrelCone_zmax * CentralTrackingBarrel_tan" />
0154     <constant name="InnerTrackerBarrelServiceCone_rmax2" value="InnerTrackerBarrelServiceCone_rmin2 + SiTrackerServiceConeAl_thickness" />
0155     <constant name="InnerTrackerBarrelSupportCone_rmin1" value="InnerTrackerBarrelServiceCone_rmax1" />
0156     <constant name="InnerTrackerBarrelSupportCone_rmax1" value="InnerTrackerBarrelSupportCone_rmin1 + SiTrackerSupportConeCF_thickness" />
0157     <constant name="InnerTrackerBarrelSupportCone_rmin2" value="InnerTrackerBarrelServiceCone_rmax2" />
0158     <constant name="InnerTrackerBarrelSupportCone_rmax2" value="InnerTrackerBarrelSupportCone_rmin2 + SiTrackerSupportConeCF_thickness" />
0159     <constant name="InnerTrackerBarrelLayer1_length"     value="InnerTrackerBarrelMod1_length + 1*um" />
0160     <constant name="InnerTrackerBarrelLayer2_length"     value="InnerTrackerBarrelMod2_length + 1*um" />
0161     <constant name="InnerTrackerBarrelLayer_thickness"   value="1.1*cm" />
0162     <comment> Place asymmetrically in the layer (module sits near the bottom). </comment>
0163     <constant name="InnerTrackerBarrelLayer1_rmin"       value="InnerTrackerBarrelMod1_rmin - InnerTrackerBarrelLayer_thickness / 25" />
0164     <constant name="InnerTrackerBarrelLayer2_rmin"       value="InnerTrackerBarrelMod2_rmin - InnerTrackerBarrelLayer_thickness / 25" />
0165     <constant name="InnerTrackerBarrelLayer1_rmax"       value="InnerTrackerBarrelLayer1_rmin + InnerTrackerBarrelLayer_thickness" />
0166     <constant name="InnerTrackerBarrelLayer2_rmax"       value="InnerTrackerBarrelLayer2_rmin + InnerTrackerBarrelLayer_thickness" />
0167     <constant name="InnerTrackerBarrelEnvelope_length"   value="2 * InnerTrackerBarrelCone_zmax" />
0168     <constant name="InnerTrackerBarrelEnvelope_rmin"     value="VertexTrackingRegion_rmax" />
0169     <constant name="InnerTrackerBarrelEnvelope_rmax"     value="InnerTrackerBarrelLayer2_rmax" />
0170     <comment> Barrel staves, nmodules = np.pi/np.arcsin(frame_width*np.cos(tilt_angle)/2.0/R) </comment>
0171     <comment> (rounded up by 2 to avoid holes)</comment>
0172     <constant name="InnerTrackerBarrelModTilt_angle"     value="3.0*degree"/>
0173     <constant name="InnerTrackerBarrelMod1_count"        value="floor(180.*degree/asin(InnerTrackerBarrelMod_width*cos(InnerTrackerBarrelModTilt_angle)/2/InnerTrackerBarrelMod1_rmin))+2"/>
0174     <constant name="InnerTrackerBarrelMod2_count"        value="floor(180.*degree/asin(InnerTrackerBarrelMod_width*cos(InnerTrackerBarrelModTilt_angle)/2/InnerTrackerBarrelMod2_rmin))+2"/>
0175   </define>
0176   <detectors>
0177     <detector
0178       id="TrackerBarrel_0_ID"
0179       name="InnerTrackerBarrel"
0180       type="epic_TrackerBarrel"
0181       readout="TrackerBarrelHits"
0182       insideTrackingVolume="true">
0183       <dimensions
0184         rmin="InnerTrackerBarrelEnvelope_rmin"
0185         rmax="InnerTrackerBarrelEnvelope_rmax"
0186         length="InnerTrackerBarrelEnvelope_length"/>
0187       <comment>
0188         Tracker Barrel Modules
0189       </comment>
0190       <module name="InnerTrackerBarrel_Mod1" vis="TrackerModuleVis">
0191         <frame material="CarbonFiber" vis="TrackerSupportVis"
0192           width="InnerTrackerBarrelMod_width"
0193           height="SiTrackerBarrelSpaceFrame_height"
0194           length="InnerTrackerBarrelMod1_length"
0195           thickness="SiTrackerBarrelSpaceFrameCF_thickness" />
0196         <module_component name="silicon"
0197           width="InnerTrackerBarrelMod_width"
0198           length="InnerTrackerBarrelMod1_length" thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0199         <module_component name="aluminum1" material="Aluminum" sensitive="false"
0200           width="InnerTrackerBarrelMod_width" length="InnerTrackerBarrelMod1_length" thickness="0.4*mm" vis="TrackerServiceVis"/>
0201       </module>
0202       <module name="InnerTrackerBarrel_Mod2" vis="TrackerModuleVis">
0203         <frame material="CarbonFiber" vis="TrackerSupportVis"
0204           width="InnerTrackerBarrelMod_width"
0205           height="SiTrackerBarrelSpaceFrame_height"
0206           length="InnerTrackerBarrelMod2_length"
0207           thickness="SiTrackerBarrelSpaceFrameCF_thickness" />
0208         <module_component name="silicon"
0209           width="InnerTrackerBarrelMod_width"
0210           length="InnerTrackerBarrelMod2_length" thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0211         <module_component name="aluminum1" material="Aluminum" sensitive="false"
0212           width="InnerTrackerBarrelMod_width" length="InnerTrackerBarrelMod2_length" thickness="0.4*mm" vis="TrackerServiceVis" />
0213       </module>
0214       <layer module="InnerTrackerBarrel_Mod1" id="1" vis="TrackerLayerVis">
0215         <barrel_envelope
0216           inner_r="InnerTrackerBarrelLayer1_rmin"
0217           outer_r="InnerTrackerBarrelLayer1_rmax"
0218           z_length="InnerTrackerBarrelLayer1_length"/>
0219         <layer_material surface="outer" binning="binPhi,binZ" bins0="100*InnerTrackerBarrelMod1_count" bins1="100" />
0220         <rphi_layout phi_tilt="InnerTrackerBarrelModTilt_angle" nphi="InnerTrackerBarrelMod1_count" phi0="0.0" rc="InnerTrackerBarrelMod1_rmin" dr="0.0 * mm"/>
0221         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0222       </layer>
0223       <layer module="InnerTrackerBarrel_Mod2" id="2" vis="TrackerLayerVis">
0224         <barrel_envelope
0225           inner_r="InnerTrackerBarrelLayer2_rmin"
0226           outer_r="InnerTrackerBarrelLayer2_rmax"
0227           z_length="InnerTrackerBarrelLayer2_length"/>
0228         <layer_material surface="outer" binning="binPhi,binZ" bins0="100*InnerTrackerBarrelMod2_count" bins1="100" />
0229         <rphi_layout phi_tilt="InnerTrackerBarrelModTilt_angle" nphi="InnerTrackerBarrelMod2_count" phi0="0.0" rc="InnerTrackerBarrelMod2_rmin" dr="0.0 * mm"/>
0230         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0231       </layer>
0232     </detector>
0233   </detectors>
0234   <documentation>
0235     ## Inner silicon tracker disks, symmetric between N and P
0236   </documentation>
0237   <define>
0238     <comment> Global Si endcap variables </comment>
0239     <constant name="SiTrackerEndcapMod_thickness"   value="SiTrackerEndcapCF_thickness + SiTrackerEndcapAl_thickness + SiTrackerSensor_thickness" />
0240     <constant name="SiTrackerEndcapMod_angle"       value="360.0*degree / SiTrackerEndcapMod_count * (1 + SiTrackerEndcapMod_overlap)" />
0241     <constant name="SiTrackerEndcapLayer_thickness" value="SiTrackerEndcapMod_thickness + 2 * SiTrackerEndcapMod_dz + 1*um" />
0242     <constant name="SiTrackerServiceCyl_rmin" value="SiTrackerCyl_rmin"/>
0243     <constant name="SiTrackerServiceCyl_rmax" value="SiTrackerServiceCyl_rmin + SiTrackerServiceCylAl_thickness"/>
0244     <constant name="SiTrackerSupportCyl_rmin" value="SiTrackerServiceCyl_rmax"/>
0245     <constant name="SiTrackerSupportCyl_rmax" value="SiTrackerSupportCyl_rmin + SiTrackerSupportCylCF_thickness"/>
0246 
0247     <comment> Inner Si endcap setup </comment>
0248     <constant name="InnerTrackerEndcapMod1_zmin"  value="InnerTrackerEndcap_zmin" />
0249     <constant name="InnerTrackerEndcapMod1_rmin"  value="InnerTrackerEndcap_rmin" />
0250     <constant name="InnerTrackerEndcapMod1_rmax"  value="min(InnerTrackerEndcapMod1_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
0251     <constant name="InnerTrackerEndcapMod1_x1"    value="2 * InnerTrackerEndcapMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0252     <constant name="InnerTrackerEndcapMod1_x2"    value="2 * InnerTrackerEndcapMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0253     <constant name="InnerTrackerEndcapMod1_y"     value="InnerTrackerEndcapMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - InnerTrackerEndcapMod1_rmin" />
0254 
0255     <constant name="InnerTrackerEndcapMod2_zmin"  value="InnerTrackerEndcapMod1_zmin + 1 * InnerTrackerEndcap_offset" />
0256     <constant name="InnerTrackerEndcapMod2_rmin"  value="InnerTrackerEndcap_rmin" />
0257     <constant name="InnerTrackerEndcapMod2_rmax"  value="min(InnerTrackerEndcapMod2_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
0258     <constant name="InnerTrackerEndcapMod2_x1"    value="2 * InnerTrackerEndcapMod2_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0259     <constant name="InnerTrackerEndcapMod2_x2"    value="2 * InnerTrackerEndcapMod2_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0260     <constant name="InnerTrackerEndcapMod2_y"     value="InnerTrackerEndcapMod2_rmax * cos(SiTrackerEndcapMod_angle/2) - InnerTrackerEndcapMod2_rmin" />
0261 
0262     <constant name="InnerTrackerEndcapLayer1_rmin"        value="InnerTrackerEndcapMod1_rmin - 1*um" />
0263     <constant name="InnerTrackerEndcapLayer1_rmax"        value="InnerTrackerEndcapMod1_rmax + 1*um" />
0264     <constant name="InnerTrackerEndcapLayer1_zmin"        value="InnerTrackerEndcapMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
0265     <constant name="InnerTrackerEndcapLayer2_rmin"        value="InnerTrackerEndcapMod2_rmin - 1*um" />
0266     <constant name="InnerTrackerEndcapLayer2_rmax"        value="InnerTrackerEndcapMod2_rmax + 1*um" />
0267     <constant name="InnerTrackerEndcapLayer2_zmin"        value="InnerTrackerEndcapMod2_zmin - SiTrackerEndcapLayer_thickness/2" />
0268 
0269     <constant name="InnerTrackerEndcapCone_zmin"          value="InnerTrackerBarrelCone_zmax" />
0270     <constant name="InnerTrackerEndcapServiceCone_rmin1"  value="InnerTrackerEndcapCone_zmin * CentralTrackingBarrel_tan" />
0271     <constant name="InnerTrackerEndcapServiceCone_rmax1"  value="InnerTrackerEndcapServiceCone_rmin1 + SiTrackerServiceConeAl_thickness" />
0272     <constant name="InnerTrackerEndcapServiceCone_rmin2"  value="SiTrackerServiceCyl_rmin" />
0273     <constant name="InnerTrackerEndcapServiceCone_rmax2"  value="SiTrackerServiceCyl_rmax" />
0274     <constant name="InnerTrackerEndcapCone_zmax"          value="InnerTrackerEndcapServiceCone_rmin2 / CentralTrackingBarrel_tan" />
0275     <constant name="InnerTrackerEndcapCone_z"             value="(InnerTrackerEndcapCone_zmax + InnerTrackerEndcapCone_zmin)/2" />
0276     <constant name="InnerTrackerEndcapCone_length"        value="InnerTrackerEndcapCone_zmax - InnerTrackerEndcapCone_zmin" />
0277     <constant name="InnerTrackerEndcapSupportCone_rmin1"  value="InnerTrackerEndcapServiceCone_rmax1" />
0278     <constant name="InnerTrackerEndcapSupportCone_rmax1"  value="InnerTrackerEndcapSupportCone_rmin1 + SiTrackerSupportConeCF_thickness" />
0279     <constant name="InnerTrackerEndcapSupportCone_rmin2"  value="SiTrackerSupportCyl_rmin" />
0280     <constant name="InnerTrackerEndcapSupportCone_rmax2"  value="SiTrackerSupportCyl_rmax" />
0281 
0282     <comment> The tracker endcap ends at the same place as the medial tracker barrel that sits around it </comment>
0283     <constant name="InnerTrackerEndcap_zmax"              value="MedialTrackerBarrel_rmin / CentralTrackingBarrel_tan" />
0284     <constant name="InnerTrackerEndcapCyl_zmin"           value="InnerTrackerEndcapCone_zmax" />
0285     <constant name="InnerTrackerEndcapCyl_zmax"           value="InnerTrackerEndcap_zmax" />
0286     <constant name="InnerTrackerEndcapCyl_z"              value="(InnerTrackerEndcapCyl_zmin + InnerTrackerEndcapCyl_zmax)/2" />
0287     <constant name="InnerTrackerEndcapCyl_length"         value="InnerTrackerEndcapCyl_zmax - InnerTrackerEndcapCyl_zmin" />
0288 
0289   </define>
0290   <detectors>
0291     <detector type="epic_SupportServiceMaterial"
0292       name="SupportCone"
0293       id="TrackerSupport_0_ID"
0294     >
0295       <support type="Cone"
0296         name="serv_cone_dmmy_neg"
0297         vis="TrackerServiceVis"
0298         rmin1="SiTrackerServiceCyl_rmin"
0299         rmin2="InnerTrackerBarrelSupportCone_rmin1"
0300         length="InnerTrackerBarrelCone_length+InnerTrackerEndcapCone_length"
0301         thickness="0.1*cm">
0302           <position x="0*cm" y="0*cm" z="-(InnerTrackerBarrelCone_z + InnerTrackerEndcapCone_z)/2" />
0303           <component material="Aluminum" thickness="SiTrackerServiceConeAl_thickness" name="al_support_serv" vis="TrackerServiceVis" />
0304           <component material="CarbonFiber" thickness="SiTrackerSupportConeCF_thickness" name="al_support_serv2" vis="TrackerSupportVis"/>
0305       </support>
0306       <support type="Cone"
0307         name="serv_cone_dmmy_pos"
0308         vis="TrackerSupportVis"
0309         rmin1="InnerTrackerBarrelSupportCone_rmin1"
0310         rmin2="SiTrackerServiceCyl_rmin"
0311         length="InnerTrackerBarrelCone_length+InnerTrackerEndcapCone_length"
0312         thickness="0.1*cm">
0313       <position x="0*cm" y="0*cm" z="(InnerTrackerBarrelCone_z + InnerTrackerEndcapCone_z)/2" />
0314           <component material="Aluminum" thickness="SiTrackerServiceConeAl_thickness" name="al_support_serv" vis="TrackerServiceVis" />
0315           <component material="CarbonFiber" thickness="SiTrackerSupportConeCF_thickness" name="al_support_serv2" vis="TrackerSupportVis"/>
0316       </support>
0317       <support type="Tube"
0318         name="serv_cyl_pos"
0319         rmin="SiTrackerServiceCyl_rmin"
0320         thickness="0.1*cm"
0321         length="InnerTrackerEndcapCyl_length">
0322           <position x="0*cm" y="0*cm" z="InnerTrackerEndcapCyl_zmin" />
0323           <component material="Aluminum" thickness="SiTrackerServiceCylAl_thickness" vis="TrackerServiceVis" />
0324           <component material="CarbonFiber" thickness="SiTrackerSupportCylCF_thickness" vis="TrackerSupportVis" />
0325       </support>
0326       <support
0327         name="serv_cyl_neg"
0328         type="Tube"
0329         rmin="SiTrackerServiceCyl_rmin"
0330         thickness="0.1*cm"
0331         length="InnerTrackerEndcapCyl_length">
0332           <position x="0*cm" y="0*cm" z="-InnerTrackerEndcapCyl_zmin" />
0333           <component material="Aluminum" thickness="SiTrackerServiceCylAl_thickness" vis="TrackerServiceVis" />
0334           <component material="CarbonFiber" thickness="SiTrackerSupportCylCF_thickness" vis="TrackerSupportVis" />
0335       </support>
0336     </detector>
0337     <detector
0338       id="TrackerEndcapP_0_ID"
0339       name="InnerTrackerEndcapP"
0340       type="epic_TrapEndcapTracker"
0341       readout="TrackerEndcapHits"
0342       vis="TrackerVis"
0343       reflect="false">
0344       <module name="Module1" vis="TrackerModuleVis">
0345         <trd x1="InnerTrackerEndcapMod1_x1/2" x2="InnerTrackerEndcapMod1_x2/2" z="InnerTrackerEndcapMod1_y/2" />
0346         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0347         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0348         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0349       </module>
0350       <module name="Module2" vis="TrackerModuleVis">
0351         <trd x1="InnerTrackerEndcapMod2_x1/2" x2="InnerTrackerEndcapMod2_x2/2" z="InnerTrackerEndcapMod2_y/2" />
0352         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0353         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0354         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0355       </module>
0356       <layer id="1">
0357         <envelope vis="TrackerLayerVis"
0358           rmin="InnerTrackerEndcapLayer1_rmin"
0359           rmax="InnerTrackerEndcapLayer1_rmax"
0360           length="SiTrackerEndcapLayer_thickness"
0361           zstart="InnerTrackerEndcapLayer1_zmin" />
0362         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0363         <ring
0364           r="InnerTrackerEndcapMod1_rmin + InnerTrackerEndcapMod1_y/2"
0365           zstart="0"
0366           nmodules="SiTrackerEndcapMod_count"
0367           dz="SiTrackerEndcapMod_dz"
0368           module="Module1" />
0369       </layer>
0370       <layer id="2">
0371         <envelope vis="TrackerLayerVis"
0372           rmin="InnerTrackerEndcapLayer2_rmin"
0373           rmax="InnerTrackerEndcapLayer2_rmax"
0374           length="SiTrackerEndcapLayer_thickness"
0375           zstart="InnerTrackerEndcapLayer2_zmin" />
0376         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0377         <ring
0378           r="InnerTrackerEndcapMod2_rmin + InnerTrackerEndcapMod2_y/2"
0379           zstart="0"
0380           nmodules="SiTrackerEndcapMod_count"
0381           dz="SiTrackerEndcapMod_dz"
0382           module="Module2" />
0383       </layer>
0384     </detector>
0385     <detector
0386       id="TrackerEndcapN_0_ID"
0387       name="InnerTrackerEndcapN"
0388       type="epic_TrapEndcapTracker"
0389       readout="TrackerEndcapHits"
0390       vis="TrackerVis"
0391       reflect="true">
0392       <support material="Aluminum" name="serv_cone_neg" vis="TrackerServiceVis">
0393         <shape type="Cone"
0394           rmin1="InnerTrackerEndcapServiceCone_rmin2"
0395           rmax1="InnerTrackerEndcapServiceCone_rmax2"
0396           rmin2="InnerTrackerEndcapServiceCone_rmin1"
0397           rmax2="InnerTrackerEndcapServiceCone_rmax1"
0398           z="InnerTrackerEndcapCone_length/2"/>
0399         <position x="0*cm" y="0*cm" z="-1*InnerTrackerEndcapCone_z" />
0400       </support>
0401       <support material="CarbonFiber" name="sup_cone_neg" vis="TrackerSupportVis">
0402         <shape type="Cone"
0403           rmin1="InnerTrackerEndcapSupportCone_rmin2"
0404           rmax1="InnerTrackerEndcapSupportCone_rmax2"
0405           rmin2="InnerTrackerEndcapSupportCone_rmin1"
0406           rmax2="InnerTrackerEndcapSupportCone_rmax1"
0407           z="InnerTrackerEndcapCone_length/2"/>
0408         <position x="0*cm" y="0*cm" z="-1*InnerTrackerEndcapCone_z" />
0409       </support>
0410       <support material="Aluminum" name="serv_cyl_neg" vis="TrackerServiceVis"
0411           rmin="SiTrackerServiceCyl_rmin"
0412           thickness="SiTrackerServiceCylAl_thickness"
0413           length="InnerTrackerEndcapCyl_length"
0414           zstart="InnerTrackerEndcapCyl_zmin" />
0415       <support material="CarbonFiber" name="sup_cyl_neg" vis="TrackerSupportVis"
0416           rmin="SiTrackerSupportCyl_rmin"
0417           thickness="SiTrackerSupportCylCF_thickness"
0418           length="InnerTrackerEndcapCyl_length"
0419           zstart="InnerTrackerEndcapCyl_zmin" />
0420       <module name="Module1" vis="TrackerModuleVis">
0421         <trd x1="InnerTrackerEndcapMod1_x1/2" x2="InnerTrackerEndcapMod1_x2/2" z="InnerTrackerEndcapMod1_y/2" />
0422         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0423         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0424         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0425       </module>
0426       <module name="Module2" vis="TrackerModuleVis">
0427         <trd x1="InnerTrackerEndcapMod2_x1/2" x2="InnerTrackerEndcapMod2_x2/2" z="InnerTrackerEndcapMod2_y/2" />
0428         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0429         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0430         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0431       </module>
0432       <layer id="1">
0433         <envelope vis="TrackerLayerVis"
0434           rmin="InnerTrackerEndcapLayer1_rmin"
0435           rmax="InnerTrackerEndcapLayer1_rmax"
0436           length="SiTrackerEndcapLayer_thickness"
0437           zstart="InnerTrackerEndcapLayer1_zmin" />
0438         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0439         <ring
0440           r="InnerTrackerEndcapMod1_rmin + InnerTrackerEndcapMod1_y/2"
0441           zstart="0"
0442           nmodules="SiTrackerEndcapMod_count"
0443           dz="SiTrackerEndcapMod_dz"
0444           module="Module1" />
0445       </layer>
0446       <layer id="2">
0447         <envelope vis="TrackerLayerVis"
0448           rmin="InnerTrackerEndcapLayer2_rmin"
0449           rmax="InnerTrackerEndcapLayer2_rmax"
0450           length="SiTrackerEndcapLayer_thickness"
0451           zstart="InnerTrackerEndcapLayer2_zmin" />
0452         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0453         <ring
0454           r="InnerTrackerEndcapMod2_rmin + InnerTrackerEndcapMod2_y/2"
0455           zstart="0"
0456           nmodules="SiTrackerEndcapMod_count"
0457           dz="SiTrackerEndcapMod_dz"
0458           module="Module2" />
0459       </layer>
0460     </detector>
0461   </detectors>
0462   <documentation>
0463     ## Medial barrel tracker (MMGAS)
0464   </documentation>
0465   <define>
0466     <comment> Global MMGAS variables </comment>
0467     <constant
0468       name="MMTrackerBarrelMod_thickness"
0469       value="MMKaptonOverlay_thickness + MMCuGround_thickness + MMPCB_thickness
0470            + MMCuStrip_thickness + MMKaptonStrip_thickness + MMResistiveStrip_thickness
0471            + MMGas_thickness + MMMesh_thickness + MMGasGap_thickness
0472            + MMDriftCuElectrode_thickness + MMDriftKapton_thickness
0473            + MMDriftCuGround_thickness" />
0474     <comment> Medial barrel implementation </comment>
0475     <comment> The value of InnerTrackerEndcap_zmax is calculated above based on the rmin of the MedialTrackerBarrel </comment>
0476     <constant name="MedialTrackerBarrel_length"           value="2 * InnerTrackerEndcap_zmax"/>
0477     <constant name="MedialTrackerBarrelMod1_rmin"         value="MedialTrackerBarrel_rmin"/>
0478     <constant name="MedialTrackerBarrelMod_length"        value="MedialTrackerBarrel_length - 2*um" />
0479     <constant name="MedialTrackerBarrelMod2_rmin"         value="MedialTrackerBarrel_rmin + 1 * MedialTrackerBarrel_offset"/>
0480     <constant name="MedialTrackerBarrelMod_count"         value="128" />
0481     <constant name="MedialTrackerBarrelMod1_width"        value="2*MedialTrackerBarrelMod1_rmin * tan(180*degree/MedialTrackerBarrelMod_count)" />
0482     <constant name="MedialTrackerBarrelMod2_width"        value="2*MedialTrackerBarrelMod2_rmin * tan(180*degree/MedialTrackerBarrelMod_count)" />
0483 
0484     <constant name="MedialTrackerBarrelLayer_length"      value="MedialTrackerBarrel_length"/>
0485     <constant name="MedialTrackerBarrelLayer_thickness"   value="MMTrackerBarrelMod_thickness + 1.0*cm"/>
0486     <constant name="MedialTrackerBarrelLayer1_rmin"       value="MedialTrackerBarrelMod1_rmin - MedialTrackerBarrelLayer_thickness / 5" />
0487     <constant name="MedialTrackerBarrelLayer1_rmax"       value="MedialTrackerBarrelLayer1_rmin + MedialTrackerBarrelLayer_thickness" />
0488     <constant name="MedialTrackerBarrelLayer2_rmin"       value="MedialTrackerBarrelMod2_rmin - MedialTrackerBarrelLayer_thickness / 5" />
0489     <constant name="MedialTrackerBarrelLayer2_rmax"       value="MedialTrackerBarrelLayer2_rmin + MedialTrackerBarrelLayer_thickness" />
0490 
0491     <constant name="MedialTrackerBarrelEnvelope_rmin"   value="MedialTrackerBarrelLayer1_rmin" />
0492     <constant name="MedialTrackerBarrelEnvelope_rmax"   value="MedialTrackerBarrelLayer2_rmax" />
0493     <constant name="MedialTrackerBarrelEnvelope_length" value="MedialTrackerBarrelLayer_length" />
0494   </define>
0495   <detectors>
0496     <detector
0497       id="TrackerBarrel_1_ID"
0498       name="MedialTrackerBarrel"
0499       type="epic_TrackerBarrel"
0500       readout="MPGDTrackerBarrelHits"
0501       insideTrackingVolume="true">
0502       <dimensions
0503         rmin="MedialTrackerBarrelEnvelope_rmin"
0504         rmax="MedialTrackerBarrelEnvelope_rmax"
0505         length="MedialTrackerBarrelEnvelope_length"/>
0506       <module name="MedialTrackerBarrel_Mod1" vis="TrackerMPGDVis">
0507         <comment> Going from the inside (sensitive) side to the readout side </comment>
0508         <module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0509         <module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0510         <module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0511         <module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0512         <module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0513         <module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0514         <module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0515         <module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0516         <module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0517         <module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0518         <module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0519         <module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="MedialTrackerBarrelMod1_width" length="MedialTrackerBarrelMod_length"/>
0520       </module>
0521       <module name="MedialTrackerBarrel_Mod2" vis="TrackerMPGDVis">
0522         <comment> Going from the inside (sensitive) side to the readout side </comment>
0523         <module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0524         <module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0525         <module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0526         <module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0527         <module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0528         <module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0529         <module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0530         <module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0531         <module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0532         <module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0533         <module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0534         <module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="MedialTrackerBarrelMod2_width" length="MedialTrackerBarrelMod_length"/>
0535       </module>
0536       <layer module="MedialTrackerBarrel_Mod1" id="1" vis="TrackerMMGASLayerVis">
0537         <barrel_envelope
0538           inner_r="MedialTrackerBarrelLayer1_rmin"
0539           outer_r="MedialTrackerBarrelLayer1_rmax"
0540           z_length="MedialTrackerBarrelLayer_length"/>
0541         <layer_material surface="outer" binning="binPhi,binZ" bins0="10*MedialTrackerBarrelMod_count" bins1="100" />
0542         <rphi_layout phi_tilt="0" nphi="MedialTrackerBarrelMod_count" phi0="0.0" rc="MedialTrackerBarrelMod1_rmin" dr="0.0 * mm"/>
0543         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0544       </layer>
0545       <layer module="MedialTrackerBarrel_Mod2" id="2" vis="TrackerMMGASLayerVis">
0546         <barrel_envelope
0547           inner_r="MedialTrackerBarrelLayer2_rmin"
0548           outer_r="MedialTrackerBarrelLayer2_rmax"
0549           z_length="MedialTrackerBarrelLayer_length"/>
0550         <layer_material surface="outer" binning="binPhi,binZ" bins0="10*MedialTrackerBarrelMod_count" bins1="100" />
0551         <rphi_layout phi_tilt="0" nphi="MedialTrackerBarrelMod_count" phi0="0.0" rc="MedialTrackerBarrelMod2_rmin" dr="0.0 * mm"/>
0552         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0553       </layer>
0554     </detector>
0555   </detectors>
0556   <documentation>
0557     ## Medial silicon tracker disks (1 each), symmetric between N and P except for disk rmin
0558   </documentation>
0559   <define>
0560     <comment> Medial Si endcap setup </comment>
0561     <constant name="MedialTrackerEndcapPMod1_zmin"  value="MedialTrackerEndcap_zmin" />
0562     <constant name="MedialTrackerEndcapPMod1_rmin"  value="MedialTrackerEndcapP_rmin" />
0563     <constant name="MedialTrackerEndcapPMod1_rmax"  value="min(MedialTrackerEndcapPMod1_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
0564     <constant name="MedialTrackerEndcapPMod1_x1"    value="2 * MedialTrackerEndcapPMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0565     <constant name="MedialTrackerEndcapPMod1_x2"    value="2 * MedialTrackerEndcapPMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0566     <constant name="MedialTrackerEndcapPMod1_y"     value="MedialTrackerEndcapPMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - MedialTrackerEndcapPMod1_rmin" />
0567 
0568     <constant name="MedialTrackerEndcapPLayer1_rmin"  value="MedialTrackerEndcapPMod1_rmin - 1*um" />
0569     <constant name="MedialTrackerEndcapPLayer1_rmax"  value="MedialTrackerEndcapPMod1_rmax + 1*um" />
0570     <constant name="MedialTrackerEndcapPLayer1_zmin"  value="MedialTrackerEndcapPMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
0571 
0572     <constant name="MedialTrackerEndcapNMod1_zmin"  value="MedialTrackerEndcap_zmin" />
0573     <constant name="MedialTrackerEndcapNMod1_rmin"  value="MedialTrackerEndcapN_rmin" />
0574     <constant name="MedialTrackerEndcapNMod1_rmax"  value="min(MedialTrackerEndcapNMod1_zmin * CentralTrackingBarrel_tan * 0.995, SiTrackerCyl_rmin)" />
0575     <constant name="MedialTrackerEndcapNMod1_x1"    value="2 * MedialTrackerEndcapNMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0576     <constant name="MedialTrackerEndcapNMod1_x2"    value="2 * MedialTrackerEndcapNMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0577     <constant name="MedialTrackerEndcapNMod1_y"     value="MedialTrackerEndcapNMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - MedialTrackerEndcapNMod1_rmin" />
0578 
0579     <constant name="MedialTrackerEndcapNLayer1_rmin"  value="MedialTrackerEndcapNMod1_rmin - 1*um" />
0580     <constant name="MedialTrackerEndcapNLayer1_rmax"  value="MedialTrackerEndcapNMod1_rmax + 1*um" />
0581     <constant name="MedialTrackerEndcapNLayer1_zmin"  value="MedialTrackerEndcapNMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
0582 
0583     <comment> The tracker endcap ends at the same place as the outer tracker barrel that sits around it </comment>
0584     <constant name="MedialTrackerEndcap_zmax"              value="OuterTrackerBarrel_rmin / CentralTrackingBarrel_tan" />
0585     <constant name="MedialTrackerEndcapCyl_zmin"           value="InnerTrackerEndcap_zmax" />
0586     <constant name="MedialTrackerEndcapCyl_zmax"           value="MedialTrackerEndcap_zmax" />
0587     <constant name="MedialTrackerEndcapCyl_z"              value="(MedialTrackerEndcapCyl_zmin + MedialTrackerEndcapCyl_zmax)/2" />
0588     <constant name="MedialTrackerEndcapCyl_length"         value="MedialTrackerEndcapCyl_zmax - MedialTrackerEndcapCyl_zmin" />
0589 
0590   </define>
0591   <detectors>
0592     <detector
0593       id="TrackerEndcapP_1_ID"
0594       name="MedialTrackerEndcapP"
0595       type="epic_TrapEndcapTracker"
0596       readout="TrackerEndcapHits"
0597       vis="TrackerVis"
0598       reflect="false">
0599       <support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
0600           rmin="SiTrackerServiceCyl_rmin"
0601           thickness="SiTrackerServiceCylAl_thickness"
0602           length="MedialTrackerEndcapCyl_length"
0603           zstart="MedialTrackerEndcapCyl_zmin" />
0604       <support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
0605           rmin="SiTrackerSupportCyl_rmin"
0606           thickness="SiTrackerSupportCylCF_thickness"
0607           length="MedialTrackerEndcapCyl_length"
0608           zstart="MedialTrackerEndcapCyl_zmin" />
0609       <module name="Module1" vis="TrackerModuleVis">
0610         <trd x1="MedialTrackerEndcapPMod1_x1/2" x2="MedialTrackerEndcapPMod1_x2/2" z="MedialTrackerEndcapPMod1_y/2" />
0611         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0612         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0613         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0614       </module>
0615       <layer id="1">
0616         <envelope vis="TrackerLayerVis"
0617           rmin="MedialTrackerEndcapPLayer1_rmin"
0618           rmax="MedialTrackerEndcapPLayer1_rmax"
0619           length="SiTrackerEndcapLayer_thickness"
0620           zstart="MedialTrackerEndcapPLayer1_zmin" />
0621         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0622         <ring
0623           r="MedialTrackerEndcapPMod1_rmin + MedialTrackerEndcapPMod1_y/2"
0624           zstart="0"
0625           nmodules="SiTrackerEndcapMod_count"
0626           dz="SiTrackerEndcapMod_dz"
0627           module="Module1" />
0628       </layer>
0629     </detector>
0630     <detector
0631       id="TrackerEndcapN_1_ID"
0632       name="MedialTrackerEndcapN"
0633       type="epic_TrapEndcapTracker"
0634       readout="TrackerEndcapHits"
0635       vis="TrackerVis"
0636       reflect="true">
0637       <support material="Aluminum" name="serv_cyl_neg" vis="TrackerServiceVis"
0638           rmin="SiTrackerServiceCyl_rmin"
0639           thickness="SiTrackerServiceCylAl_thickness"
0640           length="MedialTrackerEndcapCyl_length"
0641           zstart="MedialTrackerEndcapCyl_zmin" />
0642       <support material="CarbonFiber" name="sup_cyl_neg" vis="TrackerSupportVis"
0643           rmin="SiTrackerSupportCyl_rmin"
0644           thickness="SiTrackerSupportCylCF_thickness"
0645           length="MedialTrackerEndcapCyl_length"
0646           zstart="MedialTrackerEndcapCyl_zmin" />
0647       <module name="Module1" vis="TrackerModuleVis">
0648         <trd x1="MedialTrackerEndcapNMod1_x1/2" x2="MedialTrackerEndcapNMod1_x2/2" z="MedialTrackerEndcapNMod1_y/2" />
0649         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0650         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0651         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0652       </module>
0653       <layer id="1">
0654         <envelope vis="TrackerLayerVis"
0655           rmin="MedialTrackerEndcapNLayer1_rmin"
0656           rmax="MedialTrackerEndcapNLayer1_rmax"
0657           length="SiTrackerEndcapLayer_thickness"
0658           zstart="MedialTrackerEndcapNLayer1_zmin" />
0659         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0660         <ring
0661           r="MedialTrackerEndcapNMod1_rmin + MedialTrackerEndcapNMod1_y/2"
0662           zstart="0"
0663           nmodules="SiTrackerEndcapMod_count"
0664           dz="SiTrackerEndcapMod_dz"
0665           module="Module1" />
0666       </layer>
0667     </detector>
0668   </detectors>
0669   <documentation>
0670     ## Outer barrel tracker (MMGAS)
0671   </documentation>
0672   <define>
0673     <comment> The value of MedialTrackerEndcap_zmax is calculated above based on the rmin of the OuterTrackerBarrel </comment>
0674     <constant name="OuterTrackerBarrel_length"            value="2 * MedialTrackerEndcap_zmax"/>
0675     <constant name="OuterTrackerBarrelMod1_rmin"          value="OuterTrackerBarrel_rmin"/>
0676     <constant name="OuterTrackerBarrelMod_length"         value="OuterTrackerBarrel_length - 2*um" />
0677     <constant name="OuterTrackerBarrelMod2_rmin"          value="OuterTrackerBarrel_rmin + 1 * OuterTrackerBarrel_offset"/>
0678     <constant name="OuterTrackerBarrelMod_count"          value="128" />
0679     <constant name="OuterTrackerBarrelMod1_width"         value="2*OuterTrackerBarrelMod1_rmin * tan(180*degree/OuterTrackerBarrelMod_count)" />
0680     <constant name="OuterTrackerBarrelMod2_width"         value="2*OuterTrackerBarrelMod2_rmin * tan(180*degree/OuterTrackerBarrelMod_count)" />
0681 
0682     <constant name="OuterTrackerBarrelLayer_length"       value="OuterTrackerBarrel_length"/>
0683     <constant name="OuterTrackerBarrelLayer_thickness"    value="MMTrackerBarrelMod_thickness + 1.0*cm"/>
0684     <constant name="OuterTrackerBarrelLayer1_rmin"        value="OuterTrackerBarrelMod1_rmin - OuterTrackerBarrelLayer_thickness / 5" />
0685     <constant name="OuterTrackerBarrelLayer1_rmax"        value="OuterTrackerBarrelLayer1_rmin + OuterTrackerBarrelLayer_thickness" />
0686     <constant name="OuterTrackerBarrelLayer2_rmin"        value="OuterTrackerBarrelMod2_rmin - OuterTrackerBarrelLayer_thickness / 5" />
0687     <constant name="OuterTrackerBarrelLayer2_rmax"        value="OuterTrackerBarrelLayer2_rmin + OuterTrackerBarrelLayer_thickness" />
0688 
0689     <constant name="OuterTrackerBarrelEnvelope_rmin"    value="OuterTrackerBarrelLayer1_rmin" />
0690     <constant name="OuterTrackerBarrelEnvelope_rmax"    value="OuterTrackerBarrelLayer2_rmax" />
0691     <constant name="OuterTrackerBarrelEnvelope_length"  value="OuterTrackerBarrelLayer_length" />
0692   </define>
0693   <detectors>
0694     <detector
0695       id="TrackerBarrel_2_ID"
0696       name="OuterTrackerBarrel"
0697       type="epic_TrackerBarrel"
0698       readout="MPGDTrackerBarrelHits"
0699       insideTrackingVolume="true">
0700       <dimensions
0701         rmin="OuterTrackerBarrelEnvelope_rmin"
0702         rmax="OuterTrackerBarrelEnvelope_rmax"
0703         length="OuterTrackerBarrelEnvelope_length"/>
0704       <module name="OuterTrackerBarrel_Mod1" vis="TrackerMPGDVis">
0705         <comment> Going from the inside (sensitive) side to the readout side </comment>
0706         <module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0707         <module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0708         <module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0709         <module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0710         <module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0711         <module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0712         <module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0713         <module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0714         <module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0715         <module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0716         <module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0717         <module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="OuterTrackerBarrelMod1_width" length="OuterTrackerBarrelMod_length"/>
0718       </module>
0719       <module name="OuterTrackerBarrel_Mod2" vis="TrackerMPGDVis">
0720         <comment> Going from the inside (sensitive) side to the readout side </comment>
0721         <module_component name="DriftCuGround" thickness="MMDriftCuGround_thickness" material="Copper" vis="TrackerMPGDVis" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0722         <module_component name="DriftKapton" thickness="MMDriftKapton_thickness" material="Kapton" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0723         <module_component name="DriftCuElectrode" thickness="MMDriftCuElectrode_thickness" material="Copper" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0724         <module_component name="GasGap" thickness="MMGasGap_thickness" material="Ar90IsoButane" sensitive="True" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0725         <module_component name="Mesh" thickness="MMMesh_thickness" material="MMGAS_InoxForMesh" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0726         <module_component name="Gas" thickness="MMGas_thickness" material="Ar90IsoButane" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0727         <module_component name="ResistiveStrips" thickness="MMResistiveStrip_thickness" material="MMGAS_ResistivePaste" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0728         <module_component name="KaptonStrips" thickness="MMKaptonStrip_thickness" material="Kapton" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0729         <module_component name="CuStrips" thickness="MMCuStrip_thickness" material="Copper" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0730         <module_component name="PCB" thickness="MMPCB_thickness" material="Fr4" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0731         <module_component name="CuGround" thickness="MMCuGround_thickness" material="Copper" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0732         <module_component name="KaptonOverlay" thickness="MMKaptonOverlay_thickness" material="Kapton" vis="TrackerSupportVis" width="OuterTrackerBarrelMod2_width" length="OuterTrackerBarrelMod_length"/>
0733       </module>
0734       <layer module="OuterTrackerBarrel_Mod1" id="1" vis="TrackerMMGASLayerVis">
0735         <barrel_envelope
0736           inner_r="OuterTrackerBarrelLayer1_rmin"
0737           outer_r="OuterTrackerBarrelLayer1_rmax"
0738           z_length="OuterTrackerBarrelLayer_length"/>
0739         <layer_material surface="outer" binning="binPhi,binZ" bins0="10*OuterTrackerBarrelMod_count" bins1="100" />
0740         <rphi_layout phi_tilt="0" nphi="OuterTrackerBarrelMod_count" phi0="0.0" rc="OuterTrackerBarrelMod1_rmin" dr="0.0 * mm"/>
0741         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0742       </layer>
0743       <layer module="OuterTrackerBarrel_Mod2" id="2" vis="TrackerMMGASLayerVis">
0744         <barrel_envelope
0745           inner_r="OuterTrackerBarrelLayer2_rmin"
0746           outer_r="OuterTrackerBarrelLayer2_rmax"
0747           z_length="OuterTrackerBarrelLayer_length"/>
0748         <layer_material surface="outer" binning="binPhi,binZ" bins0="10*OuterTrackerBarrelMod_count" bins1="100" />
0749         <rphi_layout phi_tilt="0" nphi="OuterTrackerBarrelMod_count" phi0="0.0" rc="OuterTrackerBarrelMod2_rmin" dr="0.0 * mm"/>
0750         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
0751       </layer>
0752     </detector>
0753   </detectors>
0754   <documentation>
0755     ## Outer silicon tracker disks (3P, 2N)
0756   </documentation>
0757   <define>
0758     <comment> Positive disks </comment>
0759     <constant name="OuterTrackerEndcapPMod1_zmin" value="OuterTrackerEndcapP_zmin" />
0760     <constant name="OuterTrackerEndcapPMod1_rmin" value="OuterTrackerEndcapPMod1_zmin * CentralTrackingRegionP_tan * 0.99" />
0761     <constant name="OuterTrackerEndcapPMod1_rmax"  value="SiTrackerCyl_rmin" />
0762     <constant name="OuterTrackerEndcapPMod1_x1"    value="2 * OuterTrackerEndcapPMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0763     <constant name="OuterTrackerEndcapPMod1_x2"    value="2 * OuterTrackerEndcapPMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0764     <constant name="OuterTrackerEndcapPMod1_y"     value="OuterTrackerEndcapPMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapPMod1_rmin" />
0765     <constant name="OuterTrackerEndcapPLayer1_rmin"  value="OuterTrackerEndcapPMod1_rmin - 1*um" />
0766     <constant name="OuterTrackerEndcapPLayer1_rmax"  value="OuterTrackerEndcapPMod1_rmax + 1*um" />
0767     <constant name="OuterTrackerEndcapPLayer1_zmin"  value="OuterTrackerEndcapPMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
0768 
0769     <constant name="OuterTrackerEndcapPMod2_zmin" value="OuterTrackerEndcapP_zmin + 1 * OuterTrackerEndcapP_offset" />
0770     <constant name="OuterTrackerEndcapPMod2_rmin" value="OuterTrackerEndcapPMod2_zmin * CentralTrackingRegionP_tan * 0.99" />
0771     <constant name="OuterTrackerEndcapPMod2_rmax"  value="SiTrackerCyl_rmin" />
0772     <constant name="OuterTrackerEndcapPMod2_x1"    value="2 * OuterTrackerEndcapPMod2_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0773     <constant name="OuterTrackerEndcapPMod2_x2"    value="2 * OuterTrackerEndcapPMod2_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0774     <constant name="OuterTrackerEndcapPMod2_y"     value="OuterTrackerEndcapPMod2_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapPMod2_rmin" />
0775     <constant name="OuterTrackerEndcapPLayer2_rmin"  value="OuterTrackerEndcapPMod2_rmin - 1*um" />
0776     <constant name="OuterTrackerEndcapPLayer2_rmax"  value="OuterTrackerEndcapPMod2_rmax + 1*um" />
0777     <constant name="OuterTrackerEndcapPLayer2_zmin"  value="OuterTrackerEndcapPMod2_zmin - SiTrackerEndcapLayer_thickness/2" />
0778 
0779     <constant name="OuterTrackerEndcapPMod3_zmin" value="OuterTrackerEndcapP_zmin + 2 * OuterTrackerEndcapP_offset" />
0780     <constant name="OuterTrackerEndcapPMod3_rmin" value="OuterTrackerEndcapPMod3_zmin * CentralTrackingRegionP_tan * 1.00" />
0781     <constant name="OuterTrackerEndcapPMod3_rmax"  value="SiTrackerCyl_rmin" />
0782     <constant name="OuterTrackerEndcapPMod3_x1"    value="2 * OuterTrackerEndcapPMod3_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0783     <constant name="OuterTrackerEndcapPMod3_x2"    value="2 * OuterTrackerEndcapPMod3_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0784     <constant name="OuterTrackerEndcapPMod3_y"     value="OuterTrackerEndcapPMod3_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapPMod3_rmin" />
0785     <constant name="OuterTrackerEndcapPLayer3_rmin"  value="OuterTrackerEndcapPMod3_rmin - 1*um" />
0786     <constant name="OuterTrackerEndcapPLayer3_rmax"  value="OuterTrackerEndcapPMod3_rmax + 1*um" />
0787     <constant name="OuterTrackerEndcapPLayer3_zmin"  value="OuterTrackerEndcapPMod3_zmin - SiTrackerEndcapLayer_thickness/2" />
0788 
0789     <comment> The Si tracker endcap ends at position of the last disk </comment>
0790     <constant name="OuterTrackerEndcapP_zmax"             value="OuterTrackerEndcapPLayer3_zmin + SiTrackerEndcapLayer_thickness" />
0791     <constant name="OuterTrackerEndcapPCyl_zmin"           value="MedialTrackerEndcap_zmax" />
0792     <constant name="OuterTrackerEndcapPCyl_zmax"           value="OuterTrackerEndcapP_zmax" />
0793     <constant name="OuterTrackerEndcapPCyl_z"              value="(OuterTrackerEndcapPCyl_zmin + OuterTrackerEndcapPCyl_zmax)/2" />
0794     <constant name="OuterTrackerEndcapPCyl_length"         value="OuterTrackerEndcapPCyl_zmax - OuterTrackerEndcapPCyl_zmin" />
0795 
0796     <comment> Negative disks </comment>
0797     <constant name="OuterTrackerEndcapNMod1_zmin" value="OuterTrackerEndcapN_zmin" />
0798     <constant name="OuterTrackerEndcapNMod1_rmin" value="OuterTrackerEndcapNMod1_zmin * CentralTrackingRegionN_tan * 1.00" />
0799     <constant name="OuterTrackerEndcapNMod1_rmax"  value="SiTrackerCyl_rmin" />
0800     <constant name="OuterTrackerEndcapNMod1_x1"    value="2 * OuterTrackerEndcapNMod1_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0801     <constant name="OuterTrackerEndcapNMod1_x2"    value="2 * OuterTrackerEndcapNMod1_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0802     <constant name="OuterTrackerEndcapNMod1_y"     value="OuterTrackerEndcapNMod1_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapNMod1_rmin" />
0803     <constant name="OuterTrackerEndcapNLayer1_rmin"  value="OuterTrackerEndcapNMod1_rmin - 1*um" />
0804     <constant name="OuterTrackerEndcapNLayer1_rmax"  value="OuterTrackerEndcapNMod1_rmax + 1*um" />
0805     <constant name="OuterTrackerEndcapNLayer1_zmin"  value="OuterTrackerEndcapNMod1_zmin - SiTrackerEndcapLayer_thickness/2" />
0806 
0807     <constant name="OuterTrackerEndcapNMod2_zmin" value="OuterTrackerEndcapN_zmin + 1 * OuterTrackerEndcapN_offset" />
0808     <constant name="OuterTrackerEndcapNMod2_rmin" value="OuterTrackerEndcapNMod2_zmin * CentralTrackingRegionN_tan * 1.00" />
0809     <constant name="OuterTrackerEndcapNMod2_rmax"  value="SiTrackerCyl_rmin" />
0810     <constant name="OuterTrackerEndcapNMod2_x1"    value="2 * OuterTrackerEndcapNMod2_rmin * tan(SiTrackerEndcapMod_angle/2)" />
0811     <constant name="OuterTrackerEndcapNMod2_x2"    value="2 * OuterTrackerEndcapNMod2_rmax * sin(SiTrackerEndcapMod_angle/2)" />
0812     <constant name="OuterTrackerEndcapNMod2_y"     value="OuterTrackerEndcapNMod2_rmax * cos(SiTrackerEndcapMod_angle/2) - OuterTrackerEndcapNMod2_rmin" />
0813     <constant name="OuterTrackerEndcapNLayer2_rmin"  value="OuterTrackerEndcapNMod2_rmin - 1*um" />
0814     <constant name="OuterTrackerEndcapNLayer2_rmax"  value="OuterTrackerEndcapNMod2_rmax + 1*um" />
0815     <constant name="OuterTrackerEndcapNLayer2_zmin"  value="OuterTrackerEndcapNMod2_zmin - SiTrackerEndcapLayer_thickness/2" />
0816 
0817     <comment> The Si tracker endcap ends at position of the last disk </comment>
0818     <constant name="OuterTrackerEndcapN_zmax"             value="OuterTrackerEndcapNLayer2_zmin + SiTrackerEndcapLayer_thickness" />
0819     <constant name="OuterTrackerEndcapNCyl_zmin"           value="MedialTrackerEndcap_zmax" />
0820     <constant name="OuterTrackerEndcapNCyl_zmax"           value="OuterTrackerEndcapN_zmax" />
0821     <constant name="OuterTrackerEndcapNCyl_z"              value="(OuterTrackerEndcapNCyl_zmin + OuterTrackerEndcapNCyl_zmax)/2" />
0822     <constant name="OuterTrackerEndcapNCyl_length"         value="OuterTrackerEndcapNCyl_zmax - OuterTrackerEndcapNCyl_zmin" />
0823 
0824   </define>
0825   <detectors>
0826     <detector
0827       id="TrackerEndcapP_2_ID"
0828       name="OuterTrackerEndcapP"
0829       type="epic_TrapEndcapTracker"
0830       readout="TrackerEndcapHits"
0831       vis="TrackerVis"
0832       reflect="false">
0833       <support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
0834           rmin="SiTrackerServiceCyl_rmin"
0835           thickness="SiTrackerServiceCylAl_thickness"
0836           length="OuterTrackerEndcapPCyl_length"
0837           zstart="OuterTrackerEndcapPCyl_zmin" />
0838       <support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
0839           rmin="SiTrackerSupportCyl_rmin"
0840           thickness="SiTrackerSupportCylCF_thickness"
0841           length="OuterTrackerEndcapPCyl_length"
0842           zstart="OuterTrackerEndcapPCyl_zmin" />
0843       <module name="Module1" vis="TrackerModuleVis">
0844         <trd x1="OuterTrackerEndcapPMod1_x1/2" x2="OuterTrackerEndcapPMod1_x2/2" z="OuterTrackerEndcapPMod1_y/2" />
0845         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0846         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0847         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0848       </module>
0849       <module name="Module2" vis="TrackerModuleVis">
0850         <trd x1="OuterTrackerEndcapPMod2_x1/2" x2="OuterTrackerEndcapPMod2_x2/2" z="OuterTrackerEndcapPMod2_y/2" />
0851         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0852         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0853         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0854       </module>
0855       <module name="Module3" vis="TrackerModuleVis">
0856         <trd x1="OuterTrackerEndcapPMod3_x1/2" x2="OuterTrackerEndcapPMod3_x2/2" z="OuterTrackerEndcapPMod3_y/2" />
0857         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0858         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0859         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0860       </module>
0861       <layer id="1">
0862         <envelope vis="TrackerLayerVis"
0863           rmin="OuterTrackerEndcapPLayer1_rmin"
0864           rmax="OuterTrackerEndcapPLayer1_rmax"
0865           length="SiTrackerEndcapLayer_thickness"
0866           zstart="OuterTrackerEndcapPLayer1_zmin" />
0867         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0868         <ring
0869           r="OuterTrackerEndcapPMod1_rmin + OuterTrackerEndcapPMod1_y/2"
0870           zstart="0"
0871           nmodules="SiTrackerEndcapMod_count"
0872           dz="SiTrackerEndcapMod_dz"
0873           module="Module1" />
0874       </layer>
0875       <layer id="2">
0876         <envelope vis="TrackerLayerVis"
0877           rmin="OuterTrackerEndcapPLayer2_rmin"
0878           rmax="OuterTrackerEndcapPLayer2_rmax"
0879           length="SiTrackerEndcapLayer_thickness"
0880           zstart="OuterTrackerEndcapPLayer2_zmin" />
0881         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0882         <ring
0883           r="OuterTrackerEndcapPMod2_rmin + OuterTrackerEndcapPMod2_y/2"
0884           zstart="0"
0885           nmodules="SiTrackerEndcapMod_count"
0886           dz="SiTrackerEndcapMod_dz"
0887           module="Module2" />
0888       </layer>
0889       <layer id="3">
0890         <envelope vis="TrackerLayerVis"
0891           rmin="OuterTrackerEndcapPLayer3_rmin"
0892           rmax="OuterTrackerEndcapPLayer3_rmax"
0893           length="SiTrackerEndcapLayer_thickness"
0894           zstart="OuterTrackerEndcapPLayer3_zmin" />
0895         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0896         <ring
0897           r="OuterTrackerEndcapPMod3_rmin + OuterTrackerEndcapPMod3_y/2"
0898           zstart="0"
0899           nmodules="SiTrackerEndcapMod_count"
0900           dz="SiTrackerEndcapMod_dz"
0901           module="Module3" />
0902       </layer>
0903     </detector>
0904     <detector
0905       id="TrackerEndcapN_2_ID"
0906       name="OuterTrackerEndcapN"
0907       type="epic_TrapEndcapTracker"
0908       readout="TrackerEndcapHits"
0909       vis="TrackerVis"
0910       reflect="true">
0911       <support material="Aluminum" name="serv_cyl_pos" vis="TrackerServiceVis"
0912           rmin="SiTrackerServiceCyl_rmin"
0913           thickness="SiTrackerServiceCylAl_thickness"
0914           length="OuterTrackerEndcapNCyl_length"
0915           zstart="OuterTrackerEndcapNCyl_zmin" />
0916       <support material="CarbonFiber" name="sup_cyl_pos" vis="TrackerSupportVis"
0917           rmin="SiTrackerSupportCyl_rmin"
0918           thickness="SiTrackerSupportCylCF_thickness"
0919           length="OuterTrackerEndcapNCyl_length"
0920           zstart="OuterTrackerEndcapNCyl_zmin" />
0921       <module name="Module1" vis="TrackerModuleVis">
0922         <trd x1="OuterTrackerEndcapNMod1_x1/2" x2="OuterTrackerEndcapNMod1_x2/2" z="OuterTrackerEndcapNMod1_y/2" />
0923         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0924         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0925         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0926       </module>
0927       <module name="Module2" vis="TrackerModuleVis">
0928         <trd x1="OuterTrackerEndcapNMod2_x1/2" x2="OuterTrackerEndcapNMod2_x2/2" z="OuterTrackerEndcapNMod2_y/2" />
0929         <module_component thickness="SiTrackerEndcapCF_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
0930         <module_component thickness="SiTrackerEndcapAl_thickness" material="Aluminum" vis="TrackerServiceVis" />
0931         <module_component thickness="SiTrackerSensor_thickness" material="Silicon" sensitive="true" vis="TrackerLayerVis" />
0932       </module>
0933       <layer id="1">
0934         <envelope vis="TrackerLayerVis"
0935           rmin="OuterTrackerEndcapNLayer1_rmin"
0936           rmax="OuterTrackerEndcapNLayer1_rmax"
0937           length="SiTrackerEndcapLayer_thickness"
0938           zstart="OuterTrackerEndcapNLayer1_zmin" />
0939         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0940         <ring
0941           r="OuterTrackerEndcapNMod1_rmin + OuterTrackerEndcapNMod1_y/2"
0942           zstart="0"
0943           nmodules="SiTrackerEndcapMod_count"
0944           dz="SiTrackerEndcapMod_dz"
0945           module="Module1" />
0946       </layer>
0947       <layer id="2">
0948         <envelope vis="TrackerLayerVis"
0949           rmin="OuterTrackerEndcapNLayer2_rmin"
0950           rmax="OuterTrackerEndcapNLayer2_rmax"
0951           length="SiTrackerEndcapLayer_thickness"
0952           zstart="OuterTrackerEndcapNLayer2_zmin" />
0953         <layer_material surface="representing" binning="binPhi,binR" bins0="20*SiTrackerEndcapMod_count" bins1="256"/>
0954         <ring
0955           r="OuterTrackerEndcapNMod2_rmin + OuterTrackerEndcapNMod2_y/2"
0956           zstart="0"
0957           nmodules="SiTrackerEndcapMod_count"
0958           dz="SiTrackerEndcapMod_dz"
0959           module="Module2" />
0960       </layer>
0961     </detector>
0962   </detectors>
0963   <documentation>
0964     ## GEM trackers (3P, 2N)
0965   </documentation>
0966   <define>
0967     <constant
0968       name="GEMEndcapMod_thickness"
0969       value="GEMMylar_thickness * 2 + GEMGas_thickness * 5 + GEMDriftRegion_thickness * 1
0970            + GEMKapton_thickness * (2 + 3 * GEMAreaFactor)
0971            + GEMCuFoil_thickness * (3 * GEMAreaFactor)
0972            + GEMCuElectrode_thickness * 2" />
0973     <constant name="GEMEndcapMod_dz"                value="GEMEndcapMod_thickness/2 + GEMSpoke_thickness/2" />
0974     <constant name="GEMEndcapMod_overlap"           value="0" />
0975     <constant name="GEMEndcapMod_angle"             value="360.0*degree / GEMEndcapMod_count * (1 + GEMEndcapMod_overlap)" />
0976     <constant name="GEMEndcapLayer_thickness"       value="GEMEndcapMod_thickness + 2 * GEMEndcapMod_dz + 1*um" />
0977 
0978     <comment> Parameters for the "ring" GEMS around the silicon tracker, which are all identical </comment>
0979     <constant name="GEMEndcapRingMod_rmin"          value="SiTrackerSupportCyl_rmax + GEMFrameBotEdge_width" />
0980     <constant name="GEMEndcapRingMod_rmax"          value="min(min(GEMEndcapPDisk1_zmin, GEMEndcapN_zmin) * CentralTrackingBarrel_tan * 0.995, CentralTrackingRegion_rmax) - GEMFrameTopEdge_width" />
0981     <constant name="GEMEndcapRingMod_x1"            value="2 * GEMEndcapRingMod_rmin * tan(GEMEndcapMod_angle/2)" />
0982     <constant name="GEMEndcapRingMod_x2"            value="2 * GEMEndcapRingMod_rmax * sin(GEMEndcapMod_angle/2)" />
0983     <constant name="GEMEndcapRingMod_y"             value="GEMEndcapRingMod_rmax * cos(GEMEndcapMod_angle/2) - GEMEndcapRingMod_rmin" />
0984     <constant name="GEMEndcapRingModBotFrame_rmin"  value="SiTrackerSupportCyl_rmax" />
0985     <constant name="GEMEndcapRingModBotFrame_y"     value="GEMFrameBotEdge_width" />
0986     <constant name="GEMEndcapRingModBotFrame_rmax"  value="(GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y)/cos(GEMEndcapMod_angle/2)" />
0987     <constant name="GEMEndcapRingModBotFrame_x1"    value="2 * GEMEndcapRingModBotFrame_rmin * tan(GEMEndcapMod_angle/2)" />
0988     <constant name="GEMEndcapRingModBotFrame_x2"    value="2 * GEMEndcapRingModBotFrame_rmax * sin(GEMEndcapMod_angle/2)" />
0989     <constant name="GEMEndcapRingModTopFrame_rmin"  value="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y" />
0990     <constant name="GEMEndcapRingModTopFrame_y"     value="GEMFrameTopEdge_width" />
0991     <constant name="GEMEndcapRingModTopFrame_rmax"  value="(GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y)/cos(GEMEndcapMod_angle/2)" />
0992     <constant name="GEMEndcapRingModTopFrame_x1"    value="GEMEndcapRingMod_x2" />
0993     <constant name="GEMEndcapRingModTopFrame_x2"    value="2 * GEMEndcapRingModTopFrame_rmax * sin(GEMEndcapMod_angle/2)" />
0994     <constant name="GEMEndcapRingModSpoke_length"   value="GEMEndcapRingMod_rmax - GEMEndcapRingModBotFrame_rmax" />
0995     <constant name="GEMEndcapRingModSpoke_r"        value="(GEMEndcapRingMod_rmax + GEMEndcapRingModBotFrame_rmax)/2" />
0996     <constant name="GEMEndcapRingLayer_rmin"        value="GEMEndcapRingModBotFrame_rmin - 1*um" />
0997     <constant name="GEMEndcapRingLayer_rmax"        value="GEMEndcapRingModTopFrame_rmax + 1*um" />
0998 
0999     <comment>
1000       z position of the "ring" GEMS, note that some are offset slightly
1001       to not overlap in z with the silicon disks (an ACTS limitation).
1002     </comment>
1003     <constant name="GEMEndcapPMod1_zmin"            value="GEMEndcapPDisk1_zmin + GEMEndcapLayer_thickness" />
1004     <constant name="GEMEndcapPMod2_zmin"            value="GEMEndcapPDisk2_zmin - GEMEndcapLayer_thickness" />
1005     <constant name="GEMEndcapNMod1_zmin"            value="GEMEndcapN_zmin" />
1006     <constant name="GEMEndcapNMod2_zmin"            value="GEMEndcapN_zmin + 1 * GEMEndcapN_offset - GEMEndcapLayer_thickness" />
1007     <constant name="GEMEndcapPLayer1_zmin"          value="GEMEndcapPMod1_zmin - GEMEndcapLayer_thickness/2" />
1008     <constant name="GEMEndcapPLayer2_zmin"          value="GEMEndcapPMod2_zmin - GEMEndcapLayer_thickness/2" />
1009     <constant name="GEMEndcapNLayer1_zmin"          value="GEMEndcapNMod1_zmin - GEMEndcapLayer_thickness/2" />
1010     <constant name="GEMEndcapNLayer2_zmin"          value="GEMEndcapNMod2_zmin - GEMEndcapLayer_thickness/2" />
1011 
1012     <comment> Large forward disk (behind the RICH) </comment>
1013     <constant name="GEMEndcapPMod3_zmin"            value="GEMEndcapPDisk3_zmin" />
1014     <constant name="GEMEndcapPLayer3_zmin"          value="GEMEndcapPMod3_zmin - GEMEndcapLayer_thickness/2" />
1015 
1016     <constant name="GEMEndcapLargeModBotFrame_rmin"  value="GEMEndcapPMod3_zmin * ForwardTrackingRegion_tan" />
1017     <constant name="GEMEndcapLargeModBotFrame_y"     value="GEMFrameBotEdge_width" />
1018     <constant name="GEMEndcapLargeModBotFrame_rmax"  value="(GEMEndcapLargeModBotFrame_rmin + GEMEndcapLargeModBotFrame_y)/cos(GEMEndcapMod_angle/2)" />
1019     <constant name="GEMEndcapLargeModBotFrame_x1"    value="2 * GEMEndcapLargeModBotFrame_rmin * sin(GEMEndcapMod_angle/2)" />
1020     <constant name="GEMEndcapLargeModBotFrame_x2"    value="2 * GEMEndcapLargeModBotFrame_rmax * sin(GEMEndcapMod_angle/2)" />
1021     <constant name="GEMEndcapLargeMod_rmin"          value="GEMEndcapPMod3_zmin * ForwardTrackingRegion_tan + GEMFrameBotEdge_width" />
1022     <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>
1023     <constant name="GEMEndcapLargeMod_rmax"          value="min(GEMEndcapPMod3_zmin * CentralTrackingBarrel_tan, Solenoid_rmax-ForwardServiceGap_length)" />
1024     <constant name="GEMEndcapLargeMod_x1"            value="2 * GEMEndcapLargeMod_rmin * sin(GEMEndcapMod_angle/2)" />
1025     <constant name="GEMEndcapLargeMod_x2"            value="2 * GEMEndcapLargeMod_rmax * sin(GEMEndcapMod_angle/2)" />
1026     <constant name="GEMEndcapLargeMod_y"             value="GEMEndcapLargeMod_rmax * cos(GEMEndcapMod_angle/2) - GEMEndcapLargeMod_rmin" />
1027     <constant name="GEMEndcapLargeModTopFrame_rmin"  value="GEMEndcapLargeMod_rmin + GEMEndcapLargeMod_y" />
1028     <constant name="GEMEndcapLargeModTopFrame_y"     value="GEMFrameTopEdge_width" />
1029     <constant name="GEMEndcapLargeModTopFrame_rmax"  value="(GEMEndcapLargeModTopFrame_rmin + GEMEndcapLargeModTopFrame_y)/cos(GEMEndcapMod_angle/2)" />
1030     <constant name="GEMEndcapLargeModTopFrame_x1"    value="GEMEndcapLargeMod_x2" />
1031     <constant name="GEMEndcapLargeModTopFrame_x2"    value="2 * GEMEndcapLargeModTopFrame_rmax * sin(GEMEndcapMod_angle/2)" />
1032     <constant name="GEMEndcapLargeModSpoke_length"   value="GEMEndcapLargeMod_rmax - GEMEndcapLargeModBotFrame_rmax" />
1033     <constant name="GEMEndcapLargeModSpoke_r"        value="(GEMEndcapLargeMod_rmax + GEMEndcapLargeModBotFrame_rmax)/2" />
1034     <constant name="GEMEndcapLargeLayer_rmin"        value="GEMEndcapLargeModBotFrame_rmin - 1*um" />
1035     <constant name="GEMEndcapLargeLayer_rmax"        value="GEMEndcapLargeModTopFrame_rmax + 1*um" />
1036 
1037   </define>
1038   <detectors>
1039     <detector
1040       id="TrackerEndcapP_3_ID"
1041       name="GEMEndcapP"
1042       type="epic_TrapEndcapTracker"
1043       readout="GEMTrackerEndcapHits"
1044       vis="TrackerVis"
1045       reflect="false">
1046       <module name="RingModule" vis="TrackerGEMModuleVis">
1047         <trd x1="GEMEndcapRingMod_x1/2" x2="GEMEndcapRingMod_x2/2" z="GEMEndcapRingMod_y/2" />
1048         <comment> going from back to front </comment>
1049         <module_component name="exit_window"      thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerServiceVis" />
1050         <module_component name="exit_region"      thickness="GEMGas_thickness"          material="Ar90CO2"/>
1051         <module_component name="readout_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1052         <module_component name="readout_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1053         <module_component name="induction_region" thickness="GEMGas_thickness"          material="Ar90CO2"/>
1054         <module_component name="gem_foil_3_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1055         <module_component name="gem_foil_3"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1056         <module_component name="transfer_region2" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1057         <module_component name="gem_foil_2_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1058         <module_component name="gem_foil_2"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1059         <module_component name="transfer_region1" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1060         <module_component name="gem_foil_1_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1061         <module_component name="gem_foil_1"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1062         <module_component name="drift_region"     thickness="GEMDriftRegion_thickness"                  material="Ar90CO2" sensitive="true"/>
1063         <module_component name="cathode_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1064         <module_component name="cathode_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1065         <module_component name="entrance_region"  thickness="GEMGas_thickness"          material="Ar90CO2"/>
1066         <module_component name="entrance_window"  thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerMPGDVis" />
1067       </module>
1068       <module name="RingBotFrame" vis="TrackerSupportVis">
1069         <trd x1="GEMEndcapRingModBotFrame_x1/2" x2="GEMEndcapRingModBotFrame_x2/2" z="GEMEndcapRingModBotFrame_y/2" />
1070         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1071       </module>
1072       <module name="RingTopFrame" vis="TrackerSupportVis">
1073         <trd x1="GEMEndcapRingModTopFrame_x1/2" x2="GEMEndcapRingModTopFrame_x2/2" z="GEMEndcapRingModTopFrame_y/2" />
1074         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1075       </module>
1076       <module name="RingSpoke" vis="TrackerSupportVis">
1077         <trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapRingModSpoke_length/2"/>
1078         <module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
1079       </module>
1080       <layer id="1">
1081         <envelope vis="TrackerLayerVis"
1082           rmin="GEMEndcapRingLayer_rmin"
1083           rmax="GEMEndcapRingLayer_rmax"
1084           length="GEMEndcapLayer_thickness"
1085           zstart="GEMEndcapPLayer1_zmin" />
1086         <layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
1087         <ring
1088           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1089           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1090           module="RingModule" />
1091         <ring
1092           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1093           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1094           module="RingModule" />
1095         <ring
1096           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1097           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1098           module="RingBotFrame" />
1099         <ring
1100           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1101           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1102           module="RingBotFrame" />
1103         <ring
1104           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1105           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1106           module="RingTopFrame" />
1107         <ring
1108           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1109           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1110           module="RingTopFrame" />
1111         <ring
1112           r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
1113           nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
1114           module="RingSpoke" />
1115       </layer>
1116       <layer id="2">
1117         <envelope vis="TrackerLayerVis"
1118           rmin="GEMEndcapRingLayer_rmin"
1119           rmax="GEMEndcapRingLayer_rmax"
1120           length="GEMEndcapLayer_thickness"
1121           zstart="GEMEndcapPLayer2_zmin" />
1122         <layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
1123         <ring
1124           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1125           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1126           module="RingModule" />
1127         <ring
1128           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1129           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1130           module="RingModule" />
1131         <ring
1132           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1133           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1134           module="RingBotFrame" />
1135         <ring
1136           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1137           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1138           module="RingBotFrame" />
1139         <ring
1140           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1141           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1142           module="RingTopFrame" />
1143         <ring
1144           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1145           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1146           module="RingTopFrame" />
1147         <ring
1148           r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
1149           nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
1150           module="RingSpoke" />
1151       </layer>
1152     </detector>
1153     <detector
1154       id="TrackerEndcapN_3_ID"
1155       name="GEMEndcapN"
1156       type="epic_TrapEndcapTracker"
1157       readout="GEMTrackerEndcapHits"
1158       vis="TrackerVis"
1159       reflect="true">
1160       <module name="RingModule" vis="TrackerGEMModuleVis">
1161         <trd x1="GEMEndcapRingMod_x1/2" x2="GEMEndcapRingMod_x2/2" z="GEMEndcapRingMod_y/2" />
1162         <comment> going from back to front </comment>
1163         <module_component name="exit_window"      thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerServiceVis" />
1164         <module_component name="exit_region"      thickness="GEMGas_thickness"          material="Ar90CO2"/>
1165         <module_component name="readout_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1166         <module_component name="readout_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1167         <module_component name="induction_region" thickness="GEMGas_thickness"          material="Ar90CO2"/>
1168         <module_component name="gem_foil_3_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1169         <module_component name="gem_foil_3"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1170         <module_component name="transfer_region2" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1171         <module_component name="gem_foil_2_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1172         <module_component name="gem_foil_2"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1173         <module_component name="transfer_region1" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1174         <module_component name="gem_foil_1_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1175         <module_component name="gem_foil_1"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1176         <module_component name="drift_region"     thickness="GEMDriftRegion_thickness"                  material="Ar90CO2" sensitive="true"/>
1177         <module_component name="cathode_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1178         <module_component name="cathode_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1179         <module_component name="entrance_region"  thickness="GEMGas_thickness"          material="Ar90CO2"/>
1180         <module_component name="entrance_window"  thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerMPGDVis" />
1181       </module>
1182       <module name="RingBotFrame" vis="TrackerSupportVis">
1183         <trd x1="GEMEndcapRingModBotFrame_x1/2" x2="GEMEndcapRingModBotFrame_x2/2" z="GEMEndcapRingModBotFrame_y/2" />
1184         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1185       </module>
1186       <module name="RingTopFrame" vis="TrackerSupportVis">
1187         <trd x1="GEMEndcapRingModTopFrame_x1/2" x2="GEMEndcapRingModTopFrame_x2/2" z="GEMEndcapRingModTopFrame_y/2" />
1188         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1189       </module>
1190       <module name="RingSpoke" vis="TrackerSupportVis">
1191         <trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapRingModSpoke_length/2"/>
1192         <module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
1193       </module>
1194       <module name="LargeModule" vis="TrackerGEMModuleVis">
1195         <trd x1="GEMEndcapLargeMod_x1/2" x2="GEMEndcapLargeMod_x2/2" z="GEMEndcapLargeMod_y/2" />
1196         <comment> going from back to front </comment>
1197         <module_component name="exit_window"      thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerServiceVis" />
1198         <module_component name="exit_region"      thickness="GEMGas_thickness"          material="Ar90CO2"/>
1199         <module_component name="readout_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1200         <module_component name="readout_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1201         <module_component name="induction_region" thickness="GEMGas_thickness"          material="Ar90CO2"/>
1202         <module_component name="gem_foil_3_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1203         <module_component name="gem_foil_3"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1204         <module_component name="transfer_region2" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1205         <module_component name="gem_foil_2_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1206         <module_component name="gem_foil_2"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1207         <module_component name="transfer_region1" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1208         <module_component name="gem_foil_1_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1209         <module_component name="gem_foil_1"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1210         <module_component name="drift_region"     thickness="GEMDriftRegion_thickness"                  material="Ar90CO2" sensitive="true"/>
1211         <module_component name="cathode_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1212         <module_component name="cathode_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1213         <module_component name="entrance_region"  thickness="GEMGas_thickness"          material="Ar90CO2"/>
1214         <module_component name="entrance_window"  thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerMPGDVis" />
1215       </module>
1216       <module name="LargeBotFrame" vis="TrackerSupportVis">
1217         <trd x1="GEMEndcapLargeModBotFrame_x1/2" x2="GEMEndcapLargeModBotFrame_x2/2" z="GEMEndcapLargeModBotFrame_y/2" />
1218         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1219       </module>
1220       <module name="LargeTopFrame" vis="TrackerSupportVis">
1221         <trd x1="GEMEndcapLargeModTopFrame_x1/2" x2="GEMEndcapLargeModTopFrame_x2/2" z="GEMEndcapLargeModTopFrame_y/2" />
1222         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1223       </module>
1224       <module name="LargeSpoke" vis="TrackerSupportVis">
1225         <trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapLargeModSpoke_length/2"/>
1226         <module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
1227       </module>
1228       <layer id="1">
1229         <envelope vis="TrackerLayerVis"
1230           rmin="GEMEndcapRingLayer_rmin"
1231           rmax="GEMEndcapRingLayer_rmax"
1232           length="GEMEndcapLayer_thickness"
1233           zstart="GEMEndcapNLayer1_zmin" />
1234         <layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
1235         <ring
1236           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1237           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1238           module="RingModule" />
1239         <ring
1240           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1241           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1242           module="RingModule" />
1243         <ring
1244           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1245           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1246           module="RingBotFrame" />
1247         <ring
1248           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1249           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1250           module="RingBotFrame" />
1251         <ring
1252           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1253           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1254           module="RingTopFrame" />
1255         <ring
1256           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1257           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1258           module="RingTopFrame" />
1259         <ring
1260           r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
1261           nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
1262           module="RingSpoke" />
1263       </layer>
1264       <layer id="2">
1265         <envelope vis="TrackerLayerVis"
1266           rmin="GEMEndcapRingLayer_rmin"
1267           rmax="GEMEndcapRingLayer_rmax"
1268           length="GEMEndcapLayer_thickness"
1269           zstart="GEMEndcapNLayer2_zmin" />
1270         <layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
1271         <ring
1272           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1273           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1274           module="RingModule" />
1275         <ring
1276           r="GEMEndcapRingMod_rmin + GEMEndcapRingMod_y/2" zstart="0" dz="GEMEndcapMod_dz"
1277           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1278           module="RingModule" />
1279         <ring
1280           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1281           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1282           module="RingBotFrame" />
1283         <ring
1284           r="GEMEndcapRingModBotFrame_rmin + GEMEndcapRingModBotFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1285           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1286           module="RingBotFrame" />
1287         <ring
1288           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1289           phi0="GEMEndcapMod_angle" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1290           module="RingTopFrame" />
1291         <ring
1292           r="GEMEndcapRingModTopFrame_rmin + GEMEndcapRingModTopFrame_y/2" zstart="0" dz="GEMEndcapMod_dz"
1293           phi0="0*degree" dphi="GEMEndcapMod_angle" nmodules="GEMEndcapMod_count/2"
1294           module="RingTopFrame" />
1295         <ring
1296           r="GEMEndcapRingModSpoke_r" zstart="0" dz="0"
1297           nmodules="GEMEndcapMod_count/2" phi0="3*GEMEndcapMod_angle/2"
1298           module="RingSpoke" />
1299       </layer>
1300     </detector>
1301     <detector
1302       id="TrackerEndcapP_4_ID"
1303       name="ForwardGEM"
1304       type="epic_TrapEndcapTracker"
1305       readout="GEMTrackerEndcapHits"
1306       vis="TrackerVis"
1307       reflect="false">
1308       <module name="LargeModule" vis="TrackerGEMModuleVis">
1309         <trd x1="GEMEndcapLargeMod_x1/2" x2="GEMEndcapLargeMod_x2/2" z="GEMEndcapLargeMod_y/2" />
1310         <comment> going from back to front </comment>
1311         <module_component name="exit_window"      thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerServiceVis" />
1312         <module_component name="exit_region"      thickness="GEMGas_thickness"          material="Ar90CO2"/>
1313         <module_component name="readout_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1314         <module_component name="readout_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1315         <module_component name="induction_region" thickness="GEMGas_thickness"          material="Ar90CO2"/>
1316         <module_component name="gem_foil_3_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1317         <module_component name="gem_foil_3"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1318         <module_component name="transfer_region2" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1319         <module_component name="gem_foil_2_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1320         <module_component name="gem_foil_2"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1321         <module_component name="transfer_region1" thickness="GEMGas_thickness"                          material="Ar90CO2"/>
1322         <module_component name="gem_foil_1_cu"    thickness="GEMCuElectrode_thickness * GEMAreaFactor"  material="Copper"/>
1323         <module_component name="gem_foil_1"       thickness="GEMKapton_thickness * GEMAreaFactor"       material="Kapton"/>
1324         <module_component name="drift_region"     thickness="GEMDriftRegion_thickness"                  material="Ar90CO2" sensitive="true"/>
1325         <module_component name="cathode_cu"       thickness="GEMCuElectrode_thickness"  material="Copper"/>
1326         <module_component name="cathode_foil"     thickness="GEMKapton_thickness"       material="Kapton"/>
1327         <module_component name="entrance_region"  thickness="GEMGas_thickness"          material="Ar90CO2"/>
1328         <module_component name="entrance_window"  thickness="GEMMylar_thickness"        material="Mylar" vis="TrackerMPGDVis" />
1329       </module>
1330       <module name="LargeBotFrame" vis="TrackerSupportVis">
1331         <trd x1="GEMEndcapLargeModBotFrame_x1/2" x2="GEMEndcapLargeModBotFrame_x2/2" z="GEMEndcapLargeModBotFrame_y/2" />
1332         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1333       </module>
1334       <module name="LargeTopFrame" vis="TrackerSupportVis">
1335         <trd x1="GEMEndcapLargeModTopFrame_x1/2" x2="GEMEndcapLargeModTopFrame_x2/2" z="GEMEndcapLargeModTopFrame_y/2" />
1336         <module_component name="frame" thickness="GEMFrame_thickness" material="CarbonFiber" vis="TrackerSupportVis" />
1337       </module>
1338       <module name="LargeSpoke" vis="TrackerSupportVis">
1339         <trd x1="GEMSpoke_width/2" x2="GEMSpoke_width/2" z="GEMEndcapLargeModSpoke_length/2"/>
1340         <module_component thickness="GEMSpoke_thickness" material="Mylar" vis="TrackerSupportVis"/>
1341       </module>
1342       <layer id="1">
1343         <envelope vis="TrackerLayerVis"
1344           rmin="GEMEndcapLargeLayer_rmin"
1345           rmax="GEMEndcapLargeLayer_rmax"
1346           length="GEMEndcapLayer_thickness"
1347           zstart="GEMEndcapPLayer3_zmin" />
1348         <layer_material surface="representing" binning="binPhi,binR" bins0="20*GEMEndcapMod_count" bins1="256"/>
1349         <ring
1350           r="GEMEndcapLargeMod_rmin + GEMEndcapLargeMod_y/2"
1351           zstart="0"
1352           nmodules="GEMEndcapMod_count"
1353           dz="GEMEndcapMod_dz"
1354           module="LargeModule" />
1355         <ring
1356           r="GEMEndcapLargeModBotFrame_rmin + GEMEndcapLargeModBotFrame_y/2"
1357           zstart="0"
1358           nmodules="GEMEndcapMod_count"
1359           dz="GEMEndcapMod_dz"
1360           module="LargeBotFrame" />
1361         <ring
1362           r="GEMEndcapLargeModTopFrame_rmin + GEMEndcapLargeModTopFrame_y/2"
1363           zstart="0"
1364           nmodules="GEMEndcapMod_count"
1365           dz="GEMEndcapMod_dz"
1366           module="LargeTopFrame" />
1367         <ring
1368           r="GEMEndcapLargeModSpoke_r"
1369           zstart="0"
1370           nmodules="GEMEndcapMod_count"
1371           dz="0"
1372           phi0="GEMEndcapMod_angle/2"
1373           module="LargeSpoke" />
1374       </layer>
1375     </detector>
1376   </detectors>
1377 
1378 
1379   <readouts>
1380     <readout name="TrackerBarrelHits">
1381       <segmentation type="CartesianGridXY" grid_size_x="0.010*mm" grid_size_y="0.010*mm" />
1382       <id>system:8,layer:4,module:12,sensor:2,x:32:-14,y:-18</id>
1383     </readout>
1384     <readout name="TrackerEndcapHits">
1385       <segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" />
1386       <id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
1387     </readout>
1388     <readout name="MPGDTrackerBarrelHits">
1389       <segmentation type="CartesianGridXY" grid_size_x="0.150*mm*sqrt(12)" grid_size_y="0.150*mm*sqrt(12)" />
1390       <id>system:8,layer:4,module:12,sensor:2,x:32:-14,y:-18</id>
1391     </readout>
1392     <readout name="GEMTrackerEndcapHits">
1393       <segmentation type="CartesianGridXZ" grid_size_x="0.050*mm*sqrt(12)" grid_size_z="0.250*mm*sqrt(12)" />
1394       <id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
1395     </readout>
1396   </readouts>
1397 
1398 </lccdd>