diff --git a/compact/definitions.xml b/compact/definitions.xml
index 2b70bbe77401932f5b5f22ed19d6fa14f23b5c54..2d20bc8c98d8334b259cecb3000a23598df0dd68 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -566,8 +566,8 @@
     <constant name="EcalEndcapNThickness"        
         value="EcalEndcapNLayer1_NRepeat*EcalLayer1_thickness + EcalEndcapNLayer2_NRepeat*EcalLayer2_thickness + EcalEndcapNLayer3_NRepeat*EcalLayer3_thickness"/>
 
-    <constant name="EcalBarrelLength"           value="CentralTracking_length + BackwardPIDLength + EcalEndcapNThickness - 10*cm"/>
-    <constant name="EcalBarrel_offset"          value="(CentralTracking_length - EcalBarrelLength)/2.0"/>
+    <constant name="EcalBarrel_length"           value="CentralTracking_length + BackwardPIDLength + EcalEndcapNThickness - 10*cm"/>
+    <constant name="EcalBarrel_offset"          value="(CentralTracking_length - EcalBarrel_length)/2.0"/>
 
     <comment>
       -------------------------------
diff --git a/compact/ecal.xml b/compact/ecal.xml
index 06b0c6a0b92750219d56fb7a3b81c38fe8404679..9357337739bd00f52714255f35ebdbed1953a3ec 100644
--- a/compact/ecal.xml
+++ b/compact/ecal.xml
@@ -28,52 +28,9 @@
   <display>
   </display>
 
-
+  <include ref="ecal_barrel.xml"/>
   <detectors>
 
-    <comment>
-      ---------------------
-      Barrel EM Calorimeter
-      ---------------------
-      A layered EM calorimeter with tungsten and silicon (or scintillator) strips
-    </comment>
-    <detector 
-      id="ECalBarrel_ID"
-      name="EcalBarrel"
-      type="refdet_EcalBarrel"
-      readout="EcalBarrelHits"
-      calorimeterType="EM_BARREL"
-      offset="EcalBarrel_offset"
-      >
-      <dimensions 
-        numsides="CaloSides" 
-        rmin="EcalBarrel_rmin" 
-        z="EcalBarrelLength"/>
-      <staves vis="EcalBarrelVis"/>
-      <layer repeat="EcalBarrelLayer1_NRepeat">
-        <slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
-        <slice material="Copper" thickness="EcalCopperThickness"/>
-        <slice material="Kapton" thickness="EcalKaptonThickness"/>
-        <slice material="Air" thickness="EcalAir1Thickness"/>
-      </layer>
-      <layer repeat="EcalBarrelLayer2_NRepeat">
-        <slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
-        <slice material="Air" thickness="EcalAir2Thickness"/>
-        <slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
-        <slice material="Copper" thickness="EcalCopperThickness"/>
-        <slice material="Kapton" thickness="EcalKaptonThickness"/>
-        <slice material="Air" thickness="EcalAir1Thickness"/>
-      </layer>
-      <layer repeat="EcalBarrelLayer3_NRepeat">
-        <slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
-        <slice material="Air" thickness="EcalAir2Thickness"/>
-        <slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
-        <slice material="Copper" thickness="EcalCopperThickness"/>
-        <slice material="Kapton" thickness="EcalKaptonThickness"/>
-        <slice material="Air" thickness="EcalAir1Thickness"/>
-      </layer>
-    </detector>
-
     <comment>
       ------------------------------------------
       Forward (Positive Z) Endcap EM Calorimeter
@@ -189,10 +146,6 @@
       <segmentation type="CartesianGridXY" grid_size_x="CrystalBox_x_length" grid_size_y="CrystalBox_y_length" />
       <id>system:8,sector:4,module:20,x:48:-8,y:-8</id>
     </readout>
-    <readout name="EcalBarrelHits">
-      <segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
-      <id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
-    </readout>
     <readout name="EcalEndcapHits">
       <segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
       <id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
