-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Adding option for CylinderBounds to have a bevelled edges #1104
feat: Adding option for CylinderBounds to have a bevelled edges #1104
Conversation
…i/acts into nora-cylinder-anglededges
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @noraemi!
I left a few comments. One general one: I think we'll need the possibility to have only one of the sides of the cylinder have an inclined cutoff. I guess this would mean having two angle
parameters?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to get this started, @noraemi !
I think we need two different angles, and -- what I totally forgot to mention -- of course we need to update the
SurfaceBounds::inside()
VolumeBounds::inside()
methods, there's a lot of code we can just take from the equivalent ATLAS classes.
Then, to complete the PR, this needs UnitTests for the added code to check consistency.
As for the format checks, we are using clang-format, and if the correct/right version is installed locally, one can run ./Ci/check_format . on the repository and this should fix the format checker. |
Codecov Report
@@ Coverage Diff @@
## main #1104 +/- ##
==========================================
- Coverage 48.13% 48.03% -0.10%
==========================================
Files 341 341
Lines 17660 17740 +80
Branches 8342 8385 +43
==========================================
+ Hits 8500 8521 +21
- Misses 3372 3405 +33
- Partials 5788 5814 +26
Continue to review full report at Codecov.
|
… depedency of CylinderSurface
This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs. |
…-cylinder-anglededges
I ran into a snag trying to finish up the last parts, and some feedback would be helpful. The issue is with the "inside" check for the cylinderbounds. This check does box, with the phi/Z, check as far as I can tell. For the bevel part this would obviously not work. Would the right approach here be to extend the functionality in BoundaryCheck to have say an "isInsideRhombus" function or similar? Where I could define the tilted box rather. And call this function instead of isInside for the cases where the bevel parameters are set.
|
Regarding the |
I think since in local coordinates the edges are straight, even the covariance check should be ok: convert to local with jacobian und use the vertex inside check in |
Isn't this already handled by |
Hi @noraemi - one quick question: can the bevelling also be in the same direction on both sides? The ATHENA-EIC guys need a tilted beam pipe inlay into a cylinder volume (we can specify that volume shape later), but that would need some sort of parallel cut off on both sides. |
Yes! the bevel can be done in both directions e.g: \___ or /___ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks ok to me now, is there more to do here from your side, Nora?
Updating branch to check merge-ability, |
I'm just adding the unit-tests for the bevel, after that I think its done |
This PR should be ready now, if the CI doesn't fail. |
PR to introduce a modification of the CylinderBounds to include an angle to tilt both edges of the cylinder.
WIP for now to receive initial feedback on the implementation, e.g. if this should rather be an extension
Current implementation keeps the length in z at the mid-point of the cylinder and tilt the edges with an defined angle