Loading src/modules/CSADigitizer/CSADigitizerModule.cpp +11 −8 Original line number Diff line number Diff line Loading @@ -310,6 +310,9 @@ void CSADigitizerModule::run(Event* event) { amplified_pulse); } // Store amplified pulse fir dispatch pulses.emplace_back(pixel, amplified_pulse, &pixel_charge); // Find threshold crossing - if any: auto arrival = get_toa(timestep, amplified_pulse); if(!std::get<0>(arrival)) { Loading Loading @@ -339,24 +342,24 @@ void CSADigitizerModule::run(Event* event) { } // Add the hit to the hitmap hits.emplace_back(pixel, time, pixel_charge.getGlobalTime() + std::get<2>(arrival), charge, &pixel_charge); pulses.emplace_back(pixel, amplified_pulse, &pixel_charge); hits.emplace_back( pixel, time, pixel_charge.getGlobalTime() + std::get<2>(arrival), charge, &pixel_charge, &pulses.back()); } // Output summary and update statistics LOG(INFO) << "Digitized " << hits.size() << " pixel hits"; if(!hits.empty()) { // Create and dispatch hit message auto hits_message = std::make_shared<PixelHitMessage>(std::move(hits), getDetector()); messenger_->dispatchMessage(this, hits_message, event); } if(!pulses.empty()) { // Create and dispatch hit message auto pulses_message = std::make_shared<PixelPulseMessage>(std::move(pulses), getDetector()); messenger_->dispatchMessage(this, pulses_message, event); } if(!hits.empty()) { // Create and dispatch hit message auto hits_message = std::make_shared<PixelHitMessage>(std::move(hits), getDetector()); messenger_->dispatchMessage(this, hits_message, event); } } std::tuple<bool, unsigned int, double> CSADigitizerModule::get_toa(double timestep, const std::vector<double>& pulse) const { Loading Loading
src/modules/CSADigitizer/CSADigitizerModule.cpp +11 −8 Original line number Diff line number Diff line Loading @@ -310,6 +310,9 @@ void CSADigitizerModule::run(Event* event) { amplified_pulse); } // Store amplified pulse fir dispatch pulses.emplace_back(pixel, amplified_pulse, &pixel_charge); // Find threshold crossing - if any: auto arrival = get_toa(timestep, amplified_pulse); if(!std::get<0>(arrival)) { Loading Loading @@ -339,24 +342,24 @@ void CSADigitizerModule::run(Event* event) { } // Add the hit to the hitmap hits.emplace_back(pixel, time, pixel_charge.getGlobalTime() + std::get<2>(arrival), charge, &pixel_charge); pulses.emplace_back(pixel, amplified_pulse, &pixel_charge); hits.emplace_back( pixel, time, pixel_charge.getGlobalTime() + std::get<2>(arrival), charge, &pixel_charge, &pulses.back()); } // Output summary and update statistics LOG(INFO) << "Digitized " << hits.size() << " pixel hits"; if(!hits.empty()) { // Create and dispatch hit message auto hits_message = std::make_shared<PixelHitMessage>(std::move(hits), getDetector()); messenger_->dispatchMessage(this, hits_message, event); } if(!pulses.empty()) { // Create and dispatch hit message auto pulses_message = std::make_shared<PixelPulseMessage>(std::move(pulses), getDetector()); messenger_->dispatchMessage(this, pulses_message, event); } if(!hits.empty()) { // Create and dispatch hit message auto hits_message = std::make_shared<PixelHitMessage>(std::move(hits), getDetector()); messenger_->dispatchMessage(this, hits_message, event); } } std::tuple<bool, unsigned int, double> CSADigitizerModule::get_toa(double timestep, const std::vector<double>& pulse) const { Loading