Add support for more complicated mutlicopies in alignment
In the process of developing ITk alignment, it was observed that some multicopies caused issues when it was attempted to add the alignable
property. This turned out to be because if more than one transform is defined within a multicopy, the assumed location of various items in the vector of objects to process is incorrect.
To handle this, a more robust approach is taken by actively looking for the required objects in the vector, to use the correct one if found. While this is a bit less efficient, this code is anyway not performance critical as it will only run once per job (and is anyway still pretty fast).
Not addressed here, but to be followed up in later MRs:
- The behavior of multicopy when a
loopvar
is not used does not seem correct regarding alignment. Following up with the original author - it can be confusing that
alignable
can be both abool
(to indicate that a volume should be a FullPhysVol and a transform an AlignableTransform) and anint
(to indicate thataddAlignment
should be called, with a "level" indicated by theint
to define at which level in the geometry hierarchy it should be considered when running alignment). A new property such asalignLevel
should be added which initially duplicates theint
version ofalignable
while the geometry versions are being moved over to the new syntax. Eventually, the handling oldint
property could be removed from the code (so it will be ignored if defined) and from newer versions of the .dtd file.
Merge request reports
Activity
- Resolved by Nicholas Styles
- Resolved by Nicholas Styles
- Resolved by Joseph Boudreau
- Resolved by Nicholas Styles
Deferring to Johannes. Since it looks good to him I will merge.
@nstyles, we are planning a documentation week, April 8. There has been a large amount of development in GeoModelXML and you are promising even more. Can you consider joining the documentation effort, either during our dedicated week or asynchronously?
enabled an automatic merge when the pipeline for b2360141 succeeds
- Resolved by Vakhtang Tsulaia
================================================================================ Rebase the GeoModel code base w.r.t. main ================================================================================ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC fatal: ambiguous argument 'origin/main': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'
Looks like a problem in the test definition? Ambiguity between
Athena/main
andGeoModel/main
perhaps?
mentioned in commit bdebbf0a
mentioned in merge request !311 (merged)