|
||||
File indexing completed on 2025-01-19 09:23:22
0001 // This file is part of the Acts project. 0002 // 0003 // Copyright (C) 2016-2018 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 #include "Acts/Geometry/GeometryContext.hpp" 0011 0012 #include <memory> 0013 0014 namespace Acts { 0015 class TrackingGeometry; 0016 0017 /// @class ITrackingGeometryBuilder 0018 /// 0019 /// Interface class for the TrackingGeometry building, 0020 /// this is used by the TrackingGeometrySvc to build the geometry. 0021 /// 0022 /// The TrackingGeometry is written to the detector store and thus not created 0023 /// as a std::shared_ptr. 0024 /// 0025 /// The TrackingGeometry is returned as a non-const object in order to recreate 0026 /// from conditions callback if necessary. 0027 /// 0028 class ITrackingGeometryBuilder { 0029 public: 0030 /// Virtual destructor 0031 virtual ~ITrackingGeometryBuilder() = default; 0032 0033 /// TrackingGeometry Interface method 0034 /// 0035 /// @param gctx is the geometry context for witch the geometry is built 0036 /// 0037 /// @return unique pointer to a newly created TrackingGeometry 0038 virtual std::unique_ptr<const TrackingGeometry> trackingGeometry( 0039 const GeometryContext& gctx) const = 0; 0040 }; 0041 } // 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 |