diff --git a/compact/ecal_barrel.xml b/compact/ecal_barrel.xml
new file mode 100644
index 0000000000000000000000000000000000000000..08b184c12b494c2b2c8b00a29f19f52987a741c3
--- /dev/null
+++ b/compact/ecal_barrel.xml
@@ -0,0 +1,84 @@
+<lccdd>
+
+  <define>
+
+    <comment>
+      ---------------------------------------
+      EM Calorimeter Parameters with AstroPix
+      ---------------------------------------
+    </comment>
+    <constant name="EcalBarrel_SiliconThickness"     value="500*um"/>
+    <constant name="EcalBarrel_ElectronicsThickness" value="150*um"/>
+    <constant name="EcalBarrel_CopperThickness"      value="100*um"/>
+    <constant name="EcalBarrel_KaptonThickness"      value="200*um"/>
+    <constant name="EcalBarrel_EpoxyThickness"       value="100*um"/>
+    <constant name="EcalBarrel_CarbonThickness"      value="0.5*mm"/>
+    <constant name="EcalBarrel_CarbonSpacerWidth"    value="4*mm"/>
+    <constant name="EcalBarrel_LayerSpacing"         value="10.0*mm"/>
+    <constant name="EcalBarrel_TungstenThickness"    value="4.0*mm"/>
+    <constant name="EcalBarrel_ModRepeat"            value="CaloSides"/> 
+    <constant name="EcalBarrel_ModLength"            value="0.5*m"/>
+    <constant name="EcalBarrel_ModWidth"             value="0.5*m"/>
+    <constant name="EcalBarrel_AvailThickness"       value="EcalBarrel_TotalThickness"/>
+    <constant name="EcalBarrel_ReadoutLayerThickness"
+      value="EcalBarrel_SiliconThickness
+      + EcalBarrel_ElectronicsThickness
+      + EcalBarrel_CopperThickness
+      + EcalBarrel_KaptonThickness
+      + EcalBarrel_EpoxyThickness
+      + EcalBarrel_CarbonThickness
+      + EcalBarrel_LayerSpacing"/>
+    <constant name="EcalBarrel_ReadoutLayerNumber" value="floor(EcalBarrel_AvailThickness/EcalBarrel_ReadoutLayerThickness)"/>
+    <constant name="EcalBarrelLayers_nMax"  value="20"/>
+  </define>
+
+  <limits>
+  </limits>
+
+  <regions>
+  </regions>
+
+  <display>
+  </display>
+
+  <detectors>
+
+    <comment>
+      ---------------------
+      Barrel EM Calorimeter
+      ---------------------
+      A layered EM calorimeter with tungsten and silicon (AstroPix)
+    </comment>
+    <detector
+      id="ECalBarrel_ID"
+      name="EcalBarrel"
+      type="athena_EcalBarrel"
+      readout="EcalBarrelHits"
+      calorimeterType="EM_BARREL"
+      offset="EcalBarrel_offset">
+      <dimensions numsides="EcalBarrel_ModRepeat" 
+        rmin="EcalBarrel_rmin" 
+        z="EcalBarrel_length"/>
+      <staves vis="EcalBarrelVis"/>
+      <layer repeat="EcalBarrel_ReadoutLayerNumber">
+        <slice material="Silicon" thickness="EcalBarrel_SiliconThickness" sensitive="yes" limits="cal_limits"/>
+        <slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness"/>
+        <slice material="Copper" thickness="EcalBarrel_CopperThickness"/>
+        <slice material="Kapton" thickness="EcalBarrel_KaptonThickness"/>
+        <slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness"/>
+        <slice material="CarbonFiber" thickness="EcalBarrel_CarbonThickness"/>
+        <slice material="TungstenDens24" thickness="EcalBarrel_TungstenThickness"/>
+        <slice material="Air" thickness="EcalBarrel_LayerSpacing - EcalBarrel_TungstenThickness"/>
+      </layer>
+    </detector>
+  </detectors>
+
+  <readouts>
+    <readout name="EcalBarrelHits">
+      <segmentation type="CartesianGridXY" grid_size_x="0.5 * mm" grid_size_y="0.5 * mm"/>
+      <id>system:8,barrel:3,module:4,layer:10,slice:5,x:32:-16,y:-16</id>
+    </readout>
+  </readouts>
+
+
+</lccdd>
diff --git a/compact/hcal.xml b/compact/hcal.xml
index ad16a15eb01529856e377f1d84c71c95606ea09f..64c43a70ffdb8278ffc905d91f67f15c515c871a 100644
--- a/compact/hcal.xml
+++ b/compact/hcal.xml
@@ -19,7 +19,7 @@
     <detector 
       id="HCalBarrel_ID" 
       name="HcalBarrel"
-      type="refdet_EcalBarrel"
+      type="athena_EcalBarrel"
       readout="HcalBarrelHits"
       calorimeterType="HAD_BARREL"
       offset="HcalBarrel_offset"
diff --git a/src/BarrelCalorimeter_geo.cpp b/src/BarrelCalorimeter_geo.cpp
index 634a45f433e419b15880b756066cf55d89c7ba06..d640f01f3a2006911e4a4fe77510f2e9347b99f9 100644
--- a/src/BarrelCalorimeter_geo.cpp
+++ b/src/BarrelCalorimeter_geo.cpp
@@ -161,5 +161,5 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
   return sdet;
 }
 
-DECLARE_DETELEMENT(refdet_EcalBarrel,create_detector)
-DECLARE_DETELEMENT(refdet_HcalBarrel,create_detector)
+DECLARE_DETELEMENT(athena_EcalBarrel,create_detector)
+DECLARE_DETELEMENT(athena_HcalBarrel,create_detector)