diff --git a/compact/definitions.xml b/compact/definitions.xml
index 2d20bc8c98d8334b259cecb3000a23598df0dd68..8e944ec1a7ccf02a28ea5f9a465d9b7d25789f84 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -305,9 +305,9 @@
       ==========================
     </comment>
 
-    <constant name="Solenoid_length"           value="3600.0*mm"/>
+    <constant name="Solenoid_length"           value="3840.0*mm"/>
     <constant name="Solenoid_rmin"             value="1600.0*mm"/>
-    <constant name="Solenoid_thickness"        value="400*mm"/>
+    <constant name="Solenoid_thickness"        value="640*mm"/>
     <constant name="Solenoid_offset"           value="0.0*mm"/>
 
     <constant name="Solenoid_rmax"             value="Solenoid_rmin + Solenoid_thickness"/>
@@ -584,8 +584,8 @@
 
     <constant name="HcalBarrelAvailThickness" value="HcalBarrel_thickness"/>
 
-    <constant name="HcalEndcapP_zmin"          value="EcalEndcapP_zmin + EcalEndcapP_length "/>
-    <constant name="HcalEndcapN_zmin"          value="EcalEndcapN_zmin + EcalEndcapN_length "/>
+    <constant name="HcalEndcapP_zmin"          value="max(EcalEndcapP_zmin + EcalEndcapP_length, Solenoid_length / 2.0 + Solenoid_offset) "/>
+    <constant name="HcalEndcapN_zmin"          value="max(EcalEndcapN_zmin + EcalEndcapN_length, Solenoid_length / 2.0 - Solenoid_offset) "/>
     <constant name="HcalBarrelLength"          value="HcalEndcapP_zmin + HcalEndcapN_zmin "/>
 
     <comment> Material Thickness </comment>
diff --git a/compact/solenoid.xml b/compact/solenoid.xml
index 1fa7d5a3389ef980a437ab67bf572f646acd89c0..72497a180780d1bf7ee00b0a0d267f6743d32687 100644
--- a/compact/solenoid.xml
+++ b/compact/solenoid.xml
@@ -7,38 +7,102 @@
       --------------------------
     </comment>
     <comment>Solenoid Barrel Parameters</comment>
-    <constant name="SolenoidBarrelCryostatThickness"      value=" 1.0 * cm"/>
-    <constant name="SolenoidBarrelGapThickness"           value=" 3.3 * cm"/>
-    <constant name="SolenoidBarrelAlConductorThickness"   value="12.0 * cm"/>
-    <constant name="SolenoidBarrelQuenchbackThickness"    value=" 1.5 * cm"/>
-    <constant name="SolenoidBarrelOuterGapThickness"      value=" 5.6 * cm"/>
-    <constant name="SolenoidBarrelOuterCryostatThickness" value=" 1.2 * cm"/>
-    <constant name="SolenoidEndPlateGapThickness"           value=" 5.7 * cm"/>
-    <constant name="SolenoidEndPlateCryostatThickness"      value=" 1.5 * cm"/>
+    <constant name="SolenoidBarrelInnerVacuumVesselThickness"   value=" 20.0 * mm"/>
+    <constant name="SolenoidBarrelInnerSecondMLILayerThickness" value=" 20.0 * mm"/>
+    <constant name="SolenoidBarrelInnerThermalShieldThickness"  value=" 10.0 * mm"/>
+    <constant name="SolenoidBarrelInnerFirstMLILayerThickness"  value=" 15.0 * mm"/>
+    <constant name="SolenoidBarrelInnerHeliumVesselThickness"   value=" 20.0 * mm"/>
+    <constant name="SolenoidBarrelInnerHeliumThickness"         value=" 10.0 * mm"/>
+    <constant name="SolenoidBarrelCoilFormerThickness"          value=" 50.0 * mm"/>
+    <constant name="SolenoidBarrelCoilThickness"                value="200.0 * mm"/>
+    <constant name="SolenoidBarrelCoilOverbindThickness"        value="200.0 * mm"/>
+    <constant name="SolenoidBarrelOuterHeliumThickness"         value=" 15.0 * mm"/>
+    <constant name="SolenoidBarrelOuterHeliumVesselThickness"   value=" 10.0 * mm"/>
+    <constant name="SolenoidBarrelOuterFirstMLILayerThickness"  value=" 15.0 * mm"/>
+    <constant name="SolenoidBarrelOuterThermalShieldThickness"  value=" 10.0 * mm"/>
+    <constant name="SolenoidBarrelOuterSecondMLILayerThickness" value=" 20.0 * mm"/>
+    <constant name="SolenoidBarrelOuterVacuumVesselThickness"   value=" 25.0 * mm"/>
 
