Skip to content
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

Add geometry file for (simplified) HERA south hall #9

Merged
merged 2 commits into from
Oct 29, 2024

Conversation

heucheld
Copy link
Contributor

Geometry file created by Clara Garcia for HERA south hall muon simulations studies.

Describes simplified hall geometry and six pairs of scintillators around BabyIAXO circle of rotation, to check for impact of shaft and concrete ceiling.

@heucheld heucheld requested a review from lobis as a code owner October 10, 2024 14:38
@lobis
Copy link
Member

lobis commented Oct 10, 2024

Geometry file created by Clara Garcia for HERA south hall muon simulations studies.

Describes simplified hall geometry and six pairs of scintillators around BabyIAXO circle of rotation, to check for impact of shaft and concrete ceiling.

Hi Daniel, thanks for the PR. I have reviewed the geometry and found that it presents some (10) overlaps. You can check by importing the geometry in root via TGeoManager::Import("path.gdml"); and then gGeoManager->CheckOverlaps():.

image

The only concerning overlap (I think) is the 3500mm one, where one of the walls is clipping through the world. The 3160 mm one is just an annotation suggesting that the world could be tighter (having the world as tight as possible improves the efficiency of some of REST random particle generators).

I have tried to fix them myself by adjusting the world size but unfortunately it's coupled to other geometries and I was unable to fix it.

I am not sure of the impact of this overlaps in the simulations, probably it is minimal (but it's technically undefined behaviour), but anyway I think we should fix these before adding this geometry to the repository. Can I ask you to do the modifications so that there are no overlaps (and ideally so that the world volume is as tight as possible with the geometry)?

Thanks!


<!-- Solid definitions -->
<solids>
<box name="WorldSolid" x="world_size_X" y="world_size_Y" z="world_size_Z" lunit="mm"/>
Copy link
Member

@lobis lobis Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<box name="WorldSolid" x="world_size_X" y="world_size_Y" z="world_size_Z" lunit="mm"/>
<box name="WorldSolid" x="world_size_X + 3500 * 2" y="world_size_Y" z="world_size_Z" lunit="mm"/>

This fixes the overlaps with world, but there are still 9 remaining.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the scintillators to check if those are the problem but they aren't.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Luis,
thanks for your feedback and the file inspection!
I was indeed just taking Clara's file without checking it beforehand and went for the PR. :)

I fully agree, we should have a "clean state" without any overlaps and undefined behaviours.
I will try to have a look asap (after the CM preparations) to clean up the overlaps and minimise the world volume.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Luis,
I've rechecked Clara's GDML file and I have to admit that Im a bit lost with respect to her implementation.
I guess that I have to dis/en-able physics-volume by physics-volume to carefully debug where the overlaps occur.
A nice geometry display would make this task significantly easier. :)

The one you've shown above is even showing the affected overlay regions in yellow, right?
However, this does neither seem to be the restG4 implemented geometry viewer, nor the raw root one (gGeoManager->GetTopVolume()->Draw("ogl");), nor your nice browser-implementation (https://github.com/lobis/geometry-browser.git). Could you point me to the overlap display functionality?

I will also use this iteration to try making the GDML file a bit more readable and less dependent on different top level parameters like the world volume sizes to avoid future overlaps.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Luis, I've rechecked Clara's GDML file and I have to admit that Im a bit lost with respect to her implementation. I guess that I have to dis/en-able physics-volume by physics-volume to carefully debug where the overlaps occur. A nice geometry display would make this task significantly easier. :)

For me the easiest way to check overlaps is to load the geometry in root (no REST-for-Physics involved) as described here: #9 (comment), removing volumes in the gdml one by one until you find the overlap(s).

The drawings shown in this PR are from the FreeCAD GDML plug-in (https://github.com/KeithSloan/GDML). It's pretty useful, at least for visualization. To me is the quickest way to view a gdml file.

The one you've shown above is even showing the affected overlay regions in yellow, right? However, this does neither seem to be the restG4 implemented geometry viewer, nor the raw root one (gGeoManager->GetTopVolume()->Draw("ogl");), nor your nice browser-implementation (https://github.com/lobis/geometry-browser.git). Could you point me to the overlap display functionality?

Wow, I had forgotten about that viewer! It's quite old but I'm glad it's somewhat useful!

The picture is from the FreeCAD plug-in, it paints different materials in different colors (I think) that yellow colors does not indicate overlaps, sadly. It's hard to find overlaps, I don't know a quick way to do it, let me know if you find one!

I will also use this iteration to try making the GDML file a bit more readable and less dependent on different top level parameters like the world volume sizes to avoid future overlaps.

This is definitely a good idea!

Copy link
Contributor Author

@heucheld heucheld Oct 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The FreeCAD GDML plug-in works actually very well!
In combination with yours and Maria's method "debugging" and the clean-up will be much easier. Thank you guys!

@mariajmz
Copy link
Contributor

Hi @lobis @heucheld, I have just read the PR. I don't know if you have tried it, but there's another method in root, gGeoManager->PrintOverlaps(). In this macro, macros/ViewGdml.C we used it. It prints the pair of volumes that are overlapping. Maybe it can help :)

@heucheld
Copy link
Contributor Author

@mariajmz It's working well and will be super helpful, thank you!

@heucheld
Copy link
Contributor Author

@lobis The HERA South GDML file should be fine now. No overlaps anymore (in particular the one with withe world volume), minimised world volume for less computational expense and a bit of cleanup and documentation. Thanks again to you and @mariajmz , the FreeCAD viewer and the gGeoManager->PrintOverlaps() method were super helpful! :)

Daniel Heuchel and others added 2 commits October 29, 2024 21:34
@lobis
Copy link
Member

lobis commented Oct 29, 2024

Thank you @heucheld !

Looks good to me, I have checked and there are no overlaps. I am merging this PR.

@lobis lobis merged commit c78139f into iaxo:master Oct 29, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants