Deduplicate the MFT flex and the shared ALPIDE metal stack - #15736
Open
sawenzel wants to merge 1 commit into
Open
Deduplicate the MFT flex and the shared ALPIDE metal stack#15736sawenzel wants to merge 1 commit into
sawenzel wants to merge 1 commit into
Conversation
This deduplicates the MFT flex printed-circuit assembly, its connector and the ALPIDE metal stack, and adds a name-based lookup for the deduplicated flex volumes. It is a follow-up on AliceO2Group#15723 and extends geometry simplification ideas to MFT Flex. - The flex and its five layers were rebuilt for each of the 280 ladders, although Ladder.cxx derives the flex length from the sensor count alone, so ladders with the same sensor count get an identical flex. - Flex::makeFlex() now builds one flex per sensor-count class, guarded by a LOG(fatal) if a later call presents a different length for a class already built. - The connector pad and its PEEK box are the same solids on every flex and are now built once. - MetalStack in AlpideChip::createChip() is the same solid in every ALPIDE chip of both ITS and MFT and is now built once, guarded on its half lengths. - Every cache is dropped when gGeoManager changes, so a second geometry built in the same process cannot inherit a dangling pointer. The X7R0402 cache got the same guard. - The deduplicated volumes are named for the sensor count (flex_3, lineslayer_3, varnishlayer_3_0) instead of for half/disk/ladder. Flex::composeFlexName(), composeFlexLayerName() and getFlexVolume() resolve them, the last through gGeoManager so it also answers on a geometry read back from a file. The ladder a placement belongs to is still read from the node path. In result, an MFT-only geometry goes from 5281 to 2788 TGeoVolumes and from 32798 to 5650 TGeoNodes; ITS and MFT together from 5687 to 3187 volumes. The number of physical nodes is unchanged at 50044.
sawenzel
requested review from
f3sch,
fprino,
mconcas,
mcoquet642 and
shahor02
as code owners
August 28, 2026 18:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This deduplicates the MFT flex printed-circuit assembly, its connector and the ALPIDE metal stack, and adds a name-based lookup for the deduplicated flex volumes. It is a follow-up on #15723 and extends geometry simplification ideas to MFT Flex.
In result, an MFT-only geometry goes from 5281 to 2788 TGeoVolumes and from 32798 to 5650 TGeoNodes; ITS and MFT together from 5687 to 3187 volumes. The number of physical nodes is unchanged at 50044.