Add Bounding Volume Hierarchy capabilities for Navigation
This MR adds navigation capabilities using BVH. TrackingVolume
can now be created with a contained BVH. It owns the bounding box and has a pointer to the hierarchy structure. The TrackingVolume
can then be queried for intersecting contained surfaces by giving a position, direction and opening angle. It then internally uses a ray or a frustum to do the intersect search. The navigator learns how to deal with these TrackingVolume
s. Currently, it will only use rays (leading to bad behavior in case of low-momentum/high-bfield). A basic estimation of the required opening angle for a given momentum and b field is included but commented out. This scenario will be addressed in the future, because the navigator will have to handle potentially required re-navigation, when a particle is deflected out of the initial frustum.
Closes #486 (closed)