CMS 3D CMS Logo

CAHitNtupletGenerator.h
Go to the documentation of this file.
1 #ifndef RecoTracker_PixelSeeding_plugins_alpaka_CAHitNtupletGenerator_h
2 #define RecoTracker_PixelSeeding_plugins_alpaka_CAHitNtupletGenerator_h
3 
4 #include <alpaka/alpaka.hpp>
5 
16 
17 #include "CACell.h"
19 #include "HelixFit.h"
20 
21 namespace edm {
23 } // namespace edm
24 
26 
27  template <typename TrackerTraits>
29  public:
35 
39 
45 
48 
50 
54 
56 
57  public:
59 
61 
62  // NOTE: beginJob and endJob were meant to be used
63  // to fill the statistics. This is still not implemented in Alpaka
64  // since we are missing the begin/endJob functionality for the Alpaka
65  // producers.
66  //
67  // void beginJob();
68  // void endJob();
69 
71  ParamsOnDevice const* cpeParams,
72  float bfield,
73  Queue& queue) const;
74 
75  private:
76  void buildDoublets(const HitsConstView& hh, Queue& queue) const;
77 
78  void hitNtuplets(const HitsConstView& hh, const edm::EventSetup& es, bool useRiemannFit, Queue& queue);
79 
80  void launchKernels(const HitsConstView& hh, bool useRiemannFit, Queue& queue) const;
81 
83  };
84 
85 } // namespace ALPAKA_ACCELERATOR_NAMESPACE
86 
87 #endif // RecoTracker_PixelSeeding_plugins_alpaka_CAHitNtupletGenerator_h
TracksSoACollection< TrackerTraits > TkSoADevice
typename reco::TrackSoA< TrackerTraits >::HitContainer HitContainer
TrackingRecHitsSoACollection< TrackerTraits > HitsOnDevice
TrackingRecHitSoAConstView< TrackerTraits > HitsConstView
void hitNtuplets(const HitsConstView &hh, const edm::EventSetup &es, bool useRiemannFit, Queue &queue)
typename TrackerTraits::hindex_type hindex_type
typename TrackingRecHitSoA< TrackerTraits >::hindex_type hindex_type
TkSoADevice makeTuplesAsync(HitsOnDevice const &hits_d, ParamsOnDevice const *cpeParams, float bfield, Queue &queue) const
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh
std::conditional_t< std::is_same_v< Device, alpaka::DevCpu >, TrackingRecHitHost< TrackerTraits >, TrackingRecHitDevice< TrackerTraits, Device > > TrackingRecHitsSoACollection
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::ConstView TrackingRecHitSoAConstView
void buildDoublets(const HitsConstView &hh, Queue &queue) const
std::conditional_t< std::is_same_v< Device, alpaka::DevCpu >, TracksHost< TrackerTraits >, TracksDevice< TrackerTraits, Device > > TracksSoACollection
TrackingRecHitSoAView< TrackerTraits > HitsView
HLT enums.
static void fillPSetDescription(edm::ParameterSetDescription &desc)
typename TrackingRecHitSoA< TrackerTraits >::template TrackingRecHitSoALayout<>::View TrackingRecHitSoAView
void launchKernels(const HitsConstView &hh, bool useRiemannFit, Queue &queue) const