Ticket #1267 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

Create an event workspace class

Reported by: Peter Peterson Owned by: Peter Peterson
Priority: major Milestone: Iteration 24
Component: Keywords: event
Cc: Blocked By:
Blocking: Tester: Martyn Gigg

Description

Based on the document Event Workspace Detailed Design Document create an event workspace class.

Change History

comment:1 Changed 10 years ago by Peter Peterson

  • Status changed from new to accepted

comment:2 Changed 10 years ago by Peter Peterson

(In [4607]) First itteration of event workspace only compiles and throws exceptions. Refs #1267.

comment:3 Changed 10 years ago by Peter Peterson

(In [4671]) Fixed spelling error. Refs #1267.

comment:4 Changed 10 years ago by Russell Taylor

(In [4675]) Fix build. Re #1267.

comment:5 Changed 10 years ago by Peter Peterson

(In [4680]) Checkpointing version of the eventHistogram that actually compiles. This also fixes a doc error in EventWorkspace. Refs #1267.

comment:6 Changed 10 years ago by Peter Peterson

(In [4683]) Renamed EventHistogram to EventList since the name makes more sense. Refs #1267.

comment:7 Changed 10 years ago by Peter Peterson

(In [4685]) Adding bare bones test that needs desparetly to be filled in. Refs #1267.

comment:8 Changed 10 years ago by Peter Peterson

(In [4686]) Adding function stubs for sorting the events. Refs #1267.

comment:9 Changed 10 years ago by Janik Zikovsky

(In [4687]) Refs #1267, added comments

comment:10 Changed 10 years ago by Janik Zikovsky

(In [4690]) Refs #1267, added empty constructor

comment:11 Changed 10 years ago by Janik Zikovsky

(In [4692]) Refs #1267, tests of tofEvent

comment:12 Changed 10 years ago by Peter Peterson

(In [4694]) Added variables for the cached histogram and a way to clear the cache. Refs #1267.

comment:13 Changed 10 years ago by Janik Zikovsky

(In [4695]) Refs #1267, assignment operator

comment:14 Changed 10 years ago by Peter Peterson

For the frame time Nick suggested:

...the Boost Posix time
http://www.boost.org/doc/libs/1_43_0/doc/html/date_time/posix_time.html
You need to add the define BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG to the
build to get access to the nanosecond precision.

comment:15 Changed 10 years ago by Janik Zikovsky

(In [4702]) Refs #1267, more tests and a getEvents() method.

comment:16 Changed 10 years ago by Janik Zikovsky

(In [4717]) Refs #1267, sorting tests FAIL!

comment:17 Changed 10 years ago by Janik Zikovsky

(In [4719]) More failing tests, refs #1267

comment:18 Changed 10 years ago by Peter Peterson

(In [4721]) Adding accessor methods for the cached versions of the data. Refs #1267.

comment:19 Changed 10 years ago by Janik Zikovsky

(In [4722]) Refs #1267; changed tof to double; sorting passes tests.

comment:20 Changed 10 years ago by Janik Zikovsky

(In [4723]) Refs #1267, event list += operator

comment:21 Changed 10 years ago by Janik Zikovsky

(In [4737]) Refs #1267; event histogramming and starting support for units.

comment:22 Changed 10 years ago by Janik Zikovsky

(In [4739]) Refs #1267, Filled in some of the EventWorkspace; running into problems with MatrixWorkspace requiring non-const access to dataX, etc.

comment:23 Changed 10 years ago by Russell Taylor

(In [4749]) Fix Windows build. Re #1267.

comment:24 Changed 10 years ago by Janik Zikovsky

(In [4758]) Refs #100, added semicolons to test assertions; just to avoid them showing up as syntax errors under eclipse. Also, empty test that refs #1267.

comment:25 Changed 10 years ago by Janik Zikovsky

(In [4759]) Refs #1267, a few more EventWorkspace functions.

comment:26 Changed 10 years ago by Janik Zikovsky

(In [4770]) Refs #1267; starting to straighten out the const function calls.

comment:27 Changed 10 years ago by Janik Zikovsky

(In [4771]) Refs #1267; still problems with const method returns.

comment:28 Changed 10 years ago by Janik Zikovsky

(In [4772]) Refs #1267; const and non-const data access methods test ok.

comment:29 Changed 10 years ago by Janik Zikovsky

(In [4773]) Refs #1267; event workspace const and non-const data access; interesting side effect: it is impossible to access the data of the workspace, since the const class can't be changed, and the copy constructor is forbidden.

comment:30 Changed 10 years ago by Janik Zikovsky

(In [4784]) Refs #1267, added mutable to some members of EventList to allow on-the fly histogramming.

comment:31 Changed 10 years ago by Janik Zikovsky

(In [4794]) Refs #1267; event list now histograms by summing all events if no bins are set; event workspace tests correctly.

comment:32 Changed 10 years ago by Janik Zikovsky

(In [4798]) Refs #1267, added frameId to real time table.

comment:33 Changed 10 years ago by Peter Peterson

