/** @file triplet finder implementation */ // void TripletFinder::find_tube_hits_host(void) { // // copy out hit counts // size_t nhit_counts_sz = (ntubes + 1) * sizeof(int); // int *tube_hit_starts = (int *)malloc(nhit_counts_sz); // int *tube_hit_counts = (int *)malloc(nhit_counts_sz); // cucheck(cudaMemcpy(tube_hit_starts, d_tube_hit_starts, nhit_counts_sz, // cudaMemcpyDeviceToHost)); // //cucheck(cudaMemcpy(tube_hit_counts, d_tube_hit_counts, nhit_count_sz, // // cudaMemcpyDeviceToHost)); // memset(tube_hit_counts, 0, nhit_counts_sz); // // memory for hits // size_t hit_sz = nhits * sizeof(Hit); // Hit *tube_hits = (Hit *)malloc(hit_sz); // // group tube hits // for(int ihit = 0; ihit < nhits; ihit++) { // Hit &hit = hits[ihit]; // int itube = hit.tube_id; // tube_hits[tube_hit_starts[itube] + tube_hit_counts[itube]] = hit; // tube_hit_counts[itube]++; // } // // copy hits back to GPU // cucheck(cudaMemcpy(d_tube_hits, tube_hits, hit_sz, // cudaMemcpyHostToDevice)); // // free memory // free(tube_hits); // free(tube_hit_counts); // free(tube_hit_starts); // } // find_tube_hits_host