-    <comment> Solenoid Yoke Endcap </comment>
-    <constant name="SolenoidYokeEndcap_thickness"  value="0.2 * m"/>
+    <constant name="SolenoidBarrelInnerVacuumVessel_zmax"   value="1920.0 * mm"/>
+    <constant name="SolenoidBarrelInnerSecondMLILayer_zmax" value="1895.0 * mm"/>
+    <constant name="SolenoidBarrelInnerThermalShield_zmax"  value="1875.0 * mm"/>
+    <constant name="SolenoidBarrelInnerFirstMLILayer_zmax"  value="1855.0 * mm"/>
+    <constant name="SolenoidBarrelInnerHeliumVessel_zmax"   value="1840.0 * mm"/>
+    <constant name="SolenoidBarrelInnerHelium_zmax"         value="1820.0 * mm"/>
+    <constant name="SolenoidBarrelCoilFormer_zmax"          value="1800.0 * mm"/>
+    <constant name="SolenoidBarrelCoil_zmax"                value="1800.0 * mm"/>
+    <constant name="SolenoidBarrelCoilOverbind_zmax"        value="1800.0 * mm"/>
+    <constant name="SolenoidBarrelOuterHelium_zmax"         value="1820.0 * mm"/>
+    <constant name="SolenoidBarrelOuterHeliumVessel_zmax"   value="1840.0 * mm"/>
+    <constant name="SolenoidBarrelOuterFirstMLILayer_zmax"  value="1855.0 * mm"/>
+    <constant name="SolenoidBarrelOuterThermalShield_zmax"  value="1875.0 * mm"/>
+    <constant name="SolenoidBarrelOuterSecondMLILayer_zmax" value="1895.0 * mm"/>
+    <constant name="SolenoidBarrelOuterVacuumVessel_zmax"   value="1920.0 * mm"/>
 
