1 #include <cuda_runtime.h> 27 template <
typename TrackerTraits>
47 template <
typename TrackerTraits>
55 template <
typename TrackerTraits>
63 cpe += TrackerTraits::nameModifier;
69 template <
typename TrackerTraits>
75 throw cms::Exception(
"Configuration") <<
"SiPixelRecHitCUDA can only use a CPE of type PixelCPEFast";
79 iEvent.getByToken(token_, hclusters);
82 auto const&
clusters = ctx.get(*hclusters);
85 iEvent.getByToken(tokenDigi_, hdigis);
86 auto const& digis = ctx.get(*hdigis);
89 iEvent.getByToken(tBeamSpot, hbs);
90 auto const&
bs = ctx.get(*hbs);
94 gpuAlgo_.makeHitsAsync(digis,
clusters,
bs, fcpe->getGPUProductAsync(ctx.stream()), ctx.stream()));
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
const edm::EDGetTokenT< cms::cuda::Product< SiPixelClustersCUDA > > token_
void produce(edm::StreamID streamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
const edm::EDGetTokenT< cms::cuda::Product< BeamSpotCUDA > > tBeamSpot
const edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > cpeToken_
~SiPixelRecHitCUDAT() override=default
const edm::EDPutTokenT< cms::cuda::Product< TrackingRecHitSoADevice< TrackerTraits > > > tokenHit_
const pixelgpudetails::PixelRecHitGPUKernel< TrackerTraits > gpuAlgo_
#define DEFINE_FWK_MODULE(type)
Namespace of DDCMS conversion namespace.
SiPixelRecHitCUDAT(const edm::ParameterSet &iConfig)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::EDGetTokenT< cms::cuda::Product< SiPixelDigisCUDA > > tokenDigi_