66 std::vector<float> &input,
timestamp_t time_bin_width,
67 channel_t chan_bin_width,
int num_time_bins,
68 int num_chan_bins,
channel_t first_channel,
69 std::unique_ptr<PDVDEffectiveChannelMap>
const &effective_channel_mapper,
71 std::fill(input.begin(), input.end(), 0.0f);
73 const float inv_time_bin_width = 1.0f / time_bin_width;
74 const float inv_chan_bin_width = 1.0f / chan_bin_width;
79 if (effective_channel_mapper && use_pdvd_map) {
80 temp_tp_channel = effective_channel_mapper->remapCollectionPlaneChannel(temp_tp_channel);
82 size_t time_bin =
static_cast<size_t>((tp.time_start -
time_start) * inv_time_bin_width);
83 size_t channel_bin =
static_cast<size_t>((temp_tp_channel - first_channel) * inv_chan_bin_width);
84 if (time_bin < num_time_bins && channel_bin < num_chan_bins) {
85 size_t index = channel_bin * num_time_bins + time_bin;
86 input[index] += tp.adc_integral;
void bin_window(std::vector< float > &input, timestamp_t time_bin_width, channel_t chan_bin_width, int num_time_bins, int num_chan_bins, channel_t first_channel, std::unique_ptr< PDVDEffectiveChannelMap > const &effective_channel_mapper, bool use_pdvd_map)