|
||||
File indexing completed on 2025-01-18 09:10:52
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 0015 namespace Acts { 0016 class TrackingGeometry; 0017 0018 /// @class ITrackingGeometryBuilder 0019 /// 0020 /// Interface class for the TrackingGeometry building, 0021 /// this is used by the TrackingGeometrySvc to build the geometry. 0022 /// 0023 /// The TrackingGeometry is written to the detector store and thus not created 0024 /// as a std::shared_ptr. 0025 /// 0026 /// The TrackingGeometry is returned as a non-const object in order to recreate 0027 /// from conditions callback if necessary. 0028 /// 0029 class ITrackingGeometryBuilder { 0030 public: 0031 /// Virtual destructor 0032 virtual ~ITrackingGeometryBuilder() = default; 0033 0034 /// TrackingGeometry Interface method 0035 /// 0036 /// @param gctx is the geometry context for witch the geometry is built 0037 /// 0038 /// @return unique pointer to a newly created TrackingGeometry 0039 virtual std::unique_ptr<const TrackingGeometry> trackingGeometry( 0040 const GeometryContext& gctx) const = 0; 0041 }; 0042 } // 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 |