-
-    <constant name="SolenoidCoilConductor_rmin" value="SolenoidBarrel_rmin + SolenoidBarrelCryostatThickness + SolenoidBarrelGapThickness"/>
-    <constant name="SolenoidCoilConductor_rmax" value="SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness + SolenoidBarrelQuenchbackThickness"/>
-
-    <constant name="SolenoidBarrel_rmax" value="SolenoidCoilConductor_rmax + SolenoidBarrelOuterGapThickness + SolenoidBarrelOuterCryostatThickness"/>
-
-    <constant name="SolenoidCoil_zmax" 
-              value="SolenoidBarrel_zmax - SolenoidEndPlateCryostatThickness - SolenoidEndPlateGapThickness"/>
+    <constant name="SolenoidBarrelInnerVacuumVessel_rmin"    value="SolenoidBarrel_rmin"/>
+    <constant name="SolenoidBarrelInnerVacuumVessel_rmax"    value="SolenoidBarrelInnerVacuumVessel_rmin + SolenoidBarrelInnerVacuumVesselThickness"/>
+    <constant name="SolenoidBarrelInnerSecondMLILayer_rmin"  value="SolenoidBarrelInnerVacuumVessel_rmax"/>
+    <constant name="SolenoidBarrelInnerSecondMLILayer_rmax"  value="SolenoidBarrelInnerSecondMLILayer_rmin + SolenoidBarrelInnerSecondMLILayerThickness"/>
+    <constant name="SolenoidBarrelInnerThermalShield_rmin"   value="SolenoidBarrelInnerSecondMLILayer_rmax"/>
+    <constant name="SolenoidBarrelInnerThermalShield_rmax"   value="SolenoidBarrelInnerThermalShield_rmin + SolenoidBarrelInnerThermalShieldThickness"/>
+    <constant name="SolenoidBarrelInnerFirstMLILayer_rmin"   value="SolenoidBarrelInnerThermalShield_rmax"/>
+    <constant name="SolenoidBarrelInnerFirstMLILayer_rmax"   value="SolenoidBarrelInnerFirstMLILayer_rmin + SolenoidBarrelInnerFirstMLILayerThickness"/>
+    <constant name="SolenoidBarrelInnerHeliumVessel_rmin"    value="SolenoidBarrelInnerFirstMLILayer_rmax"/>
+    <constant name="SolenoidBarrelInnerHeliumVessel_rmax"    value="SolenoidBarrelInnerHeliumVessel_rmin + SolenoidBarrelInnerHeliumVesselThickness"/>
+    <constant name="SolenoidBarrelInnerHelium_rmin"          value="SolenoidBarrelInnerHeliumVessel_rmax"/>
+    <constant name="SolenoidBarrelInnerHelium_rmax"          value="SolenoidBarrelInnerHelium_rmin + SolenoidBarrelInnerHeliumThickness"/>
+    <constant name="SolenoidBarrelCoilFormer_rmin"           value="SolenoidBarrelInnerHelium_rmax"/>
+    <constant name="SolenoidBarrelCoilFormer_rmax"           value="SolenoidBarrelCoilFormer_rmin + SolenoidBarrelCoilFormerThickness"/>
+    <constant name="SolenoidBarrelCoil_rmin"                 value="SolenoidBarrelCoilFormer_rmax"/>
+    <constant name="SolenoidBarrelCoil_rmax"                 value="SolenoidBarrelCoil_rmin + SolenoidBarrelCoilThickness"/>
+    <constant name="SolenoidBarrelCoilOverbind_rmin"         value="SolenoidBarrelCoil_rmax"/>
+    <constant name="SolenoidBarrelCoilOverbind_rmax"         value="SolenoidBarrelCoilOverbind_rmin + SolenoidBarrelCoilOverbindThickness"/>
+    <constant name="SolenoidBarrelOuterHelium_rmin"          value="SolenoidBarrelCoilOverbind_rmax"/>
+    <constant name="SolenoidBarrelOuterHelium_rmax"          value="SolenoidBarrelOuterHelium_rmin + SolenoidBarrelOuterHeliumThickness"/>
+    <constant name="SolenoidBarrelOuterHeliumVessel_rmin"    value="SolenoidBarrelOuterHelium_rmax"/>
+    <constant name="SolenoidBarrelOuterHeliumVessel_rmax"    value="SolenoidBarrelOuterHeliumVessel_rmin + SolenoidBarrelOuterHeliumVesselThickness"/>
+    <constant name="SolenoidBarrelOuterFirstMLILayer_rmin"   value="SolenoidBarrelOuterHeliumVessel_rmax"/>
+    <constant name="SolenoidBarrelOuterFirstMLILayer_rmax"   value="SolenoidBarrelOuterFirstMLILayer_rmin + SolenoidBarrelOuterFirstMLILayerThickness"/>
+    <constant name="SolenoidBarrelOuterThermalShield_rmin"   value="SolenoidBarrelOuterFirstMLILayer_rmax"/>
+    <constant name="SolenoidBarrelOuterThermalShield_rmax"   value="SolenoidBarrelOuterThermalShield_rmin + SolenoidBarrelOuterThermalShieldThickness"/>
+    <constant name="SolenoidBarrelOuterSecondMLILayer_rmin"  value="SolenoidBarrelOuterThermalShield_rmax"/>
+    <constant name="SolenoidBarrelOuterSecondMLILayer_rmax"  value="SolenoidBarrelOuterSecondMLILayer_rmin + SolenoidBarrelOuterSecondMLILayerThickness"/>
+    <constant name="SolenoidBarrelOuterVacuumVessel_rmin"    value="SolenoidBarrelOuterSecondMLILayer_rmax"/>
+    <constant name="SolenoidBarrelOuterVacuumVessel_rmax"    value="SolenoidBarrelOuterVacuumVessel_rmin + SolenoidBarrelOuterVacuumVesselThickness"/>
 
     <constant name="SolenoidalFieldRadius" 
-              value="SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness / 2.0"/>
-
-    <constant name="SolenoidCoil_length" value="SolenoidCoil_zmax*2.0"/>
+              value="(SolenoidBarrelCoil_rmin + SolenoidBarrelCoil_rmax) / 2.0"/>
 
