Skip to content

Fix the MFT half-disk 3 support pockets to match the technical drawing - #15868

Merged
sawenzel merged 1 commit into
AliceO2Group:devfrom
sawenzel:swenzel/mft-disk3-void-convex
Sep 30, 2026
Merged

sawenzel merged 1 commit into
AliceO2Group:devfrom
sawenzel:swenzel/mft-disk3-void-convex

Conversation

@sawenzel

Copy link
Copy Markdown
Collaborator

This PR corrects the two large pockets in the support plate of MFT half-disk 3. With this fix, all support-plate voids in the MFT are valid convex solids, so the geometry can be imported through GDML into VecGeom, which previously rejected sc_void_1_H0_D3 and sc_void_1_H1_D3.

Each pocket is an L-shaped hexagon with one inward corner. Support.cxx cuts it out as two TGeoArb8. The left pocket was split so that one piece was non-convex. ROOT does not check convexity and evaluates such an arb8 as the intersection of its edge half-planes, which silently left a thin wall of PEEK inside the pocket. The small offsets later added to both pockets reduced this wall but did not remove it. On the right they also moved two corners of the pocket, cutting into material outside the pocket and leaving a wedge along the slanted wall.

Both pockets are now split at the height of the inward corner into two convex trapezoids that overlap slightly away from the walls. The vertices are taken from the pocket coordinate table of the Subatech drawing of the disk 03 support. The result was cross-checked against the CAD model of the part, converted with o2-cad-to-tgeo, where the straight walls of both pockets coincide with the drawing to better than 0.1 µm.

The deviation from the drawing, per pocket and per half-disk, is:

left pocket right pocket
material inside the pocket, before 0.032 cm² 0.060 cm²
material cut outside the pocket, before 0.0003 cm² 0.020 cm²
after 0 0

Note that the changes are not intended to alter anything else. Point sampling of the full MFT, ROOT overlap checks of the disk 3 half-disks and a GDML export read by Geant4 and VecGeom show no other difference. In the CAD model, the slanted outer wall of each pocket is an arc following the rim, which the code approximates by its chord. That is a separate simplification and is left for a follow-up.

Overall, the half-disk 3 support now reproduces its technical drawing exactly and no longer contains solids that other geometry engines reject.

Drawing: https://twiki.cern.ch/twiki/pub/ALICE/MFTWP3/Disk_support_03_05-09-2017.pdf
CAD model: https://twiki.cern.ch/twiki/pub/ALICE/MFTWP3/Disk_support_03-A.35.stp

Assisted by Claude Code.

This fixes the two large pockets of the MFT half-disk 3 support plate so they match the Subatech drawing.

- Each pocket is cut as two TGeoArb8. The left split along f-i left vertex i 0.12 mm inside its piece, so sc_void_1_H*_D3 was non-convex and VecGeom rejects it.
- ROOT evaluates that non-convex arb8 as the intersection of its edge half-planes, which left 0.032 cm2 of PEEK inside the left pocket.
- On the right, the .02 overlap shift was applied to the corners l and o, so the plate kept a 0.060 cm2 wedge along wall l-m and lost 0.020 cm2 along wall n-o.
- Both pockets are now split at y = 7.5 into two convex trapezoids that overlap by .02 away from the walls.

https://twiki.cern.ch/twiki/pub/ALICE/MFTWP3/Disk_support_03_05-09-2017.pdf

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI_slc9 for 53f6a28 at 2026-09-29 20:23:

No log files found

Full log here.

@sawenzel
sawenzel merged commit 26d429c into AliceO2Group:dev Sep 30, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants