Allow SiDetectorElements per strip row to be created by splitting Strip Sensors
Backporting functionality being developed in !39730 (merged) for eventual use in master. Having this in 21.9 will allow full-chain testing that can help to refine implementation and check performance/reco implications.
Allows planned scheme of having a SiDetectorElement per strip row with minimal changes to GeoModelXml geometry description. Sensors will still be described with multiple rows in Simulation step.
-
Each new "split" SiDetectorElement belonging to a sensor has the same GeoVFullPhysVol (and so the same base local<->global transforms). Additional optional transforms are added as corrections on top of this to account for the position of the row within the sensor for barrel sensors. For endcap sensors this is not necessary, as the local positions are already expressed with respect to the beamline, so simply setting the centre radius correctly is sufficient.
-
This also adds the concept of an optional "Mother Design" for the designs of the split SiDetectorElement. The Mother allows calculation of which row we are in within the sensor, so that the correct SiDetectorElement can be picked in Digitization, which is where the interface between the multi-row (HITS) and single-row (RDO/ESD/AOD/etc) sensor description schemes.
NB that several technical improvements and clean-ups implemented for the master version are not included here, in order to avoid cascading interface changes being required and keep the changeset compact.
FYI @asalzbur @tadej @hhayward @jlsmith @ncalace @tstreble @hessey