|
|
|||
File indexing completed on 2026-07-26 08:21:58
0001 /** TRACCC library, part of the ACTS project (R&D line) 0002 * 0003 * (c) 2022-2024 CERN for the benefit of the ACTS project 0004 * 0005 * Mozilla Public License Version 2.0 0006 */ 0007 0008 #pragma once 0009 0010 // Local include(s). 0011 #include "traccc/definitions/qualifiers.hpp" 0012 0013 // VecMem include(s). 0014 #include <vecmem/edm/container.hpp> 0015 0016 namespace traccc::edm { 0017 0018 /// Interface for the @c traccc::edm::silicon_cluster_collection class. 0019 /// 0020 /// It provides the API that users would interact with, while using the 0021 /// column(s)/array(s) defined in @c traccc::edm::silicon_cluster_collection. 0022 /// 0023 template <typename BASE> 0024 class silicon_cluster : public BASE { 0025 public: 0026 /// Inherit the base class's constructor(s) 0027 using BASE::BASE; 0028 0029 /// @name Cell Information 0030 /// @{ 0031 0032 /// Indices of the silicon cells belonging to a cluster (non-const) 0033 /// 0034 /// @return A (non-const) jagged vector of <tt>unsigned int</tt> values 0035 /// 0036 TRACCC_HOST_DEVICE 0037 auto& cell_indices() { return BASE::template get<0>(); } 0038 /// Indices of the silicon cells belonging to a cluster (const) 0039 /// 0040 /// @return A (const) jagged vector of <tt>unsigned int</tt> values 0041 /// 0042 TRACCC_HOST_DEVICE 0043 const auto& cell_indices() const { return BASE::template get<0>(); } 0044 0045 }; // class silicon_cell_collection_interface 0046 0047 /// SoA container describing reconstructed silicon clusters 0048 using silicon_cluster_collection = 0049 vecmem::edm::container<silicon_cluster, 0050 vecmem::edm::type::jagged_vector<unsigned int> >; 0051 0052 } // namespace traccc::edm
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|