1 #include <cuda_runtime.h>
48 : onGPU_(iConfig.getParameter<bool>(
"onGPU")), tokenField_(
esConsumes()), gpuAlgo_(iConfig, consumesCollector()) {
52 tokenTrackGPU_ = produces<cms::cuda::Product<PixelTrackHeterogeneous>>();
62 desc.
add<
bool>(
"onGPU",
true);
66 descriptions.
add(
"pixelTracksCUDA", desc);
76 auto const& hits = ctx.get(*
hHits);
~CAHitNtupletCUDA() override=default
edm::EDGetTokenT< TrackingRecHit2DCPU > tokenHitCPU_
void produce(edm::StreamID streamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const override
#define DEFINE_FWK_MODULE(type)
bool getData(T &iHolder) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
edm::EDPutTokenT< PixelTrackHeterogeneous > tokenTrackCPU_
static void fillDescriptions(edm::ParameterSetDescription &desc)
CAHitNtupletGeneratorOnGPU gpuAlgo_
bool get(ProductID const &oid, Handle< PROD > &result) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tokenField_
edm::EDGetTokenT< cms::cuda::Product< TrackingRecHit2DGPU > > tokenHitGPU_
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
CAHitNtupletCUDA(const edm::ParameterSet &iConfig)
T getParameter(std::string const &) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
PixelTrackHeterogeneous makeTuples(TrackingRecHit2DCPU const &hits_d, float bfield) const
edm::EDPutTokenT< cms::cuda::Product< PixelTrackHeterogeneous > > tokenTrackGPU_
PixelTrackHeterogeneous makeTuplesAsync(TrackingRecHit2DGPU const &hits_d, float bfield, cudaStream_t stream) const