|
|
|||
File indexing completed on 2025-12-17 09:37:21
0001 //------------------------------- -*- C++ -*- -------------------------------// 0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details 0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0004 //---------------------------------------------------------------------------// 0005 //! \file accel/detail/GeantSimpleCaloSD.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include <memory> 0010 #include <G4VSensitiveDetector.hh> 0011 0012 #include "corecel/Types.hh" 0013 0014 namespace celeritas 0015 { 0016 namespace detail 0017 { 0018 struct GeantSimpleCaloStorage; 0019 //---------------------------------------------------------------------------// 0020 /*! 0021 * Accumulate energy deposition in volumes. 0022 * 0023 * This SD is returned by \c GeantSimpleCalo. 0024 */ 0025 class GeantSimpleCaloSD : public G4VSensitiveDetector 0026 { 0027 public: 0028 //!@{ 0029 //! \name Type aliases 0030 using SPStorage = std::shared_ptr<detail::GeantSimpleCaloStorage>; 0031 //!@} 0032 0033 public: 0034 // Construct with name and shared params 0035 GeantSimpleCaloSD(SPStorage storage, size_type thread_id); 0036 0037 protected: 0038 void Initialize(G4HCofThisEvent*) final {} 0039 bool ProcessHits(G4Step*, G4TouchableHistory*) final; 0040 0041 private: 0042 SPStorage storage_; 0043 size_type thread_id_; 0044 }; 0045 0046 //---------------------------------------------------------------------------// 0047 } // namespace detail 0048 } // namespace celeritas
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|