From e9f41425ab719c72bda227e32fd9e5939f169757 Mon Sep 17 00:00:00 2001 From: VCLanNguyen Date: Wed, 26 Nov 2025 13:13:18 -0600 Subject: [PATCH 1/4] update SR objets fro refactoring frameshift module --- .../StandardRecord/SRSBNDFrameShiftInfo.h | 33 +++++++++++++------ sbnanaobj/StandardRecord/SRSBNDTimingInfo.h | 20 +++++------ sbnanaobj/StandardRecord/classes_def.xml | 3 +- 3 files changed, 35 insertions(+), 21 deletions(-) diff --git a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h index 72d0797f..e431acdd 100644 --- a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h @@ -20,18 +20,31 @@ namespace caf * Each shift is in [ns] * * For more information, see - * [SBN DocDB 43090](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=43090). + * legacy: [SBN DocDB 43090](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=43090). + * new: ??? */ - struct SRSBNDFrameShiftInfo { - static constexpr uint16_t NoType = std::numeric_limits::max(); - uint16_t timingType = NoType; ///< Types of decoded frames: 0 - SPEC TDC ETRIG, 1 - HLT ETRIG, 2 - Do Nothing - double frameTdcCrtt1 = kSignalingNaN; ///< Shift from decoded frame to SPEC-TDC CRT T1 [ns] - double frameTdcBes = kSignalingNaN; ///< Shift from decoded frame to SPEC-TDC BES [ns] - double frameTdcRwm = kSignalingNaN; ///< Shift from decoded frame to SPEC-TDC RWM [ns] - double frameHltCrtt1 = kSignalingNaN; ///< Shift from decoded frame to HLT CRT T1 [ns] - double frameHltBeamGate = kSignalingNaN; ///< Shift from decoded frame to HLT Beam Gate [ns] - double frameApplyAtCaf = kSignalingNaN; ///< Frame to shift to when running at CAF stage + struct SRSBNDFrameShiftInfo { + + static constexpr uint16_t InvalidType = std::numeric_limits::max(); + static constexpr uint16_t InvalidChannel = std::numeric_limits::max(); + static constexpr uint64_t InvalidTimestamp = std::numeric_limits::max(); + + uint64_t frameCrtt1 = InvalidTimestamp; ///< Frame for CRT T1 signal [ns] + uint16_t timingTypeCrtt1 = InvalidType; ///< Types of CRT T1 frame + uint16_t timingChannelCrtt1 = InvalidChannel; ///< Channel of CRT T1 frame + + uint64_t frameBeamGate = InvalidTimestamp; ///< Frame for Beam Gate [ns] + uint16_t timingTypeBeamGate = InvalidType; ///< Types of Beam Gate frame + uint16_t timingChannelBeamGate = InvalidChannel; ///< Channel of Beam Gate frame + + uint64_t frameEtrig = InvalidTimestamp; ///< Frame for ETRIG [ns] + uint16_t timingTypeEtrig = InvalidType; ///< Types of ETRIG frame + uint16_t timingChannelEtrig = InvalidChannel; ///< Channel of ETRIG frame + + uint64_t frameDefault = InvalidTimestamp; ///< Default frame depending on the stream type [ns] + uint16_t timingTypeDefault = InvalidType; ///< Types of default frame + uint16_t timingChannelDefault = InvalidChannel; ///< Channel of default frame }; } // end namespace #endif // SRSBNDFRAMESHIFTINFO_H diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h index 652566a7..0c99ccc4 100644 --- a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h @@ -24,16 +24,16 @@ namespace caf struct SRSBNDTimingInfo { - static constexpr uint64_t NoTimestamp = std::numeric_limits::max(); - - uint64_t rawDAQHeaderTimestamp = NoTimestamp; ///< Timestamp when the event is built by the event builder at DAQ-level - uint64_t tdcCrtt1 = NoTimestamp; ///< Timestamp of BNB stream CRT T1 Reset recorded by the SPEC-TDC - uint64_t tdcBes = NoTimestamp; ///< Timestamp of BES signal sent by MFTU recorded by the SPEC-TDC - uint64_t tdcRwm = NoTimestamp; ///< Timestamp of RWM signal recorded by the SPEC-TDC - uint64_t tdcEtrig = NoTimestamp; ///< Timestamp of Event Trigger (ETRIG) sent by the PTB recorded by the SPEC-TDC - uint64_t hltCrtt1 = NoTimestamp; ///< Timestamp of BNB and Offbeam stream CRT T1 Reset High Level Trigger (HLT) created by the PTB - uint64_t hltEtrig = NoTimestamp; ///< Timestamp of ETRIG HLT created by the PTB - uint64_t hltBeamGate = NoTimestamp; ///< Timestamp of Beam Gate Acceptance HLT created by the PTB + static constexpr uint64_t InvalidTimestamp = std::numeric_limits::max(); + + uint64_t rawDAQHeaderTimestamp = InvalidTimestamp; ///< Timestamp when the event is built by the event builder at DAQ-level + uint64_t tdcCrtt1 = InvalidTimestamp; ///< Timestamp of BNB stream CRT T1 Reset recorded by the SPEC-TDC + uint64_t tdcBes = InvalidTimestamp; ///< Timestamp of BES signal sent by MFTU recorded by the SPEC-TDC + uint64_t tdcRwm = InvalidTimestamp; ///< Timestamp of RWM signal recorded by the SPEC-TDC + uint64_t tdcEtrig = InvalidTimestamp; ///< Timestamp of Event Trigger (ETRIG) sent by the PTB recorded by the SPEC-TDC + uint64_t hltCrtt1 = InvalidTimestamp; ///< Timestamp of BNB and Offbeam stream CRT T1 Reset High Level Trigger (HLT) created by the PTB + uint64_t hltEtrig = InvalidTimestamp; ///< Timestamp of ETRIG HLT created by the PTB + uint64_t hltBeamGate = InvalidTimestamp; ///< Timestamp of Beam Gate Acceptance HLT created by the PTB }; } // end namespace #endif // SRSBNDTIMINGINFO_H diff --git a/sbnanaobj/StandardRecord/classes_def.xml b/sbnanaobj/StandardRecord/classes_def.xml index 9a0de728..658ae5a1 100644 --- a/sbnanaobj/StandardRecord/classes_def.xml +++ b/sbnanaobj/StandardRecord/classes_def.xml @@ -422,7 +422,8 @@ - + + From cdf45a4be1af33527597872ec6e90c5d2fc7dd19 Mon Sep 17 00:00:00 2001 From: VCLanNguyen <74775793+VCLanNguyen@users.noreply.github.com> Date: Wed, 6 May 2026 08:47:28 -0700 Subject: [PATCH 2/4] Update documentation links in SRSBNDFrameShiftInfo.h --- sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h index e431acdd..9f4269d6 100644 --- a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h @@ -20,8 +20,8 @@ namespace caf * Each shift is in [ns] * * For more information, see - * legacy: [SBN DocDB 43090](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=43090). - * new: ??? + * legacy: [SBN DocDB 43090](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=43090) + * new: [SBN DocDB 46654](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=46654) */ struct SRSBNDFrameShiftInfo { From ce6b81bdfa2388714589363e4afa1073e089d07c Mon Sep 17 00:00:00 2001 From: VCLanNguyen <74775793+VCLanNguyen@users.noreply.github.com> Date: Wed, 6 May 2026 08:48:36 -0700 Subject: [PATCH 3/4] Update documentation links in SRSBNDTimingInfo.h Updated documentation links for SRSBNDTimingInfo. --- sbnanaobj/StandardRecord/SRSBNDTimingInfo.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h index 0c99ccc4..26979113 100644 --- a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h @@ -19,7 +19,8 @@ namespace caf * Each timestamp is in UNIX Timestamp Format [ns] * * For more information, see - * [SBN DocDB 43090](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=43090). + * legacy: [SBN DocDB 43090](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=43090) + * new: [SBN DocDB 46654](https://sbn-docdb.fnal.gov/cgi-bin/sso/ShowDocument?docid=46654) */ struct SRSBNDTimingInfo From 6a592ee6caf502eea1755acf88ef8ed9aac6ba1c Mon Sep 17 00:00:00 2001 From: VCLanNguyen Date: Wed, 6 May 2026 11:42:08 -0500 Subject: [PATCH 4/4] update documentation --- sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h | 3 +-- sbnanaobj/StandardRecord/SRSBNDTimingInfo.h | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h index 9f4269d6..ba57ab06 100644 --- a/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h @@ -1,8 +1,7 @@ /** * @file /sbnanaobj/StandardRecord/SRSBNDFrameShiftInfo.h - * @brief Defines CAF data structures to store sbnd::timing::FrameShiftInfo (docdb#43090). + * @brief Defines CAF data structures to store sbnd::timing::FrameShiftInfo * @author Vu Chi Lan Nguyen - * @date August 29, 2025 * */ diff --git a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h index 26979113..0143c0dc 100644 --- a/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h +++ b/sbnanaobj/StandardRecord/SRSBNDTimingInfo.h @@ -1,8 +1,7 @@ /** * @file /sbnanaobj/StandardRecord/SRSBNDTimingInfo.h - * @brief Defines CAF data structures to store sbnd::timing::TimingInfo (docdb#43090). + * @brief Defines CAF data structures to store sbnd::timing::TimingInfo * @author Vu Chi Lan Nguyen - * @date August 29, 2025 * */