|
||||
File indexing completed on 2025-01-18 09:10:45
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project 0004 // 0005 // This Source Code Form is subject to the terms of the Mozilla Public 0006 // License, v. 2.0. If a copy of the MPL was not distributed with this 0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 #include "Acts/Geometry/GeometryContext.hpp" 0012 0013 #include <memory> 0014 #include <vector> 0015 0016 namespace Acts { 0017 0018 class Surface; 0019 0020 namespace Experimental { 0021 0022 /// @brief This is the interface for providing surfaces 0023 /// to the detector building process. These surfaces manly 0024 /// describe the sensitive detector surfaces, but also passive 0025 /// (i.e. material carrying) surfaces are considered. 0026 /// 0027 /// These could be prefilled, or created on demand when 0028 /// the detector is built (to increase memory locality) 0029 class ISurfacesProvider { 0030 public: 0031 virtual ~ISurfacesProvider() = default; 0032 0033 /// The virtual interface definition for detector surface providers 0034 /// 0035 /// @param gctx the geometry context at the creation of the internal structure 0036 /// 0037 /// @return a shared detector object 0038 virtual std::vector<std::shared_ptr<Surface>> surfaces( 0039 const GeometryContext& gctx) const = 0; 0040 }; 0041 0042 } // namespace Experimental 0043 } // namespace Acts
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |