Improve Performance of Tracking4D by Factor x2
This MR dramatically improves the performance of the Tracking4D module by implementing a few simple fixes found by me and @pschutze. Furthermore it fixes a bug that was introduced during the rework concerning the matching of timing cuts, an std::fabs
was missing at a crucial point.
Furthermore I have removed the comparison of detectors based on std::string
but use their pointers directly. While this does not affect the performance very much I consider it the cleaner solution.
The performance improves by a factor 2x as you can see from the comparison of relevant test running times on my machine between master
and this MR:
Master branch
4/7 Test #3: test_timepix3tel_dut150um_ebeam120_sim.conf ... Passed 2.75 sec
5/7 Test #4: test_timepix3tel_ebeam120.conf ................ Passed 70.24 sec
6/7 Test #5: test_timepix3tel_ebeam120_gbl.conf ............ Passed 67.01 sec
This MR
4/7 Test #3: test_timepix3tel_dut150um_ebeam120_sim.conf ... Passed 3.06 sec
5/7 Test #4: test_timepix3tel_ebeam120.conf ................ Passed 38.08 sec
6/7 Test #5: test_timepix3tel_ebeam120_gbl.conf ............ Passed 35.88 sec