In STS unpackers, use only unsigned for time storage and add fatal where neg. could happen
Bug 2: In both Legacy and current unpackers, a signed integer was used at some point to store/return the raw timestamp in clock cycles. While the last bit would probably never be reached in standard usage, it could lead to negative values and crazy results during the conversion through double (full precision time in ns) and back to unsigned integer (ns precision time) for data coming from badly synchronized setups Bug 3: In the current unpacker, the subtraction of the Timeslice start time from the TS_MSB value was not protected against the case of badly synchronized data where the TS_MSb does not match the Timeslice index. It now triggers a Fatal as these data are not recoverable with this unpacker.
parent
d7a2c588
No related branches found
No related tags found
Showing
- reco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx 39 additions, 17 deletionsreco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx
- reco/detectors/sts/unpack/CbmStsUnpackAlgoLegacy.cxx 3 additions, 3 deletionsreco/detectors/sts/unpack/CbmStsUnpackAlgoLegacy.cxx
- reco/detectors/sts/unpack/CbmStsUnpackAlgoLegacy.h 1 addition, 1 deletionreco/detectors/sts/unpack/CbmStsUnpackAlgoLegacy.h
Loading
Please register or sign in to comment