File indexing completed on 2025-07-15 08:11:48
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Definitions/Algebra.hpp"
0012
0013 namespace Acts {
0014
0015 template <typename container_t>
0016 class SpacePointProxy {
0017 public:
0018 using ContainerType = container_t;
0019 using ValueType = typename ContainerType::ValueType;
0020
0021
0022 SpacePointProxy(container_t&& container, std::size_t index) = delete;
0023
0024 SpacePointProxy(const container_t& container, std::size_t index);
0025
0026 const ValueType& externalSpacePoint() const;
0027 std::size_t index() const;
0028
0029 float x() const;
0030 float y() const;
0031 float z() const;
0032 float phi() const;
0033 float radius() const;
0034 float varianceR() const;
0035 float varianceZ() const;
0036
0037 const Acts::Vector3& topStripVector() const;
0038 const Acts::Vector3& bottomStripVector() const;
0039 const Acts::Vector3& stripCenterDistance() const;
0040 const Acts::Vector3& topStripCenterPosition() const;
0041
0042 private:
0043 const container_t& container() const;
0044
0045 const container_t* m_container{nullptr};
0046 std::size_t m_index{0ul};
0047 };
0048
0049 }
0050
0051 #include "Acts/EventData/SpacePointProxy.ipp"