| Summary: | Problem with patch 01 naming of GDML solids and volumes in loops | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | John Watts <john.w.watts> |
| Component: | persistency/gdml | Assignee: | Gabriele Cosmo <Gabriele.Cosmo> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | tatiana.nikitina |
| Priority: | P5 | ||
| Version: | 9.2 | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: | example gdml file with single solid and logical volume with mulitpule placements | ||
|
Description
John Watts
2009-05-08 19:39:57 CEST
Can you please provide a simple GDML file illustrating the problem, so we can get quickly to the issue ? The generation of names for entities inside a loop must be quoted as unique for the parsing process. Entities like logical-volumes or materials, should never be placed inside loops; similar for solids, if their parameters relevant to their dimension are not subject to change. The value appended to the name refers to a -flat- loop count starting from the innermost loop; it is used for internal reference and should not be considered as a way for referencing the individual entities in the user code. A possibility can be to strip off such extension at the time the entity gets loaded in Geant4, so it will not be visible at all. Created attachment 47 [details]
example gdml file with single solid and logical volume with mulitpule placements
The attached gdml file is the loop.gdml file from geant4.9.2/examples/extended/persistance/gdml/G01 with the loops over solids and logical volumes removed.
Before patch 01 this would be processed to create multiple placements of a single logical volume.
Thanks for providing the test-case. After some corrections applied to it, the problem has been reproduced. Indeed, usage of the loop statement has been now restricted to only handle multiple placements of a volume. Loops over logical-volumes, materials or solids will no longer be considered. |