Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:10:49

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