From 0278290f5a343b1b924be69d879a0bd8ddd2dd96 Mon Sep 17 00:00:00 2001 From: Francesco Noferini Date: Wed, 8 Apr 2026 18:54:21 +0200 Subject: [PATCH] fix wrong long_to_int converstion in TOF readout window indexing --- Detectors/TOF/base/include/TOFBase/WindowFiller.h | 2 +- Detectors/TOF/base/src/WindowFiller.cxx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Detectors/TOF/base/include/TOFBase/WindowFiller.h b/Detectors/TOF/base/include/TOFBase/WindowFiller.h index 77827ee5e7057..5c9abca6da0ea 100644 --- a/Detectors/TOF/base/include/TOFBase/WindowFiller.h +++ b/Detectors/TOF/base/include/TOFBase/WindowFiller.h @@ -96,7 +96,7 @@ class WindowFiller } std::vector& getPatterns() { return mPatterns; } - void addPattern(const uint32_t val, int icrate, int orbit, int bc) { mCratePatterns.emplace_back(val, icrate, orbit * 3 + (bc + 100) / Geo::BC_IN_WINDOW); } + void addPattern(const uint32_t val, int icrate, int orbit, int bc) { mCratePatterns.emplace_back(val, icrate, ((unsigned long)orbit) * 3 + (bc + 100) / Geo::BC_IN_WINDOW); } void addCrateHeaderData(unsigned long orbit, int crate, int32_t bc, uint32_t eventCounter); Diagnostic& getDiagnosticFrequency() { return mDiagnosticFrequency; } diff --git a/Detectors/TOF/base/src/WindowFiller.cxx b/Detectors/TOF/base/src/WindowFiller.cxx index 0362222b55bf5..35ec27070bda1 100644 --- a/Detectors/TOF/base/src/WindowFiller.cxx +++ b/Detectors/TOF/base/src/WindowFiller.cxx @@ -194,9 +194,9 @@ void WindowFiller::fillOutputContainer(std::vector& digits) int npatterns = 0; // check if patterns are in the current row - unsigned int initrow = mFirstIR.orbit * Geo::NWINDOW_IN_ORBIT; + unsigned long initrow = ((unsigned long)mFirstIR.orbit) * Geo::NWINDOW_IN_ORBIT; for (std::vector::reverse_iterator it = mCratePatterns.rbegin(); it != mCratePatterns.rend(); ++it) { - unsigned int irow = it->row; + unsigned long irow = it->row; // printf("pattern row=%ld (%u - %u) current=%ld\n",irow - initrow,irow,initrow,mReadoutWindowCurrent); if (irow - initrow > mReadoutWindowCurrent) {