1 #ifndef DataFormats_TrackSoA_interface_TracksSoA_h 2 #define DataFormats_TrackSoA_interface_TracksSoA_h 4 #include <alpaka/alpaka.hpp> 15 template <
typename TrackerTraits>
17 static constexpr int32_t
S = TrackerTraits::maxNumberOfTuples;
18 static constexpr int32_t
H = TrackerTraits::avgHitsPerTrack;
43 template <
typename TrackerTraits>
45 template <
typename TrackerTraits>
47 template <
typename TrackerTraits>
73 template <
typename ConstView,
typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
80 template <
typename ConstView,
typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
81 ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE
constexpr float phi(ConstView
const&
tracks, int32_t
i) {
85 template <
typename ConstView,
typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
86 ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE
constexpr float tip(ConstView
const&
tracks, int32_t
i) {
90 template <
typename ConstView,
typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
91 ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE
constexpr float zip(ConstView
const&
tracks, int32_t
i) {
95 template <
typename ConstView,
typename = std::enable_if_t<isTrackSoAConstView<ConstView>>>
97 return tracks[
i].nLayers() == 3;
102 #endif // DataFormats_TrackSoA_interface_TracksSoA_h
Eigen::Matrix< float, 15, 1 > Vector15f
static constexpr int32_t H
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float zip(ConstView const &tracks, int32_t i)
constexpr bool isTrackSoAConstView
Eigen::Matrix< float, 5, 1 > Vector5f
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float charge(ConstView const &tracks, int32_t i)
typename reco::TrackSoA< TrackerTraits >::template Layout<> TrackLayout
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float tip(ConstView const &tracks, int32_t i)
#define GENERATE_SOA_LAYOUT(CLASS,...)
#define SOA_SCALAR(TYPE, NAME)
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr float phi(ConstView const &tracks, int32_t i)
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE constexpr bool isTriplet(ConstView const &tracks, int32_t i)
typename reco::TrackSoA< TrackerTraits >::template Layout<>::ConstView TrackSoAConstView
#define SOA_EIGEN_COLUMN(TYPE, NAME)
#define SOA_COLUMN(TYPE, NAME)
typename reco::TrackSoA< TrackerTraits >::template Layout<>::View TrackSoAView