Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-09 07:49:33

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 "Acts/EventData/SpacePointProxy.hpp"
0012 
0013 namespace Acts {
0014 
0015 // Implementation
0016 template <typename container_t>
0017 SpacePointProxy<container_t>::SpacePointProxy(const container_t& container,
0018                                               std::size_t index)
0019     : m_container(&container), m_index(index) {}
0020 
0021 template <typename container_t>
0022 const typename SpacePointProxy<container_t>::ValueType&
0023 SpacePointProxy<container_t>::externalSpacePoint() const {
0024   return container().sp(m_index);
0025 }
0026 
0027 template <typename container_t>
0028 std::size_t SpacePointProxy<container_t>::index() const {
0029   return m_index;
0030 }
0031 
0032 template <typename container_t>
0033 float SpacePointProxy<container_t>::x() const {
0034   return container().x(m_index);
0035 }
0036 
0037 template <typename container_t>
0038 float SpacePointProxy<container_t>::y() const {
0039   return container().y(m_index);
0040 }
0041 
0042 template <typename container_t>
0043 float SpacePointProxy<container_t>::z() const {
0044   return container().z(m_index);
0045 }
0046 
0047 template <typename container_t>
0048 float SpacePointProxy<container_t>::phi() const {
0049   return container().phi(m_index);
0050 }
0051 
0052 template <typename container_t>
0053 float SpacePointProxy<container_t>::radius() const {
0054   return container().radius(m_index);
0055 }
0056 
0057 template <typename container_t>
0058 float SpacePointProxy<container_t>::varianceR() const {
0059   return container().varianceR(m_index);
0060 }
0061 
0062 template <typename container_t>
0063 float SpacePointProxy<container_t>::varianceZ() const {
0064   return container().varianceZ(m_index);
0065 }
0066 
0067 template <typename container_t>
0068 const Acts::Vector3& SpacePointProxy<container_t>::topStripVector() const {
0069   return container().topStripVector(m_index);
0070 }
0071 
0072 template <typename container_t>
0073 const Acts::Vector3& SpacePointProxy<container_t>::bottomStripVector() const {
0074   return container().bottomStripVector(m_index);
0075 }
0076 
0077 template <typename container_t>
0078 const Acts::Vector3& SpacePointProxy<container_t>::stripCenterDistance() const {
0079   return container().stripCenterDistance(m_index);
0080 }
0081 
0082 template <typename container_t>
0083 const Acts::Vector3& SpacePointProxy<container_t>::topStripCenterPosition()
0084     const {
0085   return container().topStripCenterPosition(m_index);
0086 }
0087 
0088 template <typename container_t>
0089 const container_t& SpacePointProxy<container_t>::container() const {
0090   return *m_container;
0091 }
0092 
0093 }  // namespace Acts