src
DataFormats
TrackSoA
interface
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>
6
#include "
Geometry/CommonTopologies/interface/SimplePixelTopology.h
"
7
#include "
DataFormats/TrackSoA/interface/TracksSoA.h
"
8
#include "
DataFormats/TrackSoA/interface/TrackDefinitions.h
"
9
#include "
DataFormats/Portable/interface/PortableHostCollection.h
"
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
20
using
PortableHostCollection<reco::TrackLayout<TrackerTraits>
>
::view
;
21
using
PortableHostCollection<reco::TrackLayout<TrackerTraits>
>
::const_view
;
22
using
PortableHostCollection<reco::TrackLayout<TrackerTraits>
>
::buffer
;
23
24
// Constructor which specifies the SoA size
25
template
<
typename
TQueue>
26
explicit
TracksHost<TrackerTraits>
(TQueue&
queue
)
27
:
PortableHostCollection
<
reco::TrackLayout<TrackerTraits>
>(
S
,
queue
) {}
28
29
// Constructor which specifies the DevHost
30
explicit
TracksHost
(
alpaka_common::DevHost
const
&
host
)
31
:
PortableHostCollection
<
reco
::
TrackLayout
<TrackerTraits>>(
S
,
host
) {}
32
};
33
34
namespace
pixelTrack
{
35
36
using
TracksHostPhase1
=
TracksHost<pixelTopology::Phase1>
;
37
using
TracksHostPhase2
=
TracksHost<pixelTopology::Phase2>
;
38
using
TracksHostHIonPhase1
=
TracksHost<pixelTopology::HIonPhase1>
;
39
40
}
// namespace pixelTrack
41
42
#endif // DataFormats_Track_TracksHost_H
PortableHostCollection< reco::TrackLayout< TrackerTraits > >::view
View & view()
Definition:
PortableHostCollection.h:57
SimplePixelTopology.h
PortableHostCollection.h
query.host
string host
Definition:
query.py:115
TrackLayout
typename TrackSoA< TrackerTraits >::template TrackSoALayout<> TrackLayout
Definition:
PixelTrackUtilities.h:233
TracksHost
Definition:
TracksHost.h:15
pixelTrack
Definition:
PixelTrackUtilities.h:10
ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr
if constexpr(n > 3)
Definition:
BrokenLine.h:164
createBeamHaloJobs.queue
queue
Definition:
createBeamHaloJobs.py:343
PortableHostCollection< reco::TrackLayout< TrackerTraits > >::buffer
Buffer buffer()
Definition:
PortableHostCollection.h:68
reco::TrackLayout
typename reco::TrackSoA< TrackerTraits >::template Layout<> TrackLayout
Definition:
TracksSoA.h:43
PortableHostCollection< reco::TrackLayout< TrackerTraits > >::const_view
ConstView const & const_view() const
Definition:
PortableHostCollection.h:59
PortableHostCollection
Definition:
PortableHostCollection.h:16
S
Definition:
CSCDBL1TPParametersExtended.h:16
TracksHost::TracksHost
TracksHost()=default
TracksSoA.h
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:46
TrackDefinitions.h
alpaka_common::DevHost
alpaka::DevCpu DevHost
Definition:
config.h:37
TracksHost::TracksHost
TracksHost(alpaka_common::DevHost const &host)
Definition:
TracksHost.h:30
Generated for CMSSW Reference Manual by
1.8.14