From bf9d8a3656394d78cbaf4881388406219ecfddd4 Mon Sep 17 00:00:00 2001
From: Markus Frank <Markus.Frank@cern.ch>
Date: Tue, 18 Oct 2016 22:15:52 +0200
Subject: [PATCH] Convert segmentations to DD4hep handles

---
 DDCore/src/plugins/LCDDSegmentations.cpp | 70 ++++++++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 DDCore/src/plugins/LCDDSegmentations.cpp

diff --git a/DDCore/src/plugins/LCDDSegmentations.cpp b/DDCore/src/plugins/LCDDSegmentations.cpp
new file mode 100644
index 000000000..43d701195
--- /dev/null
+++ b/DDCore/src/plugins/LCDDSegmentations.cpp
@@ -0,0 +1,70 @@
+// $Id$
+//==========================================================================
+//  AIDA Detector description implementation for LCD
+//--------------------------------------------------------------------------
+// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
+// All rights reserved.
+//
+// For the licensing terms see $DD4hepINSTALL/LICENSE.
+// For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
+//
+// Author     : M.Frank
+//
+//==========================================================================
+
+// Framework includes
+#include "DD4hep/Segmentations.h"
+#include "DD4hep/Factories.h"
+
+using namespace DD4hep::Geometry;
+using namespace DD4hep::DDSegmentation;
+
+#include "DDSegmentation/CartesianGridXY.h"
+static SegmentationObject* create_CartesianGridXY(BitField64* decoder)
+{  return new SegmentationImplementation<CartesianGridXY>(decoder);    }
+DECLARE_SEGMENTATION(CartesianGridXY,create_CartesianGridXY)
+
+#include "DDSegmentation/CartesianGridXZ.h"
+static SegmentationObject* create_CartesianGridXZ(BitField64* decoder)
+{  return new SegmentationImplementation<CartesianGridXZ>(decoder);    }
+DECLARE_SEGMENTATION(CartesianGridXZ,create_CartesianGridXZ)
+
+#include "DDSegmentation/CartesianGridYZ.h"
+static SegmentationObject* create_CartesianGridYZ(BitField64* decoder)
+{  return new SegmentationImplementation<CartesianGridYZ>(decoder);    }
+DECLARE_SEGMENTATION(CartesianGridYZ,create_CartesianGridYZ)
+
+#include "DDSegmentation/CartesianGridXYZ.h"
+static SegmentationObject* create_CartesianGridXYZ(BitField64* decoder)
+{  return new SegmentationImplementation<CartesianGridXYZ>(decoder);    }
+DECLARE_SEGMENTATION(CartesianGridXYZ,create_CartesianGridXYZ)
+
+#include "DDSegmentation/TiledLayerGridXY.h"
+static SegmentationObject* create_TiledLayerGridXY(BitField64* decoder)
+{  return new SegmentationImplementation<TiledLayerGridXY>(decoder);    }
+DECLARE_SEGMENTATION(TiledLayerGridXY,create_TiledLayerGridXY)
+
+#include "DDSegmentation/MegatileLayerGridXY.h"
+static SegmentationObject* create_MegatileLayerGridXY(BitField64* decoder)
+{  return new SegmentationImplementation<MegatileLayerGridXY>(decoder);    }
+DECLARE_SEGMENTATION(MegatileLayerGridXY,create_MegatileLayerGridXY)
+
+#include "DDSegmentation/WaferGridXY.h"
+static SegmentationObject* create_WaferGridXY(BitField64* decoder)
+{  return new SegmentationImplementation<WaferGridXY>(decoder);    }
+DECLARE_SEGMENTATION(WaferGridXY,create_WaferGridXY)
+
+#include "DDSegmentation/PolarGridRPhi.h"
+static SegmentationObject* create_PolarGridRPhi(BitField64* decoder)
+{  return new SegmentationImplementation<PolarGridRPhi>(decoder);    }
+DECLARE_SEGMENTATION(PolarGridRPhi,create_PolarGridRPhi)
+
+#include "DDSegmentation/PolarGridRPhi2.h"
+static SegmentationObject* create_PolarGridRPhi2(BitField64* decoder)
+{  return new SegmentationImplementation<PolarGridRPhi2>(decoder);    }
+DECLARE_SEGMENTATION(PolarGridRPhi2,create_PolarGridRPhi2)
+
+#include "DDSegmentation/ProjectiveCylinder.h"
+static SegmentationObject* create_ProjectiveCylinder(BitField64* decoder)
+{  return new SegmentationImplementation<ProjectiveCylinder>(decoder);    }
+DECLARE_SEGMENTATION(ProjectiveCylinder,create_ProjectiveCylinder)
-- 
GitLab