Ticket #6870 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Fix event times in the live data stream

Reported by: Ross Miller Owned by: Ross Miller
Priority: critical Milestone: Release 2.5
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Russell Taylor

Description

Event times are showing up with the year 2090.

Change History

comment:1 Changed 7 years ago by Ross Miller

  • Status changed from new to accepted

comment:2 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:3 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:4 Changed 7 years ago by Ross Miller

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:5 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:6 Changed 7 years ago by Russell Taylor

  • Status changed from verify to verifying
  • Tester set to Russell Taylor

comment:7 Changed 7 years ago by Russell Taylor

  • Status changed from verifying to closed

The pulse times are now correct.

comment:8 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:9 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:10 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:11 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:12 Changed 7 years ago by Ross Miller

Fix event timestamps in live data

The TofEvent constructor epects a DateAndTime object, but we were passing the pulse ID as a 64-bit uint. The DateAndTime constructor treated that as the number of nanoseconds since the epoch. However, the pulse ID is actually 2 32-bit fields concatenated together: seconds since the epoch and nanosecond fraction.

The fix was to eplicitly (and properly) convert the pulse ID to a DateAndTime object and pass that object to the TofEvent constructor.

Refs #6870

Changeset: 825e8c2e980353ee76de323ca8831b4c65cf6cef

comment:13 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7716

Note: See TracTickets for help on using tickets.