Review usage of mutables (was ACTS-256)
Original author Hadrien Benjamin Grasland @hgraslan
ACTS uses mutables in a couple of places. More often than not, this is not really justified, but only done in order to shoehorn the const keyword onto methods which really shouldn't be const, because they alter the host object's state in a nontrivial way.
For example, DetachedTrackingVolume::setBaseTransform is a textbook example of a member setter, yet for some reason it was marked const, forcing the associated DetachedTrackingVolume::m_baseTransform member to be made mutable.
I'll be trying to get rid of such gratuitous mutable usage and to mark the associated setters as non-const, submit that as a MR, and we'll see if it breaks anything in a meaningful way.
Edited by Moritz Kiehn