1 #ifndef RecoTracker_PixelSeeding_plugins_gpuFishbone_h 2 #define RecoTracker_PixelSeeding_plugins_gpuFishbone_h 19 template <
typename TrackerTraits>
21 template <
typename TrackerTraits>
23 template <
typename TrackerTraits>
25 template <
typename TrackerTraits>
27 template <
typename TrackerTraits>
29 template <
typename TrackerTraits>
32 template <
typename TrackerTraits>
35 uint32_t
const* __restrict__
nCells,
48 float x[maxCellsPerHit],
y[maxCellsPerHit],
z[maxCellsPerHit],
n[maxCellsPerHit];
49 uint32_t
cc[maxCellsPerHit];
50 uint16_t
d[maxCellsPerHit];
51 uint8_t
l[maxCellsPerHit];
55 auto size = vc.size();
61 auto xo =
c0.outer_x(
hh);
62 auto yo =
c0.outer_y(
hh);
63 auto zo =
c0.outer_z(
hh);
65 for (int32_t ic = 0; ic < size; ++ic) {
66 auto& ci =
cells[vc[ic]];
72 l[sg] = ci.layerPairId();
73 d[sg] = ci.inner_detIndex(
hh);
74 x[sg] = ci.inner_x(
hh) - xo;
75 y[sg] = ci.inner_y(
hh) - yo;
76 z[sg] = ci.inner_z(
hh) - zo;
77 n[sg] =
x[sg] *
x[sg] +
y[sg] *
y[sg] +
z[sg] *
z[sg];
85 for (
auto jc = ic + 1; jc < sg; ++jc) {
89 auto cos12 =
x[ic] *
x[jc] +
y[ic] *
y[jc] +
z[ic] *
z[jc];
90 if (
d[ic] !=
d[jc] && cos12 * cos12 >= 0.99999
f * (
n[ic] *
n[jc])) {
93 bool sameLayer =
l[ic] ==
l[jc];
97 ci.setFishbone(cj.inner_hit_id(), cj.inner_z(
hh),
hh);
107 cj.setFishbone(ci.inner_hit_id(), ci.inner_z(
hh),
hh);
119 #endif // RecoTracker_PixelSeeding_plugins_gpuFishbone_h
TrackingRecHitSoAConstView< TrackerTraits > HitsConstView
uint16_t d[maxCellsPerHit]
uint32_t cc[maxCellsPerHit]
GPUCACellT< TrackerTraits > uint32_t const *__restrict__ OuterHitOfCell< TrackerTraits > const isOuterHitOfCellWrap
GPUCACellT< TrackerTraits > * cells
uint8_t l[maxCellsPerHit]
auto const isOuterHitOfCell
GPUCACellT< TrackerTraits > uint32_t const *__restrict__ nCells
uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh
typename GPUCACellT< TrackerTraits >::HitsConstView HitsConstView
GPUCACellT< TrackerTraits > uint32_t const *__restrict__ OuterHitOfCell< TrackerTraits > const int32_t bool checkTrack
GPUCACellT< TrackerTraits > uint32_t const *__restrict__ OuterHitOfCell< TrackerTraits > const int32_t nHits