-    <constant name="SolenoidYokeEndcapP_rmin"     value="SolenoidBarrel_rmin"/>
-    <constant name="SolenoidYokeEndcapN_rmin"     value="SolenoidBarrel_rmin"/>
-    <constant name="SolenoidYokeEndcapP_zmax"      value="SolenoidYokeEndcapP_zmin + SolenoidYokeEndcap_thickness"/>
-    <constant name="SolenoidYokeEndcapN_zmax"      value="SolenoidYokeEndcapN_zmin + SolenoidYokeEndcap_thickness"/>
+    <comment> Solenoid Endcap </comment>
+    <constant name="SolenoidEndcapCoilEndSupport_rmin" value="SolenoidBarrelCoil_rmin"/>
+    <constant name="SolenoidEndcapCoilEndSupport_rmax" value="SolenoidBarrelCoilOverbind_rmax"/>
+    <constant name="SolenoidEndcapHelium_rmin"         value="SolenoidBarrelInnerHelium_rmin"/>
+    <constant name="SolenoidEndcapHelium_rmax"         value="SolenoidBarrelOuterHelium_rmax"/>
+    <constant name="SolenoidEndcapHeliumVessel_rmin"   value="SolenoidBarrelInnerHeliumVessel_rmin"/>
+    <constant name="SolenoidEndcapHeliumVessel_rmax"   value="SolenoidBarrelOuterHeliumVessel_rmax"/>
+    <constant name="SolenoidEndcapFirstMLILayer_rmin"  value="SolenoidBarrelInnerFirstMLILayer_rmin"/>
+    <constant name="SolenoidEndcapFirstMLILayer_rmax"  value="SolenoidBarrelOuterFirstMLILayer_rmax"/>
+    <constant name="SolenoidEndcapThermalShield_rmin"  value="SolenoidBarrelInnerThermalShield_rmin"/>
+    <constant name="SolenoidEndcapThermalShield_rmax"  value="SolenoidBarrelOuterThermalShield_rmax"/>
+    <constant name="SolenoidEndcapSecondMLILayer_rmin" value="SolenoidBarrelInnerSecondMLILayer_rmin"/>
+    <constant name="SolenoidEndcapSecondMLILayer_rmax" value="SolenoidBarrelOuterSecondMLILayer_rmax"/>
+    <constant name="SolenoidEndcapVacuumVessel_rmin"   value="SolenoidBarrelInnerVacuumVessel_rmin"/>
+    <constant name="SolenoidEndcapVacuumVessel_rmax"   value="SolenoidBarrelOuterVacuumVessel_rmax"/>
 
-    <constant name="SolenoidYokeChamferAngle"    value="0.2"/>
+    <constant name="SolenoidEndcapCoilEndSupport_zmin"     value="1800.0 * mm"/>
+    <constant name="SolenoidEndcapHelium_zmin"             value="1820.0 * mm"/>
+    <constant name="SolenoidEndcapHeliumVessel_zmin"       value="1840.0 * mm"/>
+    <constant name="SolenoidEndcapFirstMLILayer_zmin"      value="1855.0 * mm"/>
+    <constant name="SolenoidEndcapThermalShield_zmin"      value="1865.0 * mm"/>
+    <constant name="SolenoidEndcapSecondMLILayer_zmin"     value="1875.0 * mm"/>
+    <constant name="SolenoidEndcapVacuumVessel_zmin"       value="1895.0 * mm"/>
+    <constant name="SolenoidEndcapCoilEndSupportThickness" value="20.0 * mm"/>
+    <constant name="SolenoidEndcapHeliumThickness"         value="20.0 * mm"/>
+    <constant name="SolenoidEndcapHeliumVesselThickness"   value="10.0 * mm"/>
+    <constant name="SolenoidEndcapFirstMLILayerThickness"  value="10.0 * mm"/>
+    <constant name="SolenoidEndcapThermalShieldThickness"  value="10.0 * mm"/>
+    <constant name="SolenoidEndcapSecondMLILayerThickness" value="20.0 * mm"/>
+    <constant name="SolenoidEndcapVacuumVesselThickness"   value="25.0 * mm"/>
   </define>
 
   <detectors>
@@ -56,80 +120,210 @@
       insideTrackingVolume="false">
       <position x="0" y="0" z="Solenoid_offset"/>
       <layer id="1" 
-        inner_r="Solenoid_rmin" 
-        outer_z="SolenoidBarrel_zmax" 
+        inner_r="SolenoidBarrelInnerVacuumVessel_rmin" 
+        outer_z="SolenoidBarrelInnerVacuumVessel_zmax" 
         vis="SolenoidCryostatVis">
