File indexing completed on 2026-07-26 08:21:57
0001
0002
0003
0004
0005
0006
0007
0008 #pragma once
0009
0010
0011 #include "traccc/definitions/qualifiers.hpp"
0012 #include "traccc/edm/silicon_cell_collection.hpp"
0013 #include "traccc/geometry/detector_conditions_description.hpp"
0014
0015
0016 #include <vecmem/containers/device_vector.hpp>
0017
0018 namespace traccc::details {
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 TRACCC_HOST_DEVICE inline unsigned int find_root(
0032 const vecmem::device_vector<unsigned int>& labels, unsigned int e);
0033
0034
0035
0036
0037
0038
0039
0040 TRACCC_HOST_DEVICE inline unsigned int make_union(
0041 vecmem::device_vector<unsigned int>& labels, unsigned int e1,
0042 unsigned int e2);
0043
0044
0045
0046
0047
0048
0049
0050
0051 template <typename T1, typename T2>
0052 TRACCC_HOST_DEVICE inline bool is_adjacent(const edm::silicon_cell<T1>& a,
0053 const edm::silicon_cell<T2>& b);
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064 template <typename T1, typename T2>
0065 TRACCC_HOST_DEVICE inline bool is_far_enough(const edm::silicon_cell<T1>& a,
0066 const edm::silicon_cell<T2>& b);
0067
0068
0069
0070
0071
0072
0073
0074
0075 TRACCC_HOST_DEVICE inline unsigned int sparse_ccl(
0076 const edm::silicon_cell_collection::const_device& cells,
0077 vecmem::device_vector<unsigned int>& labels);
0078
0079 }
0080
0081
0082 #include "traccc/clusterization/impl/sparse_ccl.ipp"