From 81ea37c79d528ccbacedb558333613a9e1f5d82b Mon Sep 17 00:00:00 2001
From: lintao <lintao51@gmail.com>
Date: Sat, 9 Nov 2019 20:57:03 +0800
Subject: [PATCH] WIP: start to add geosvc.

---
 Detector/DetInterface/CMakeLists.txt         |  8 +++++
 Detector/DetInterface/DetInterface/IGeoSvc.h | 35 ++++++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 Detector/DetInterface/CMakeLists.txt
 create mode 100644 Detector/DetInterface/DetInterface/IGeoSvc.h

diff --git a/Detector/DetInterface/CMakeLists.txt b/Detector/DetInterface/CMakeLists.txt
new file mode 100644
index 00000000..04673155
--- /dev/null
+++ b/Detector/DetInterface/CMakeLists.txt
@@ -0,0 +1,8 @@
+################################################################################
+# Package: DetInterface
+################################################################################
+gaudi_subdir(DetInterface v1r0)
+
+gaudi_depends_on_subdirs(GaudiKernel)
+
+gaudi_install_headers(DetInterface)
diff --git a/Detector/DetInterface/DetInterface/IGeoSvc.h b/Detector/DetInterface/DetInterface/IGeoSvc.h
new file mode 100644
index 00000000..02db1bfa
--- /dev/null
+++ b/Detector/DetInterface/DetInterface/IGeoSvc.h
@@ -0,0 +1,35 @@
+//
+//  IGeoSvc.h
+//
+//  Based on FCCSW.
+//  Created by Julia Hrdinka on 30/03/15.
+//
+//
+
+#ifndef IGEOSVC_H
+#define IGEOSVC_H
+
+#include "GaudiKernel/IService.h"
+
+namespace dd4hep {
+class Detector;
+class DetElement;
+}
+
+class G4VUserDetectorConstruction;
+
+class GAUDI_API IGeoSvc : virtual public IService {
+
+public:
+  /// InterfaceID
+  DeclareInterfaceID(IGeoSvc, 1, 0);
+  // receive DD4hep Geometry
+  virtual dd4hep::DetElement getDD4HepGeo() = 0;
+  virtual dd4hep::Detector* lcdd() = 0;
+  // receive Geant4 Geometry
+  virtual G4VUserDetectorConstruction* getGeant4Geo() = 0;
+
+  virtual ~IGeoSvc() {}
+};
+
+#endif  // IGEOSVC_H
-- 
GitLab