Ticket #2245 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

EventList: Can templated code support more types of event data?

Reported by: Janik Zikovsky Owned by: Janik Zikovsky
Priority: critical Milestone: Iteration 27
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Brett Tully

Description

  • Try to template lots of the EventList code so as to cleverly reuse code.
  • Add a WeightedEventNoTime that has a weight but no more pulse time (for use by a future CompressEvents) that will use 8 bytes less memory. Time filtering would not be possible anymore.
  • Rely on compiler inlining to make accessor methods such as getSignal() most efficient possible.
    • Check that it is indeed inlined by looking at intermediate or machine code.

Change History

comment:1 Changed 10 years ago by Janik Zikovsky

  • Status changed from new to accepted
  • Use the same generic programming techniques as the STL: i.e. not class-based methods, but functionality-based ones. The compiler will catch any errors (missing functions etc)

comment:2 Changed 10 years ago by Janik Zikovsky

(In [8769]) Refs #2245: Split off TofEvent classes into Events.h and .cpp. Renamed their test.

comment:3 Changed 10 years ago by Janik Zikovsky

(In [8771]) Refs #2245: Templated the integrate() function in EventList. Renamed TofEventTest suite to EventsTest

comment:4 Changed 10 years ago by Janik Zikovsky

(In [8772]) Refs #2245: Shouldn't have renamed TofEventTest. Adding a WeightedEventNoTime.

comment:5 Changed 10 years ago by Janik Zikovsky

(In [8773]) Refs #2245: Forgot to add the file.

comment:6 Changed 10 years ago by Janik Zikovsky

(In [8775]) Refs #2245: Filled out tests for WeightedEventNoTime.

comment:7 Changed 10 years ago by Janik Zikovsky

(In [8819]) EventLists can now have 3 types of underlying data: TofEvent, WeightedEvent, and WeightedEventNoTime (which drops the pulsetime information). A later CompressEvents algorithm will convert to WeightedEventNotime. Extensive changes to the EventList tests to check every possible combination of every method. Refs #2245

comment:8 Changed 10 years ago by Janik Zikovsky

  • Priority changed from major to critical

comment:9 Changed 10 years ago by Janik Zikovsky

(In [8820]) Refs #2245: Disabled test for Windows.

comment:10 Changed 10 years ago by Janik Zikovsky

(In [8827]) Refs #2245: Temporary fix for mac build's very old GCC version.

comment:11 Changed 10 years ago by Janik Zikovsky

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

comment:12 Changed 10 years ago by Brett Tully

  • Status changed from verify to verifying
  • Tester set to Brett Tully

comment:13 Changed 10 years ago by Brett Tully

  • Status changed from verifying to closed

No problems on XP with 1.1.9450

comment:14 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3092

Note: See TracTickets for help on using tickets.