diff --git a/Simulation/DetSimAna/CMakeLists.txt b/Simulation/DetSimAna/CMakeLists.txt
index 883dfd8215c9ccfd9e88b7d1713c442de1f5e151..b1bd935f32e1de1bb87d8c490f5967960deda351 100644
--- a/Simulation/DetSimAna/CMakeLists.txt
+++ b/Simulation/DetSimAna/CMakeLists.txt
@@ -5,12 +5,17 @@ include(${Geant4_USE_FILE})
 gaudi_add_module(DetSimAna
                  SOURCES src/Edm4hepWriterAnaElemTool.cpp
                  LINK DetSimInterface
+                      DetSimSDLib
                       ${DD4hep_COMPONENT_LIBRARIES} 
                       Gaudi::GaudiKernel
                       EDM4HEP::edm4hep EDM4HEP::edm4hepDict
                       k4FWCore::k4FWCore
 )
 
+target_include_directories(DetSimAna PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>/include
+  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+
 install(TARGETS DetSimAna
   EXPORT CEPCSWTargets
   RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
index b05e7994b44cc54d2dbda14039a3700348fcc704..9de89e9447aec654c51a1567f9dd482cfcce00fe 100644
--- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
+++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
@@ -12,7 +12,7 @@
 #include "DDG4/Geant4Mapping.h"
 #include "DDG4/Geant4HitCollection.h"
 #include "DDG4/Geant4Data.h"
-#include "DDG4/Geant4Hits.h"
+#include "DetSimSD/Geant4Hits.h"
 
 DECLARE_COMPONENT(Edm4hepWriterAnaElemTool)
 
diff --git a/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp b/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp
index d912414d4108a8f45efdb394d26ddcfab5fc0d21..1e11da48b5c8872ff1553c95025597a2a7db251c 100644
--- a/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp
+++ b/Simulation/DetSimAna/src/ExampleAnaElemTool.cpp
@@ -9,7 +9,7 @@
 #include "DDG4/Geant4Mapping.h"
 #include "DDG4/Geant4HitCollection.h"
 #include "DDG4/Geant4Data.h"
-#include "DDG4/Geant4Hits.h"
+#include "DetSimSD/Geant4Hits.h"
 
 DECLARE_COMPONENT(ExampleAnaElemTool)
 
diff --git a/Simulation/DetSimSD/CMakeLists.txt b/Simulation/DetSimSD/CMakeLists.txt
index 1dbfc6f802a8758d46bb7f6dfc74c7ef0296a611..f3a9618ac625fce03d1c277bcef6be28e355628e 100644
--- a/Simulation/DetSimSD/CMakeLists.txt
+++ b/Simulation/DetSimSD/CMakeLists.txt
@@ -2,25 +2,34 @@
 find_package(Geant4 REQUIRED ui_all vis_all)
 include(${Geant4_USE_FILE})
 
+gaudi_add_library(DetSimSDLib
+                  SOURCES src/Geant4Hits.cpp
+                          src/DDG4SensitiveDetector.cpp
+                          src/CaloSensitiveDetector.cpp
+                          src/DriftChamberSensitiveDetector.cpp
+                          src/TimeProjectionChamberSensitiveDetector.cpp
+                          src/GenericTrackerSensitiveDetector.cpp
+                          src/TrackerCombineSensitiveDetector.cpp
+                  LINK DetSimInterface
+                       DetInterface
+                       ${DD4hep_COMPONENT_LIBRARIES}
+)
+target_include_directories(DetSimSDLib PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>/include
+  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+install(TARGETS DetSimSDLib
+  EXPORT CEPCSWTargets
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
+  COMPONENT dev)
+
 gaudi_add_module(DetSimSD 
                  SOURCES src/CalorimeterSensDetTool.cpp
-                         src/DDG4SensitiveDetector.cpp
-                         src/CaloSensitiveDetector.cpp
-
                          src/DriftChamberSensDetTool.cpp
-                         src/DriftChamberSensitiveDetector.cpp
-
                          src/TimeProjectionChamberSensDetTool.cpp
-                         src/TimeProjectionChamberSensitiveDetector.cpp
-
                          src/GenericTrackerSensDetTool.cpp
-                         src/GenericTrackerSensitiveDetector.cpp
-                         src/TrackerCombineSensitiveDetector.cpp
-
-                         src/Geant4Hits.cpp
-                         
-
                  LINK DetSimInterface
+                      DetSimSDLib
                       DetInterface
                       ${DD4hep_COMPONENT_LIBRARIES} 
                       Gaudi::GaudiKernel
diff --git a/Simulation/DetSimSD/include/DetSimSD/DDG4SensitiveDetector.h b/Simulation/DetSimSD/include/DetSimSD/DDG4SensitiveDetector.h
index 687771e344b9f12ae553e56888b1222288fefbaf..c4a29eb3983d0e1f240059eb1c767b8fc0773c15 100644
--- a/Simulation/DetSimSD/include/DetSimSD/DDG4SensitiveDetector.h
+++ b/Simulation/DetSimSD/include/DetSimSD/DDG4SensitiveDetector.h
@@ -15,7 +15,7 @@
 
 
 #include "DD4hep/Detector.h"
-#include "DDG4/Geant4Hits.h"
+#include "DetSimSD/Geant4Hits.h"
 
 #include "G4Step.hh"
 #include "G4HCofThisEvent.hh"