diff --git a/algo/detectors/sts/UnpackMS.cxx b/algo/detectors/sts/UnpackMS.cxx index 2b085a0c211f29fee1579dd3dc567c85397538fc..46b5ac8dcbc6545fe93cd0aab9db91a36b3b8f81 100644 --- a/algo/detectors/sts/UnpackMS.cxx +++ b/algo/detectors/sts/UnpackMS.cxx @@ -162,7 +162,7 @@ namespace cbm::algo::sts digiVec.emplace_back(elinkPar.fAddress, channel, messageTime, charge); if (fParams.fWriteAux) { - aux.fMissedEvent.push_back(message.IsHitMissedEvts()); + aux.fQaDigis.emplace_back(message.IsHitMissedEvts(), elinkPar.fAddress, channel, messageTime, charge); } } // -------------------------------------------------------------------------- diff --git a/algo/detectors/sts/UnpackMS.h b/algo/detectors/sts/UnpackMS.h index e2baaefbc009174bb4aeaec5f1f3e93377ed4472..3970498ca61cdaba147d2a212e79d5aade7e4d95 100644 --- a/algo/detectors/sts/UnpackMS.h +++ b/algo/detectors/sts/UnpackMS.h @@ -74,13 +74,36 @@ namespace cbm::algo::sts } }; + /** @struct QaDigi + ** @author Dominik Smith <d.smith@gsi.de> + ** @since 05 Jun 2024 + ** @brief Extended digi which contains auxiliary QA information + **/ + struct QaDigi { + + QaDigi(bool missed, int32_t addr, int32_t chan, uint32_t t, uint16_t c) + : missedEvent(missed) + , address(addr) + , channel(chan) + , time(t) + , charge(c) + { + } + + bool missedEvent; + int32_t address; + int32_t channel; + uint32_t time; + uint16_t charge; + }; + /** @struct UnpackStsAux ** @author Dominik Smith <d.smith@gsi.de> ** @since 24 May 2024 ** @brief Auxiliary data for STS unpacking **/ struct UnpackAuxData { - std::vector<bool> fMissedEvent; ///< Missed event flag for returned digis + std::vector<QaDigi> fQaDigis; }; /** @class UnpackMS