Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-07-03 00:42:42

0001 #ifndef RecoTracker_PixelSeeding_plugins_alpaka_CAPixelDoublets_h
0002 #define RecoTracker_PixelSeeding_plugins_alpaka_CAPixelDoublets_h
0003 
0004 #include <type_traits>
0005 
0006 #include <alpaka/alpaka.hpp>
0007 
0008 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0009 #include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h"
0010 
0011 #include "CAPixelDoubletsAlgos.h"
0012 
0013 namespace ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets {
0014 
0015   template <typename TrackerTraits>
0016   class GetDoubletsFromHisto {
0017   public:
0018     // #ifdef __CUDACC__
0019     //       __launch_bounds__(getDoubletsFromHistoMaxBlockSize, getDoubletsFromHistoMinBlocksPerMP)  // TODO: Alapakafy
0020     // #endif
0021     ALPAKA_FN_ACC void operator()(Acc2D const& acc,
0022                                   uint32_t maxNumOfDoublets,
0023                                   CACell<TrackerTraits>* cells,
0024                                   uint32_t* nCells,
0025                                   HitsConstView hh,
0026                                   ::reco::CAGraphSoAConstView cc,
0027                                   ::reco::CALayersSoAConstView ll,
0028                                   uint32_t const* __restrict__ offsets,
0029                                   PhiBinner<TrackerTraits> const* phiBinner,
0030                                   HitToCell* outerHitHisto,
0031                                   AlgoParams const& params) const {
0032       doubletsFromHisto<TrackerTraits>(
0033           acc, maxNumOfDoublets, cells, nCells, hh, cc, ll, offsets, phiBinner, outerHitHisto, params);
0034     }
0035   };
0036 
0037 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets
0038 
0039 #endif  // RecoTracker_PixelSeeding_plugins_alpaka_CAPixelDoublets_h