OpenGATE / opengate

Gate 10 (beta)
http://www.opengatecollaboration.org
GNU Lesser General Public License v3.0
42 stars 38 forks source link

Test dose actor variants mt #360

Open nkrah opened 6 months ago

nkrah commented 6 months ago

This PR is to test different ways to implement the DoseActor (and similar actors) in multithread mode.

It particularly, it implements different lock-free structures to store the dose per voxel deposited in the SteppingAction. It tests an approach via thread-local vectors against structures based on std::atomic, in particular std::duque and std::vector<std::atomic>*.

The PR contains several tests relying on a helper module and a plot script.

This PR should currently not be merged. It is for testing only.