CMS 3D CMS Logo

CAHitNtupletGenerator.h
Go to the documentation of this file.
1 #ifndef RecoPixelVertexing_PixelTriplets_Alpaka_CAHitNtupletGenerator_h
2 #define RecoPixelVertexing_PixelTriplets_Alpaka_CAHitNtupletGenerator_h
3 
4 #include <alpaka/alpaka.hpp>
5 
15 
17 #include "CACell.h"
18 #include "HelixFit.h"
19 
20 namespace edm {
22 } // namespace edm
23 
25 
26  template <typename TrackerTraits>
28  public:
34 
38 
44 
47 
49 
53 
55 
56  public:
58 
60 
61  // NOTE: beginJob and endJob were meant to be used
62  // to fill the statistics. This is still not implemented in Alpaka
63  // since we are missing the begin/endJob functionality for the Alpaka
64  // producers.
65  //
66  // void beginJob();
67  // void endJob();
68 
70  ParamsOnDevice const* cpeParams,
71  float bfield,
72  Queue& queue) const;
73 
74  private:
75  void buildDoublets(const HitsConstView& hh, Queue& queue) const;
76 
77  void hitNtuplets(const HitsConstView& hh, const edm::EventSetup& es, bool useRiemannFit, Queue& queue);
78 
79  void launchKernels(const HitsConstView& hh, bool useRiemannFit, Queue& queue) const;
80 
82  };
83 
84 } // namespace ALPAKA_ACCELERATOR_NAMESPACE
85 
86 #endif // RecoPixelVertexing_PixelTriplets_plugins_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