Skip to content

TrackingVolumeManipulator,TrackingVolumeHelper, TrackingVolumeCreator make safe. start on Geometry builders

TrackingVolumeManipulator,TrackingVolumeHelper, TrackingVolumeCreator make safe. start on Geometry builders

This is the followup of !56242 (merged)

Since in that one we finally avoid creating everything const. Now we are able to actually "manipulate" things without const_cast for a change ...

Main changes :

  • TrackingVolumeManipulator --> THREAD_SAFE
  • TrackingVolumeHelper --> THREAD_SAFE
  • TrackingVolumeCreator --> THREAD_SAFE
  • Start on trying to clean up the thread safety for Tracking Geometry Builders , by passing not const volumes to them . I left the marking as NOT_THREAD_SAFE as some need a bit extra work to pass.

ping @fwinkl , @ssnyder

Notes : There was one "syntactical" question I had on combining span and shared_ptr etc ... ping @ssnyder with whom I discussed them. A mock perhaps easier to parse if you wonder on that bit of the code: https://godbolt.org/z/MdzEjaYMG (scroll around line 500)

There are a couple of const_cast that were not removed but moved around (most const_cast got removed). To rm them will need to do same ctor when we pass confinedDense as when we pass Detached in the TrackingVolume.

Edited by Frank Winklmeier

Merge request reports