File indexing completed on 2025-07-05 08:10:59
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Definitions/Algebra.hpp"
0012
0013 #include <vector>
0014
0015 namespace Acts {
0016
0017
0018
0019
0020
0021
0022
0023
0024 class SpacePointData {
0025 public:
0026
0027 SpacePointData() = default;
0028
0029
0030 SpacePointData(const SpacePointData& other) = delete;
0031 SpacePointData& operator=(const SpacePointData& other) = delete;
0032
0033
0034 SpacePointData(SpacePointData&& other) noexcept = default;
0035 SpacePointData& operator=(SpacePointData&& other) noexcept = default;
0036
0037
0038 ~SpacePointData() = default;
0039
0040
0041 float x(const std::size_t idx) const;
0042 float y(const std::size_t idx) const;
0043 float z(const std::size_t idx) const;
0044 float radius(const std::size_t idx) const;
0045 float phi(const std::size_t idx) const;
0046 float varianceZ(const std::size_t idx) const;
0047 float varianceR(const std::size_t idx) const;
0048
0049
0050 void setX(const std::size_t idx, const float value);
0051 void setY(const std::size_t idx, const float value);
0052 void setZ(const std::size_t idx, const float value);
0053 void setRadius(const std::size_t idx, const float value);
0054 void setPhi(const std::size_t idx, const float value);
0055 void setVarianceZ(const std::size_t idx, const float value);
0056 void setVarianceR(const std::size_t idx, const float value);
0057
0058
0059 void resize(const std::size_t n, bool resizeDynamic = false);
0060
0061
0062 void clear();
0063
0064
0065 bool hasDynamicVariable() const;
0066
0067 const Acts::Vector3& topStripVector(const std::size_t idx) const;
0068 const Acts::Vector3& bottomStripVector(const std::size_t idx) const;
0069 const Acts::Vector3& stripCenterDistance(const std::size_t idx) const;
0070 const Acts::Vector3& topStripCenterPosition(const std::size_t idx) const;
0071
0072 void setTopStripVector(const std::size_t idx, const Acts::Vector3& value);
0073 void setBottomStripVector(const std::size_t idx, const Acts::Vector3& value);
0074 void setStripCenterDistance(const std::size_t idx,
0075 const Acts::Vector3& value);
0076 void setTopStripCenterPosition(const std::size_t idx,
0077 const Acts::Vector3& value);
0078
0079 private:
0080
0081 std::vector<float> m_x{};
0082 std::vector<float> m_y{};
0083 std::vector<float> m_z{};
0084 std::vector<float> m_radius{};
0085 std::vector<float> m_phi{};
0086 std::vector<float> m_varianceR{};
0087 std::vector<float> m_varianceZ{};
0088
0089
0090 std::vector<Acts::Vector3> m_topStripVector{};
0091 std::vector<Acts::Vector3> m_bottomStripVector{};
0092 std::vector<Acts::Vector3> m_stripCenterDistance{};
0093 std::vector<Acts::Vector3> m_topStripCenterPosition{};
0094 };
0095
0096 }
0097
0098 #include "Acts/EventData/SpacePointData.ipp"