Trk Surface bundle together the "optional" Transforms related payload
Trk Surface. Modify the "optional" transforms related payload.
This is present/needed when the surface is constructed without a detector element, when the surface is constucted with a det element these are not set and relevant calls are delegated to the detector element.
This has the implications that transform
, center
, normal
are set and used together,
at least in new MT mode where we do not have mutable
caches etc.
This MR bundles them in one struct and the surface has one unique pointer to the struct rather than 3 individual ones.
This should simplify the code logic and reduce the overall number of allocations e.g instead of 3 make_unique
one after the other we should have one.
Edited by Christos Anastopoulos