diff --git a/examples/CLICSiD/CMakeLists.txt b/examples/CLICSiD/CMakeLists.txt
index 46a85795d14f53b6d0694e281fe6c199b7c5a2d4..17acf871a2c2aef99215f97ccfc463dc781ceed3 100644
--- a/examples/CLICSiD/CMakeLists.txt
+++ b/examples/CLICSiD/CMakeLists.txt
@@ -64,10 +64,10 @@ endif()
 
 add_library(${PackageName} SHARED ${sources})
 
-add_executable(CalorimeterReco CalorimeterReco.cpp ${sources})
+add_executable(CalorimeterReco CalorimeterReco.cpp)
 
 target_link_libraries(${PackageName} ${DD4hep_LIBRARIES} ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES} )
-target_link_libraries(CalorimeterReco ${PackageName} ${DD4hep_LIBRARIES} )
+target_link_libraries(CalorimeterReco ${PackageName} ${DD4hep_LIBRARIES}  ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES} )
 
 #---Rootmap generation--------------------------------------------------------------
 
diff --git a/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp b/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp
index 7bc97db19ef76cc2875fd6dfa1cc65578c2aee8a..d91c8137415dee029601a88b75fee7d1af54f875 100644
--- a/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp
+++ b/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp
@@ -17,21 +17,21 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens)   {
   xml_dim_t  dim       = x_det.dimensions();
   Material   air       = lcdd.air();
   string     det_name  = x_det.nameStr();
-  Tube       envelope;
-  Volume     envelopeVol(det_name+"_envelope",envelope,air);
   DetElement sdet       (det_name,x_det.id());
   double     z         = dim.outer_z();
   double     rmin      = dim.inner_r();
   double     r         = rmin;
   int        n         = 0;
+  Tube       envelope(rmin,2*rmin,2*z,0.0,2*M_PI);
+  Volume     envelopeVol(det_name+"_envelope",envelope,air);
     
   for(xml_coll_t c(x_det,_U(layer)); c; ++c)  {
     xml_comp_t x_layer = c;
     for(int i=0, m=0, repeat=x_layer.repeat(); i<repeat; ++i, m=0)  {
       string layer_name = det_name + _toString(n,"_layer%d");
-      Tube   layer_tub;
-      Volume layer_vol(layer_name,layer_tub,air);
       double rlayer = r;
+      Tube   layer_tub(rmin,rlayer,2*z,0,2*M_PI);
+      Volume layer_vol(layer_name,layer_tub,air);
         
       for(xml_coll_t l(x_layer,_U(slice)); l; ++l, ++m)  {
 	xml_comp_t x_slice = l;
diff --git a/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp b/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp
index f2fcf4f6959e5e5b18b2fc9a4645a7c11b211895..8f078f9d9b69cc7c2c02dea74fdf735e66d70a5c 100644
--- a/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp
+++ b/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp
@@ -19,16 +19,17 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
   Material   air       = lcdd.air();
   string     det_name  = x_det.nameStr();
   bool       reflect   = x_det.reflect();
-  Tube       envelope;
-  Volume     envelopeVol(det_name+"_envelope",envelope,air);
   double     zmin      = dim.inner_z();
   double     rmin      = dim.inner_r();
   double     rmax      = dim.outer_r();
   double     totWidth  = Layering(x_det).totalThickness();
   double     z         = zmin;
+  Tube       envelope   (rmin,rmax,totWidth,0,2*M_PI);
+  Volume     envelopeVol(det_name+"_envelope",envelope,air);
   int        layer_num = 1;
   PlacedVolume pv;
 
+	// Set attributes of slice
   for(xml_coll_t c(x_det,_U(layer)); c; ++c)  {
     xml_comp_t x_layer = c;
     double layerWidth = 0;
@@ -50,7 +51,6 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
 	  sens.setType("calorimeter");
 	  slice_vol.setSensitiveDetector(sens);
 	}
-	// Set attributes of slice
 	slice_vol.setAttributes(lcdd,x_slice.regionStr(),x_slice.limitsStr(),x_slice.visStr());
 	pv = layer_vol.placeVolume(slice_vol,Position(0,0,z-zlayer-layerWidth/2+w/2));
 	pv.addPhysVolID("slice",m+1);
diff --git a/examples/CLICSiD/src/MultiLayerTracker_geo.cpp b/examples/CLICSiD/src/MultiLayerTracker_geo.cpp
index 4e78e6d10a890a810223e8d46c31dc8666d55da8..54d5a70e169f0aff9ea622ce99bd613fa8a7cba2 100644
--- a/examples/CLICSiD/src/MultiLayerTracker_geo.cpp
+++ b/examples/CLICSiD/src/MultiLayerTracker_geo.cpp
@@ -25,12 +25,12 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
   for(xml_coll_t i(x_det,_U(layer)); i; ++i, ++n)  {
     xml_comp_t x_layer = i;
     string  l_name = det_name+_toString(n,"_layer%d");
-    DetElement layer(sdet,_toString(n,"layer%d"),x_layer.id());
-    Tube    l_tub;
-    Volume  l_vol(l_name,l_tub,air);
     double  z    = x_layer.outer_z();
     double  rmin = x_layer.inner_r();
     double  r    = rmin;
+    DetElement layer(sdet,_toString(n,"layer%d"),x_layer.id());
+    Tube    l_tub (rmin,2*rmin,z,0.0,2*M_PI);
+    Volume  l_vol(l_name,l_tub,air);
     int m = 0;
 
     for(xml_coll_t j(x_layer,_U(slice)); j; ++j, ++m)  {
@@ -43,8 +43,8 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens)  {
 
       r += thickness;
       if ( x_slice.isSensitive() ) {
-	sens.setType("tracker");
-	s_vol.setSensitiveDetector(sens);
+        sens.setType("tracker");
+        s_vol.setSensitiveDetector(sens);
       }
       // Set Attributes
       s_vol.setAttributes(lcdd,x_slice.regionStr(),x_slice.limitsStr(),x_slice.visStr());