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