CMS 3D CMS Logo

TracksHost.h
Go to the documentation of this file.
1 #ifndef DataFormats_Track_TracksHost_H
2 #define DataFormats_Track_TracksHost_H
3 
4 #include <cstdint>
5 #include <alpaka/alpaka.hpp>
10 
11 // TODO: The class is created via inheritance of the PortableHostCollection.
12 // This is generally discouraged, and should be done via composition.
13 // See: https://github.com/cms-sw/cmssw/pull/40465#discussion_r1067364306
14 template <typename TrackerTraits>
15 class TracksHost : public PortableHostCollection<reco::TrackLayout<TrackerTraits>> {
16 public:
17  static constexpr int32_t S = TrackerTraits::maxNumberOfTuples; //TODO: this could be made configurable at runtime
18  TracksHost() = default; // Needed for the dictionary; not sure if line above is needed anymore
19 
23 
24  // Constructor which specifies the SoA size
25  template <typename TQueue>
26  explicit TracksHost<TrackerTraits>(TQueue& queue)
28 
29  // Constructor which specifies the DevHost
31  : PortableHostCollection<reco::TrackLayout<TrackerTraits>>(S, host) {}
32 };
33 
34 namespace pixelTrack {
35 
39 
40 } // namespace pixelTrack
41 
42 #endif // DataFormats_Track_TracksHost_H
string host
Definition: query.py:115
typename TrackSoA< TrackerTraits >::template TrackSoALayout<> TrackLayout
typename reco::TrackSoA< TrackerTraits >::template Layout<> TrackLayout
Definition: TracksSoA.h:43
TracksHost()=default
fixed size matrix
alpaka::DevCpu DevHost
Definition: config.h:37
TracksHost(alpaka_common::DevHost const &host)
Definition: TracksHost.h:30