Cannot align FT modules and half-modules simultaneously in dd4hep
There is a problem with the dd4hep geometry updates that prevents aligning FT modules and FT half-modules simultaneously.
There exists no detector element for FT modules in the geometry: in the alignment FT modules are composed by combining to half-modules in the geometry. A scenario that is interesting for the alignment is to align full modules in Tx and Rz, and half modules in Rx (for the banana shapes) simultaneously:
alignables.FTModules("TxRz")
alignables.FTHalfModules("Rx")
However, this does not work in the dd4hep build. The update needs to update each half module twice, once with the delta from the module and another time with the delta from the half module. To compute the delta it takes the existing alignment transform and modifies it. In the detdesc build the modifications happens directly to the alignment element: So, when it updates the half module it picks up the modification that was already made by the module. However, in the dd4hep build the delta is not directly applied to the element, but rather to the data service. As a result, when it computes the delta from the half module, it throws away the delta applied by the module: The 'TxRz' changes never make it into the yaml.
A possible solution is to 'cache' the delta in the DetectorElement wrapper