|
|
|||
File indexing completed on 2026-03-28 07:45:25
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 <cstdint> 0012 #include <map> 0013 #include <memory> 0014 #include <vector> 0015 0016 namespace Acts::Experimental { 0017 0018 /// Connection between two GBTS layers with binning information. 0019 struct GbtsLayerConnection { 0020 /// Constructor 0021 /// @param src_ Source layer index 0022 /// @param dst_ Destination layer index 0023 GbtsLayerConnection(std::uint32_t src_, std::uint32_t dst_) 0024 : src(src_), dst(dst_) {}; 0025 0026 /// Source and destination layer indices 0027 std::uint32_t src{}; 0028 /// Destination layer index 0029 std::uint32_t dst{}; 0030 0031 /// Binning table for the connection 0032 std::vector<std::int32_t> binTable; 0033 }; 0034 0035 /// Loader and container for GBTS layer connection data. 0036 struct GbtsLayerConnectionMap { 0037 public: 0038 /// Group of connections targeting a destination layer. 0039 struct LayerGroup { 0040 /// Constructor 0041 /// @param dst_ Destination layer key 0042 /// @param sources_ Vector of source connections 0043 LayerGroup(std::uint32_t dst_, 0044 const std::vector<const GbtsLayerConnection*>& sources_) 0045 : dst(dst_), sources(sources_) {}; 0046 0047 /// The target layer of the group 0048 std::uint32_t dst{}; 0049 0050 /// The source layers of the group 0051 std::vector<const GbtsLayerConnection*> sources; 0052 }; 0053 0054 /// Constructor 0055 /// @param inFile Input configuration file path 0056 /// @param lrtMode Enable LRT (Large Radius Tracking) mode 0057 GbtsLayerConnectionMap(std::string& inFile, bool lrtMode); 0058 0059 /// Eta bin width 0060 float etaBinWidth{}; 0061 0062 /// Map of layer groups indexed by layer 0063 std::map<std::int32_t, std::vector<LayerGroup>> layerGroups; 0064 /// Map of connections indexed by layer 0065 std::map<std::int32_t, std::vector<std::unique_ptr<GbtsLayerConnection>>> 0066 connectionMap; 0067 }; 0068 0069 } // namespace Acts::Experimental
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|