(In [4839]) Added operator to allow printing of events more easily. Refs #1267.

comment:34 Changed 10 years ago by Peter Peterson

(In [4840]) Adding a convenience method for getting the number of events stored. Refs #1267.

comment:35 Changed 10 years ago by Peter Peterson

(In [4841]) Adding convenience function for calculating the total number of events. Refs #1267.

comment:36 Changed 10 years ago by Janik Zikovsky

(In [4904]) Refs #1267; made the spectrum list dense from zero to getNumberHistograms(); filled out the spectraDetectorMap. Used a vector of pointers to event lists to avoid wasting memory and processor.

comment:37 Changed 10 years ago by Janik Zikovsky

(In [4906]) Refs #1267; fix build error on Windows; apparently 'or' compiles on linux or mac but you need the double pipe under windows.

comment:38 Changed 10 years ago by Janik Zikovsky

(In [4945]) Refs #1267, added tests to EventWorkspace when not initializing the histogram.

comment:39 Changed 10 years ago by Janik Zikovsky

(In [4948]) Refs #1267; renamed a method in EventWorkspace

comment:40 Changed 10 years ago by Janik Zikovsky

(In [4949]) Refs #1267 and #1339; an axis for EventWorkspace holds the workspace index -> spectrum # map. See ticket #1339 for my comments on odd design of Axis

comment:41 Changed 10 years ago by Janik Zikovsky

(In [4958]) Refs #1267: throw an error if you access event list data after finishing; Also Refs #1313, axes set in simpleRebin

comment:42 Changed 10 years ago by Peter Peterson

(In [5001]) Tweaked namespace usage to be a bit politer to users. Refs #1267.

comment:43 Changed 10 years ago by Peter Peterson

(In [5003]) Added the frame times to the data. Refs #1267.

comment:44 Changed 10 years ago by Peter Peterson

(In [5004]) Trying to solve a windoze build issue without VS2005. Painfull way to develop. Refs #1267.

comment:45 Changed 10 years ago by Janik Zikovsky

See revision [5011]; comments clean up.

comment:46 Changed 10 years ago by Janik Zikovsky

(In [5013]) Refs #1296: slight improvement in load event speed. Refs #1267: cleaned up comments of EventList, added AddEventQuickly method.

comment:47 Changed 10 years ago by Janik Zikovsky

(In [5016]) Refs #1267: attempt to remove some doxygen warnings.

comment:48 Changed 10 years ago by Peter Peterson

(In [5019]) Adding portable definitions declaration for boost date time class. Refs #1348 and #1267.

comment:49 Changed 10 years ago by Janik Zikovsky

(In [5020]) Refs #1267 and #1296: more comment clean up, to fix doxygen errors.

comment:50 Changed 10 years ago by Janik Zikovsky

(In [5026]) Refs #1267: last change caused build errors but doesn't cause doxygen errors in linux, so I'll ignore the warnings in the windows Doxygen build.

comment:51 Changed 10 years ago by Peter Peterson

(In [5043]) The data_map is no longer mutable since it doesn't need to be for anything. Refs #1267.

comment:52 Changed 10 years ago by Janik Zikovsky

(In [5045]) Refs #1267: fixed EventList so that it creates a Y data array of length of X-1. Tests fixed.

comment:53 Changed 10 years ago by Peter Peterson

(In [5048]) Removed non-const functions from the underlying EventList. Also const this to the TofEvent for correctness. Refs #1267.

comment:54 Changed 10 years ago by Peter Peterson

(In [5050]) Copying the x-units into the output dataset. Refs #1267.

comment:55 Changed 10 years ago by Peter Peterson

  • Keywords event added

comment:56 Changed 10 years ago by Janik Zikovsky

(In [5061]) Refs #1267 and #1357: had to add some const versions of methods.

comment:57 Changed 10 years ago by Janik Zikovsky

(In [5062]) Refs #1267 - fixed a bug in spectraMap() being one too short.

comment:58 Changed 10 years ago by Russell Taylor

(In [5092]) Add line to workspace factory create-from-parent method so that an EventWorkspace parent spawns a Workspace2D child. Re #1267.

comment:59 Changed 10 years ago by Janik Zikovsky

(In [5267]) Refs #1267: made TofEvent destructor non-virtual, as this saves 8 bytes per event = lots of memory for millions of events.

comment:60 Changed 10 years ago by Nick Draper

  • Status changed from accepted to verify

comment:61 Changed 10 years ago by Nick Draper

  • Resolution set to fixed

fill in missing resolution

comment:62 Changed 10 years ago by Martyn Gigg

  • Status changed from verify to verifying
  • Tester set to Martyn Gigg

comment:63 Changed 10 years ago by Martyn Gigg

  • Status changed from verifying to closed

Version #5939

Tested in conjunction with #1296 as that's the only way of creating an event workspace. Tested loading, instrument view, data view and plotting as well as Python access. Algorithms both EventWorkspace aware and unaware function correctly.

comment:64 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 2114

Note: See TracTickets for help on using tickets.