InnerDetector: Changes to support the use of polar co-ordinates in strip endcaps
This merge request integrates changes to support polar co-ordinates in the strip endcap geometry, which were previously implemented in 0d70a0c3. This mirrors similar changes also being merged in 21.9 !45020 (merged) . Python documentation and test algorithms are being merged separately in !45443 (closed) . This is part of ATLITKSW-42.
In this workflow, StripGmxInterface checks the Annulus class in ITkLayouts for a flag which says whether to use cartesian or polar co-ordinates. This is passed to the StripStereoAnnulusDesign object, which stores the flag and uses it to determine whether to use cartesian or polar co-ordinates. It also creates an AnnulusBoundsPC object instead of the AnnulusBounds object used for the cartesian representation.
The use of these changes is controlled by a flag from ITKLayouts explicitly forcing the use of polar co-ordinates. In builds without these custom flags, it assumes cartesian co-ordinates, and none of the altered code is run. This means no difference should be observed by a user until these changes are fully complete and part of the default geometry. This control logic is at StripGmxInterface.cxx:L342.
Currently, this code compiles and runs. However, the geometry changes mean that no hit clusters are formed in the strip endcaps. This is under investigation in 21.9 and master, and will be resolved in later merge requests. This does not affect the results from any other usage, as these changes are only used if specified in the ITkLayouts package.