| Summary: | GDML does not add assemblies of assemblies | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Nigel Hessey <nigel.hessey> |
| Component: | persistency/gdml | Assignee: | tatiana.nikitina |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | P5 | ||
| Version: | 9.4 | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: | GDML input using an assembly of an assembly. | ||
Tatiana has kindly agreed to look into this. Dear Nigel, Thank you for reporting this problem and for proposing the example. I don't see errors in proposed GDML file. Also in the documentation(GDML user's guide)the part about how to use assembly is missing. I will examinate this problem. Best Regards, Tatiana. Dear Nigel, I have reproduced this problem, it is an error in G4GDML Reader, I will fix it. Best Regards, Tatiana. Dear Nigel,
By making different tests I found that error was in your assembly file.
<physvol name="Ball600">
<volumeref ref="BallC" />
</physvol>
<physvol name="Ball300">
<volumeref ref="BallB" />
</physvol>
<physvol name="BallCentre">
<volumeref ref="BallA" />
</physvol>
All physical volumes are positioned in the centre of your system coordinates, this way you see only 3 boxes. You need move one of assembly by adding position or/and rotation to physical volume. For example :
<physvol name="Ball300">
<volumeref ref="BallB" />
<position name="Dumb5" z="300"/>
</physvol>
Best Regards,
Tatiana
|
Created attachment 215 [details] GDML input using an assembly of an assembly. Geant4 allows assemblies to be made up of physvols and other assemblies; the GDML schema also allows this. An assembly of physvols works fine. However, I cannot get an assembly of an assembly to be added to the geometry. I am using load_gdml from example G01, and the heprep viewer. I attach a minimal gdml file illustrating the problem. I hoped to get 7 balls, but see only 3 (the physvol and the assembly, but not the nested assembly). What am I doing wrong?