CMS 3D CMS Logo

List of all members | Public Member Functions
ALPAKA_ACCELERATOR_NAMESPACE::ECLCCInit Class Reference

#include <PFClusterECLCC.h>

Public Member Functions

template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC void operator() (const TAcc &acc, reco::PFRecHitHostCollection::ConstView pfRecHits, reco::PFClusteringVarsDeviceCollection::View pfClusteringVars, reco::PFClusteringEdgeVarsDeviceCollection::View pfClusteringEdgeVars) const
 

Detailed Description

Definition at line 80 of file PFClusterECLCC.h.

Member Function Documentation

◆ operator()()

template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC void ALPAKA_ACCELERATOR_NAMESPACE::ECLCCInit::operator() ( const TAcc &  acc,
reco::PFRecHitHostCollection::ConstView  pfRecHits,
reco::PFClusteringVarsDeviceCollection::View  pfClusteringVars,
reco::PFClusteringEdgeVarsDeviceCollection::View  pfClusteringEdgeVars 
) const
inline

Definition at line 83 of file PFClusterECLCC.h.

References mps_fire::i, visualization-live-secondInstance_cfg::m, SiStripPI::min, HLT_2024v12_cff::pfRecHits, cms::alpakatools::uniform_elements(), and findQualityFiles::v.

86  {
87  const int nRH = pfRecHits.size();
88  for (int v : cms::alpakatools::uniform_elements(acc, nRH)) {
89  const int beg = pfClusteringEdgeVars[v].pfrh_edgeIdx();
90  const int end = pfClusteringEdgeVars[v + 1].pfrh_edgeIdx();
91  int m = v;
92  int i = beg;
93  while ((m == v) && (i < end)) {
94  m = std::min(m, pfClusteringEdgeVars[i].pfrh_edgeList());
95  i++;
96  }
97  pfClusteringVars[v].pfrh_topoId() = m;
98  }
99  }
ALPAKA_FN_ACC auto uniform_elements(TAcc const &acc, TArgs... args)
Definition: workdivision.h:311