-        <slice material="Steel235" thickness="SolenoidBarrelCryostatThickness"/>
-        <slice material="Vacuum" thickness="SolenoidBarrelGapThickness"/>
+        <slice material="Steel235" thickness="SolenoidBarrelInnerVacuumVesselThickness"/>
       </layer>
       <layer id="2" 
-        inner_r="SolenoidCoilConductor_rmin" 
-        outer_z="SolenoidCoil_zmax" 
-        vis="SolenoidCoilVis">
-        <slice material="Aluminum" thickness="SolenoidBarrelAlConductorThickness"/>
-        <slice material="Aluminum" thickness="SolenoidBarrelQuenchbackThickness"/>
+        inner_r="SolenoidBarrelInnerSecondMLILayer_rmin" 
+        outer_z="SolenoidBarrelInnerSecondMLILayer_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Vacuum" thickness="SolenoidBarrelInnerSecondMLILayerThickness"/>
       </layer>
       <layer id="3" 
-        inner_r="SolenoidCoilConductor_rmax" 
-        outer_z="SolenoidBarrel_zmax" 
+        inner_r="SolenoidBarrelInnerThermalShield_rmin" 
+        outer_z="SolenoidBarrelInnerThermalShield_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Copper" thickness="SolenoidBarrelInnerThermalShieldThickness"/>
+      </layer>
+      <layer id="4" 
+        inner_r="SolenoidBarrelInnerFirstMLILayer_rmin" 
+        outer_z="SolenoidBarrelInnerFirstMLILayer_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Vacuum" thickness="SolenoidBarrelInnerFirstMLILayerThickness"/>
+      </layer>
+      <layer id="5" 
+        inner_r="SolenoidBarrelInnerHeliumVessel_rmin" 
+        outer_z="SolenoidBarrelInnerHeliumVessel_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Steel235" thickness="SolenoidBarrelInnerHeliumVesselThickness"/>
+      </layer>
+
+      <layer id="6" 
+        inner_r="SolenoidBarrelInnerHelium_rmin" 
+        outer_z="SolenoidBarrelInnerHelium_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Helium" thickness="SolenoidBarrelInnerHeliumThickness"/>
+      </layer>
+
+      <layer id="7" 
+        inner_r="SolenoidBarrelCoilFormer_rmin" 
+        outer_z="SolenoidBarrelCoilFormer_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Steel235" thickness="SolenoidBarrelCoilFormerThickness"/>
+      </layer>
+      <layer id="8" 
+        inner_r="SolenoidBarrelCoil_rmin" 
+        outer_z="SolenoidBarrelCoil_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Copper" thickness="SolenoidBarrelCoilThickness"/>
+      </layer>
+      <layer id="9" 
+        inner_r="SolenoidBarrelCoilOverbind_rmin" 
+        outer_z="SolenoidBarrelCoilOverbind_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Steel235" thickness="SolenoidBarrelCoilOverbindThickness"/>
+      </layer>
+
+      <layer id="10" 
+        inner_r="SolenoidBarrelOuterHelium_rmin" 
+        outer_z="SolenoidBarrelOuterHelium_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Helium" thickness="SolenoidBarrelOuterHeliumThickness"/>
+      </layer>
+
+      <layer id="11" 
+        inner_r="SolenoidBarrelOuterHeliumVessel_rmin" 
+        outer_z="SolenoidBarrelOuterHeliumVessel_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Steel235" thickness="SolenoidBarrelOuterHeliumVesselThickness"/>
+      </layer>
+      <layer id="12" 
+        inner_r="SolenoidBarrelOuterFirstMLILayer_rmin" 
+        outer_z="SolenoidBarrelOuterFirstMLILayer_zmax" 
         vis="SolenoidCryostatVis">
-        <slice material="Vacuum" thickness="SolenoidBarrelOuterGapThickness"/>
-        <slice material="Steel235" thickness="SolenoidBarrelOuterCryostatThickness"/>
+        <slice material="Vacuum" thickness="SolenoidBarrelOuterFirstMLILayerThickness"/>
+      </layer>
+      <layer id="13" 
+        inner_r="SolenoidBarrelOuterThermalShield_rmin" 
+        outer_z="SolenoidBarrelOuterThermalShield_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Copper" thickness="SolenoidBarrelOuterThermalShieldThickness"/>
+      </layer>
+      <layer id="14" 
+        inner_r="SolenoidBarrelOuterSecondMLILayer_rmin" 
+        outer_z="SolenoidBarrelOuterSecondMLILayer_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Vacuum" thickness="SolenoidBarrelOuterSecondMLILayerThickness"/>
+      </layer>
+      <layer id="15" 
+        inner_r="SolenoidBarrelOuterVacuumVessel_rmin" 
+        outer_z="SolenoidBarrelOuterVacuumVessel_zmax" 
+        vis="SolenoidCryostatVis">
+        <slice material="Steel235" thickness="SolenoidBarrelOuterVacuumVesselThickness"/>
       </layer>
     </detector>
 
     <detector 
-      id="SolenoidSupport_ID"
-      name="SolenoidCoilEnds"
+      id="Solenoid_ID"
+      name="SolenoidCoilEndcapP"
       type="ref_SolenoidEndcap"
       insideTrackingVolume="false"
-      reflect="true"
+      reflect="false"
       vis="SolenoidCryostatVis">
       <position x="0" y="0" z="Solenoid_offset"/>
       <layer id="1" 
-        inner_z="SolenoidCoil_zmax" 
-        inner_r="SolenoidCoilConductor_rmin" 
-        outer_r="SolenoidCoilConductor_rmax">
-        <slice material="Vacuum" thickness="SolenoidEndPlateGapThickness/2.0"/>
+        inner_z="SolenoidEndcapCoilEndSupport_zmin" 
+        inner_r="SolenoidEndcapCoilEndSupport_rmin" 
+        outer_r="SolenoidEndcapCoilEndSupport_rmax">
+        <slice material="Steel235" thickness="SolenoidEndcapCoilEndSupportThickness"/>
       </layer>
-      <!--
       <layer id="2" 
-        inner_z="SolenoidCoil_zmax + SolenoidEndPlateGapThickness" 
-        inner_r="Solenoid_rmin+SolenoidBarrelCryostatThickness" 
-        outer_r="SolenoidBarrel_rmax-SolenoidBarrelOuterCryostatThickness">
-        <slice material="Steel235" thickness="SolenoidEndPlateCryostatThickness"/>
+        inner_z="SolenoidEndcapHelium_zmin" 
+        inner_r="SolenoidEndcapHelium_rmin" 
+        outer_r="SolenoidEndcapHelium_rmax">
+        <slice material="Helium" thickness="SolenoidEndcapHeliumThickness"/>
+      </layer>
+      <layer id="3" 
+        inner_z="SolenoidEndcapHeliumVessel_zmin" 
+        inner_r="SolenoidEndcapHeliumVessel_rmin" 
+        outer_r="SolenoidEndcapHeliumVessel_rmax">
+        <slice material="Steel235" thickness="SolenoidEndcapHeliumVesselThickness"/>
+      </layer>
+      <layer id="4" 
+        inner_z="SolenoidEndcapFirstMLILayer_zmin" 
+        inner_r="SolenoidEndcapFirstMLILayer_rmin" 
+        outer_r="SolenoidEndcapFirstMLILayer_rmax">
+        <slice material="Vacuum" thickness="SolenoidEndcapFirstMLILayerThickness"/>
+      </layer>
+      <layer id="5" 
+        inner_z="SolenoidEndcapThermalShield_zmin" 
+        inner_r="SolenoidEndcapThermalShield_rmin" 
+        outer_r="SolenoidEndcapThermalShield_rmax">
+        <slice material="Copper" thickness="SolenoidEndcapThermalShieldThickness"/>
+      </layer>
+      <layer id="6" 
+        inner_z="SolenoidEndcapSecondMLILayer_zmin" 
+        inner_r="SolenoidEndcapSecondMLILayer_rmin" 
+        outer_r="SolenoidEndcapSecondMLILayer_rmax">
+        <slice material="Vacuum" thickness="SolenoidEndcapSecondMLILayerThickness"/>
+      </layer>
+      <layer id="7" 
+        inner_z="SolenoidEndcapVacuumVessel_zmin" 
+        inner_r="SolenoidEndcapVacuumVessel_rmin" 
+        outer_r="SolenoidEndcapVacuumVessel_rmax">
+        <slice material="Steel235" thickness="SolenoidEndcapVacuumVesselThickness"/>
       </layer>
