|
||||
File indexing completed on 2025-01-18 09:27:43
0001 // This file is part of the Acts project. 0002 // 0003 // Copyright (C) 2021 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 http://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 class TGeoNode; 0017 0018 namespace Acts { 0019 0020 class TGeoDetectorElement; 0021 0022 /// @brief ITGeoElementSplitter 0023 /// 0024 /// Interface class that allows to define splitting of TGeoElements into 0025 /// sub-elements 0026 class ITGeoDetectorElementSplitter { 0027 public: 0028 virtual ~ITGeoDetectorElementSplitter() = default; 0029 0030 /// Take a geometry context and TGeoElement and split it into sub elements 0031 /// 0032 /// @param gctx is a geometry context object 0033 /// @param tgde is a TGeoDetectorElement that is eventually split 0034 /// 0035 /// @note If no split is performed the unsplit detector element is returned 0036 /// 0037 /// @return a vector of TGeoDetectorElement objects 0038 virtual std::vector<std::shared_ptr<const Acts::TGeoDetectorElement>> split( 0039 const GeometryContext& gctx, 0040 std::shared_ptr<const Acts::TGeoDetectorElement> tgde) const = 0; 0041 }; 0042 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 |