File indexing completed on 2026-08-27 08:30:33
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Seeding/GbtsLayerDescription.hpp"
0012
0013 #include <cstdint>
0014 #include <vector>
0015
0016 namespace Acts::Experimental::detail {
0017
0018
0019 class GbtsLayer final {
0020 public:
0021
0022
0023
0024 GbtsLayer(const GbtsLayerDescription& layerDescription, float etaBinWidth,
0025 std::int32_t bin0);
0026
0027
0028
0029
0030
0031 std::int32_t getEtaBin(float zh, float rh) const;
0032
0033
0034
0035 std::int32_t numOfBins() const { return m_bins.size(); }
0036
0037
0038
0039 const std::vector<std::int32_t>& bins() const { return m_bins; }
0040
0041
0042
0043 const GbtsLayerDescription& layerDescription() const {
0044 return m_layerDescription;
0045 }
0046
0047
0048
0049
0050
0051
0052
0053
0054 bool checkCompatibility(const GbtsLayer& otherLayer, std::uint32_t b1,
0055 std::uint32_t b2, float minZ0, float maxZ0) const;
0056
0057 private:
0058 GbtsLayerDescription m_layerDescription;
0059
0060 std::vector<std::int32_t> m_bins;
0061 std::vector<float> m_minRadius;
0062 std::vector<float> m_maxRadius;
0063 std::vector<float> m_minBinCoord;
0064 std::vector<float> m_maxBinCoord;
0065
0066 float m_minEta{};
0067 float m_maxEta{};
0068
0069 float m_etaBin{};
0070 float m_r1{};
0071 float m_z1{};
0072 float m_r2{};
0073 float m_z2{};
0074 std::uint32_t m_nBins{};
0075 };
0076
0077 }