-      -->
     </detector>
 
-    
-    <!--
     <detector 
-      id="SolenoidYoke_ID"
-      name="SolenoidYokeEndcaps"
+      id="Solenoid_ID"
+      name="SolenoidCoilEndcapN"
       type="ref_SolenoidEndcap"
       insideTrackingVolume="false"
       reflect="true"
-      vis="SolenoidYokeVis">
+      vis="SolenoidCryostatVis">
       <position x="0" y="0" z="Solenoid_offset"/>
       <layer id="1" 
-        vis="PurpleVis"
-        inner_z="SolenoidBarrel_zmax + SolenoidEndPlateGapThickness" 
-        inner_r="SolenoidYokeEndcapP_rmin" 
-        outer_r="SolenoidBarrel_rmax">
-        <slice material="Steel235" thickness="SolenoidYokeEndcap_thickness/2.0" vis="SolenoidYokeVis" />
+        inner_z="SolenoidEndcapCoilEndSupport_zmin" 
+        inner_r="SolenoidEndcapCoilEndSupport_rmin" 
+        outer_r="SolenoidEndcapCoilEndSupport_rmax">
+        <slice material="Steel235" thickness="SolenoidEndcapCoilEndSupportThickness"/>
+      </layer>
+      <layer id="2" 
+        inner_z="SolenoidEndcapHelium_zmin" 
+        inner_r="SolenoidEndcapHelium_rmin" 
+        outer_r="SolenoidEndcapHelium_rmax">
+        <slice material="Helium" thickness="SolenoidEndcapHeliumThickness"/>
+      </layer>
+      <layer id="3" 
+        inner_z="SolenoidEndcapHeliumVessel_zmin" 
+        inner_r="SolenoidEndcapHeliumVessel_rmin" 
+        outer_r="SolenoidEndcapHeliumVessel_rmax">
+        <slice material="Steel235" thickness="SolenoidEndcapHeliumVesselThickness"/>
+      </layer>
+      <layer id="4" 
+        inner_z="SolenoidEndcapFirstMLILayer_zmin" 
+        inner_r="SolenoidEndcapFirstMLILayer_rmin" 
+        outer_r="SolenoidEndcapFirstMLILayer_rmax">
+        <slice material="Vacuum" thickness="SolenoidEndcapFirstMLILayerThickness"/>
+      </layer>
+      <layer id="5" 
+        inner_z="SolenoidEndcapThermalShield_zmin" 
+        inner_r="SolenoidEndcapThermalShield_rmin" 
+        outer_r="SolenoidEndcapThermalShield_rmax">
+        <slice material="Copper" thickness="SolenoidEndcapThermalShieldThickness"/>
+      </layer>
+      <layer id="6" 
+        inner_z="SolenoidEndcapSecondMLILayer_zmin" 
+        inner_r="SolenoidEndcapSecondMLILayer_rmin" 
+        outer_r="SolenoidEndcapSecondMLILayer_rmax">
+        <slice material="Vacuum" thickness="SolenoidEndcapSecondMLILayerThickness"/>
+      </layer>
+      <layer id="7" 
+        inner_z="SolenoidEndcapVacuumVessel_zmin" 
+        inner_r="SolenoidEndcapVacuumVessel_rmin" 
+        outer_r="SolenoidEndcapVacuumVessel_rmax">
+        <slice material="Steel235" thickness="SolenoidEndcapVacuumVesselThickness"/>
       </layer>
     </detector>
-    <detector name="SolenoidYoke" type="SiEIC_Yoke" vis="SolenoidYokeVis">
-      <material name="Steel235"/>
-      <dimensions inner_radius="SolenoidYokeInnerRadius" thickness="SolenoidYokeThickness" rmin="CaloInnerRadius + 10 * mm" angle="SolenoidYokeChamferAngle" inner_z="SolenoidYokeInnerZ"/>
-    </detector>
-    -->
+
   </detectors>
 
   <fields>
     <field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla" 
-           zmin="-SolenoidCoil_zmax" zmax="SolenoidCoil_zmax" 
+           zmin="-SolenoidBarrelCoil_zmax" zmax="SolenoidBarrelCoil_zmax" 
            inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/>
   </fields>