diff --git a/examples/CLICSiD/include/LayeredSubdetector.h b/examples/CLICSiD/include/LayeredSubdetector.h
deleted file mode 100644
index f1bc884d813caf0ffee3b9281222d6db4f35a105..0000000000000000000000000000000000000000
--- a/examples/CLICSiD/include/LayeredSubdetector.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * LayeredSubdetector.h
- *
- *  Created on: Mar 27, 2013
- *      Author: Christian Grefe, CERN
- */
-
-#ifndef LAYEREDSUBDETECTOR_H_
-#define LAYEREDSUBDETECTOR_H_
-
-#include "LayerStack.h"
-
-#include "DD4hep/Detector.h"
-
-namespace DD4hep {
-namespace Geometry {
-
-class LayeredSubdetector: virtual public DetElement {
-public:
-	LayeredSubdetector(const DetElement& e);
-	virtual ~LayeredSubdetector();
-
-	inline bool isLayered() const {
-		return true;
-	}
-
-	inline int getNumberOfLayers() const {
-		return layerStack->getNumberOfLayers();
-	}
-
-	inline int getNumberOfSensors(int layerIndex, int moduleIndex = 1) const {
-		return layerStack->getNumberOfSensors(layerIndex, moduleIndex);
-	}
-
-	inline DetElement getSensor(int layerIndex, int moduleIndex = 1, int sensorIndex = 1) const {
-		return layerStack->getSensor(layerIndex, moduleIndex, sensorIndex);
-	}
-
-	inline double getLayerThickness(int layerIndex, int moduleIndex = 1) const {
-		return layerStack->getThickness(layerIndex, moduleIndex);
-	}
-
-	inline double getInteractionLengths(int layerIndex, int moduleIndex = 1) const {
-		return layerStack->getInteractionLengths(layerIndex, moduleIndex);
-	}
-
-	inline double getRadiationLengths(int layerIndex, int moduleIndex = 1) const {
-		return layerStack->getRadiationLengths(layerIndex, moduleIndex);
-	}
-
-	inline double getMipEnergyLoss(int /* layerIndex */, int /* moduleIndex */ = 1) const {
-		return 0.;
-	}
-
-	inline double getTotalThickness(int moduleIndex = 1) const {
-		return layerStack->getTotalThickness(moduleIndex);
-	}
-
-	inline double getTotalInteractionLengths(int moduleIndex = 1) const {
-		return layerStack->getTotalInteractionLengths(moduleIndex);
-	}
-
-	inline double getTotalRadiationLengths(int moduleIndex = 1) const {
-		return layerStack->getTotalRadiationLengths(moduleIndex);
-	}
-
-protected:
-	LayerStack* layerStack;
-
-private:
-	void getExtension();
-
-};
-
-} /* namespace Geometry */
-} /* namespace DD4hep */
-
-#endif /* LAYEREDSUBDETECTOR_H_ */
diff --git a/examples/CLICSiD/src/LayerStack.cpp b/examples/CLICSiD/src/LayerStack.cpp
deleted file mode 100644
index bf1b75ee146ad42d779fb3c55cd9de179adc5563..0000000000000000000000000000000000000000
--- a/examples/CLICSiD/src/LayerStack.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Layer.cpp
- *
- *  Created on: Apr 18, 2013
- *      Author: Christian Grefe, CERN
- */
-
-#include "LayerStack.h"
-#include "Exceptions.h"
-#include "DD4hep/Detector.h"
-#include "DD4hep/Shapes.h"
-
-#include <sstream>
-
-namespace DD4hep {
-namespace Geometry {
-
-using std::stringstream;
-using namespace DD4hep::Geometry;
-
-LayerStack::LayerStack(const DetElement& det) : det(det) {
-
-}
-
-LayerStack::LayerStack(const LayerStack& /* layerStack */, const DetElement& det) : det(det) {
-
-}
-
-LayerStack::~LayerStack() {
-
-}
-
-double LayerStack::getThickness(int layerIndex, int moduleIndex) const {
-	double thickness = 0.;
-	for (int sliceIndex = 0; sliceIndex < getNumberOfSlices(layerIndex, moduleIndex); sliceIndex++) {
-		thickness += Box(getSlice(layerIndex, moduleIndex, sliceIndex+1).volume().solid())->GetDZ();
-	}
-	return thickness;
-}
-
-double LayerStack::getRadiationLengths(int layerIndex, int moduleIndex) const {
-	double radiationLengths = 0.;
-	for (int sliceIndex = 0; sliceIndex < getNumberOfSlices(layerIndex, moduleIndex); sliceIndex++) {
-		radiationLengths += Box(getSlice(layerIndex, moduleIndex, sliceIndex+1).volume().solid())->GetDZ() / getSlice(layerIndex, moduleIndex).volume().material().radLength();
-	}
-	return radiationLengths;
-}
-
-double LayerStack::getInteractionLengths(int layerIndex, int moduleIndex) const {
-	double interactionLengths = 0.;
-	for (int sliceIndex = 0; sliceIndex < getNumberOfSlices(layerIndex, moduleIndex); sliceIndex++) {
-		interactionLengths += Box(getSlice(layerIndex, moduleIndex, sliceIndex+1).volume().solid())->GetDZ() / getSlice(layerIndex, moduleIndex).volume().material().intLength();
-	}
-	return interactionLengths;
-}
-
-double LayerStack::getTotalThickness(int moduleIndex) const {
-	double thickness = 0.;
-	for (int layerIndex = 0; layerIndex < getNumberOfLayers(); layerIndex++) {
-		thickness += getThickness(layerIndex+1, moduleIndex);
-	}
-	return thickness;
-}
-
-double LayerStack::getTotalInteractionLengths(int moduleIndex) const {
-	double interactionLengths = 0.;
-	for (int layerIndex = 0; layerIndex < getNumberOfLayers(); layerIndex++) {
-		interactionLengths += getInteractionLengths(layerIndex+1, moduleIndex);
-	}
-	return interactionLengths;
-}
-
-double LayerStack::getTotalRadiationLengths(int moduleIndex) const {
-	double radiationLengths = 0.;
-	for (int layerIndex = 0; layerIndex < getNumberOfLayers(); layerIndex++) {
-		radiationLengths += getRadiationLengths(layerIndex+1, moduleIndex);
-	}
-	return radiationLengths;
-}
-
-PolyhedralCalorimeterLayerStack::PolyhedralCalorimeterLayerStack(const DetElement& det) : LayerStack(det) {
-
-}
-
-PolyhedralCalorimeterLayerStack::PolyhedralCalorimeterLayerStack(const PolyhedralCalorimeterLayerStack& layerStack, const DetElement& det) : LayerStack(layerStack, det) {
-
-}
-
-PolyhedralCalorimeterLayerStack::~PolyhedralCalorimeterLayerStack() {
-
-}
-
-int PolyhedralCalorimeterLayerStack::getNumberOfLayers() const {
-	stringstream moduleName;
-	moduleName << "stave1";
-	DetElement module = det.child(moduleName.str());
-	if (not module.isValid()) {
-		std::cerr << "Invalid module name " << moduleName.str() << std::endl;
-		return 0;
-	}
-	return module.children().size();
-}
-
-  int PolyhedralCalorimeterLayerStack::getNumberOfModules(int /* layerIndex */) const {
-	return det.children().size();
-}
-
-DetElement PolyhedralCalorimeterLayerStack::getModule(int layerIndex, int moduleIndex) const {
-	stringstream moduleName;
-	moduleName << "stave" << moduleIndex;
-	DetElement module = det.child(moduleName.str());
-	if (not module.isValid()) {
-		std::cerr << "Invalid module name " << moduleName.str() << std::endl;
-		return DetElement();
-	}
-	stringstream layerName;
-	layerName << "layer" << layerIndex;
-	DetElement layer = module.child(layerName.str());
-	if (not layer.isValid()) {
-		std::cerr << "Invalid layer name " << layerName.str() << std::endl;
-		return DetElement();
-	}
-	return layer;
-}
-
-int PolyhedralCalorimeterLayerStack::getNumberOfSlices(int layerIndex, int moduleIndex) const {
-	return getModule(layerIndex, moduleIndex).children().size();
-}
-
-DetElement PolyhedralCalorimeterLayerStack::getSlice(int layerIndex, int moduleIndex, int sliceIndex) const {
-	stringstream sliceName;
-	sliceName << "slice" << sliceIndex;
-	DetElement slice = getModule(layerIndex, moduleIndex).child(sliceName.str());
-	if (not slice.isValid()) {
-		std::cerr << "Invalid slice name " << sliceName.str() << std::endl;
-		return DetElement();
-	}
-	return getModule(layerIndex, moduleIndex).child(sliceName.str());
-}
-
-int PolyhedralCalorimeterLayerStack::getNumberOfSensors(int layerIndex, int moduleIndex) const {
-	int nSensors = 0;
-	for (int sliceIndex = 0; sliceIndex < getNumberOfSlices(layerIndex, moduleIndex); sliceIndex++) {
-		if (getSlice(layerIndex, moduleIndex, sliceIndex+1).volume().isSensitive()) {
-			nSensors++;
-		}
-	}
-	return nSensors;
-}
-
-DetElement PolyhedralCalorimeterLayerStack::getSensor(int layerIndex, int moduleIndex, int sensorIndex) const {
-	int nSensors = 0;
-	for (int sliceIndex = 0; sliceIndex < getNumberOfSlices(layerIndex, moduleIndex); sliceIndex++) {
-		DetElement slice = getSlice(layerIndex, moduleIndex, sliceIndex+1);
-		if (slice.volume().isSensitive()) {
-			nSensors++;
-		}
-		if (nSensors == sensorIndex) {
-			return slice;
-		}
-	}
-	throw OutsideGeometryException("No sensor with index " + sensorIndex);
-}
-
-} /* namespace Geometry */
-} /* namespace DD4hep */