CMS 3D CMS Logo

TracksDevice.h
Go to the documentation of this file.
1 #ifndef DataFormats_Track_interface_TracksDevice_h
2 #define DataFormats_Track_interface_TracksDevice_h
3 
4 #include <cstdint>
5 #include <alpaka/alpaka.hpp>
9 
10 // TODO: The class is created via inheritance of the PortableCollection.
11 // This is generally discouraged, and should be done via composition.
12 // See: https://github.com/cms-sw/cmssw/pull/40465#discussion_r1067364306
13 template <typename TrackerTraits, typename TDev>
14 class TracksDevice : public PortableDeviceCollection<reco::TrackLayout<TrackerTraits>, TDev> {
15 public:
16  static constexpr int32_t S = TrackerTraits::maxNumberOfTuples; //TODO: this could be made configurable at runtime
17  TracksDevice() = default; // necessary for ROOT dictionaries
18 
22 
23  // Constructor which specifies the SoA size
24  template <typename TQueue>
27 };
28 
29 namespace pixelTrack {
30 
31  template <typename TDev>
33  template <typename TDev>
35 
36 } // namespace pixelTrack
37 
38 #endif // DataFormats_Track_TracksDevice_H
TracksDevice()=default
typename reco::TrackSoA< TrackerTraits >::template Layout<> TrackLayout
Definition: TracksSoA.h:43