Skip to content

FT3 Tiling: Stave Geometry#15339

Open
JustusRudolph wants to merge 29 commits intoAliceO2Group:devfrom
JustusRudolph:ft3-tiling
Open

FT3 Tiling: Stave Geometry#15339
JustusRudolph wants to merge 29 commits intoAliceO2Group:devfrom
JustusRudolph:ft3-tiling

Conversation

@JustusRudolph
Copy link
Copy Markdown

@JustusRudolph JustusRudolph commented Apr 28, 2026

Implement a moderately intricate stave geometry with sensors glued on them. The setup is now fully modular and can very easily be changed with new constants/numbers inside FT3ModuleConstants.h.

This change also adds a few more cuts that the user can add in addition to the numbers given in the aforementioned constants file. It's possible to cut the sensor placement exactly at the nominal radii, or to let them stick out with the given values.

The default settings state that there we cut on the inner radius, and dictate only Stave geometry placement on the outer disks, where there have been more in depth studies on tiling.

Notably as well, this PR maintains full backward compatibility. Using kSegmented, nothing changes from the previous iteration.

… different module placement. Rewrite structure to be more granular and extendable. The old code remains for backward compatibility for now
…accordingly. Also simplify create_layout_scopingV3 function since the layout_type isn't needed.
…ement to remain within nominal radii. Also remove initial placement of sensor stack before calling fill_stave, moving to using y_start instead.
…old geometry. Also rename material counts to 'volume' instead of 'sensor'. EDIT: Change TGeo layer thickness back to original. EDIT2: Change Middle layer disc usage to newly added segmentation.
… 20/04/26: Revert to newly added middle disc layer segmentation.
…get the structural support (in carbon) from the staves
…Also change kSensorsPerStack to a vector in which order of sensor stack height we will pad the staves.
… and move in correct direction when placing sensors later
…n staves that have full +Rout to -Rout coverage
… a different number of sensor stacks on the positive/negative side of the stave leading to garbage memory access. Fixed now.
… to previous layout, to encapsulate the staves with face at local z=0 in air, we need to shift the staves and sensors locally since the mother volume is always around local z=0. Shift the layer volume by the same amount when adding it to get the right global position.
…ow means that the stave faces are not at local z=0 but instead at z=+-totalSensorMaterialThickness+0.1. Also fix global position bug since movement outwards is directional.
…tly use simple calculated values for stave placements, these are subject to change. Hence the existence of kSegmentedOTOnly
@JustusRudolph JustusRudolph requested a review from mconcas as a code owner April 28, 2026 17:00
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.

1 participant