From f15b846259b5f9141c4fc5abb447e4b5366f116f Mon Sep 17 00:00:00 2001 From: lintao <lintao51@gmail.com> Date: Fri, 12 Jun 2020 21:07:17 +0800 Subject: [PATCH] WIP: add an SD. --- .../DetSimInterface/ISensDetTool.h | 2 +- Simulation/DetSimSD/CMakeLists.txt | 31 +++++++++++++++++++ .../DetSimSD/src/CalorimeterSensDetTool.cpp | 27 ++++++++++++++++ .../DetSimSD/src/CalorimeterSensDetTool.h | 31 +++++++++++++++++++ 4 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 Simulation/DetSimSD/CMakeLists.txt create mode 100644 Simulation/DetSimSD/src/CalorimeterSensDetTool.cpp create mode 100644 Simulation/DetSimSD/src/CalorimeterSensDetTool.h diff --git a/Simulation/DetSimInterface/DetSimInterface/ISensDetTool.h b/Simulation/DetSimInterface/DetSimInterface/ISensDetTool.h index cb06d940..bdba7547 100644 --- a/Simulation/DetSimInterface/DetSimInterface/ISensDetTool.h +++ b/Simulation/DetSimInterface/DetSimInterface/ISensDetTool.h @@ -21,7 +21,7 @@ public: virtual ~ISensDetTool() {}; - virtual G4VSensitiveDetector* createSD(const std::string& name); + virtual G4VSensitiveDetector* createSD(const std::string& name) = 0; }; diff --git a/Simulation/DetSimSD/CMakeLists.txt b/Simulation/DetSimSD/CMakeLists.txt new file mode 100644 index 00000000..fff9acdf --- /dev/null +++ b/Simulation/DetSimSD/CMakeLists.txt @@ -0,0 +1,31 @@ + +gaudi_subdir(DetSimSD v0r0) + +gaudi_depends_on_subdirs( + FWCore + Simulation/DetSimInterface +) + +find_package(Geant4 REQUIRED ui_all vis_all) +include(${Geant4_USE_FILE}) +find_package(DD4hep COMPONENTS DDG4 REQUIRED) + +set(DetSimSD_srcs + src/CalorimeterSensDetTool.cpp +) + +gaudi_add_module(DetSimSD ${DetSimSD_srcs} + INCLUDE_DIRS + # DetSimInterface + # FWCore + # DD4hep + # GaudiKernel + # Geant4 + LINK_LIBRARIES + # DetSimInterface + # FWCore + DD4hep + ${DD4hep_COMPONENT_LIBRARIES} + GaudiKernel + # Geant4 +) diff --git a/Simulation/DetSimSD/src/CalorimeterSensDetTool.cpp b/Simulation/DetSimSD/src/CalorimeterSensDetTool.cpp new file mode 100644 index 00000000..35e0dcb2 --- /dev/null +++ b/Simulation/DetSimSD/src/CalorimeterSensDetTool.cpp @@ -0,0 +1,27 @@ +#include "CalorimeterSensDetTool.h" + +#include "G4VSensitiveDetector.hh" + +DECLARE_COMPONENT(CalorimeterSensDetTool); + +StatusCode +CalorimeterSensDetTool::initialize() { + StatusCode sc; + + return sc; +} + +StatusCode +CalorimeterSensDetTool::finalize() { + StatusCode sc; + + return sc; +} + +G4VSensitiveDetector* +CalorimeterSensDetTool::createSD(const std::string& name) { + + return nullptr; +} + + diff --git a/Simulation/DetSimSD/src/CalorimeterSensDetTool.h b/Simulation/DetSimSD/src/CalorimeterSensDetTool.h new file mode 100644 index 00000000..5ecaf8c1 --- /dev/null +++ b/Simulation/DetSimSD/src/CalorimeterSensDetTool.h @@ -0,0 +1,31 @@ +#ifndef CalorimeterSensDetTool_h +#define CalorimeterSensDetTool_h + +/* + * CalorimeterSensDetTool is used to create the Calorimeter SD. + * + * -- 12 June 2020, Tao Lin <lintao@ihep.ac.cn> + */ + +#include "GaudiKernel/AlgTool.h" +#include "DetSimInterface/ISensDetTool.h" + +class CalorimeterSensDetTool: public extends<AlgTool, ISensDetTool> { + +public: + + using extends::extends; + + /// Overriding initialize and finalize + StatusCode initialize() override; + StatusCode finalize() override; + + /// Override ISensDetTool + virtual G4VSensitiveDetector* createSD(const std::string& name) override; + +private: + + +}; + +#endif -- GitLab