Hello,
I’m tracking a particle beam through a beam-pipe. In order to include a more complex model from external design (in particular the central beam-pipe in a detector), I’d like to use GDML modules.
In practice combining the plain pipe aka beamline.dgml
and a more complex model aka central_chamber.gdml
, as modules in a global GMDL file, say assemble.gdml
:
<materials>
<material name="Vacuum" Z="1">
<D unit="g/cm3" value="9.9999999999999998e-17"/>
<atom unit="g/mole" value="1.008"/>
</material>
</materials>
<solids>
<box name="global_solid" x="60000" y="60000" z="60000" lunit="cm" />
</solids>
<structure>
<volume name="Global">
<materialref ref="Vacuum"/>
<solidref ref="global_solid"/>
<physvol name="beamline" copynumber="1">
<file name="beamline.gdml"/>
</physvol>
<physvol name="central_chamber" copynumber="1">
<file name="central_chamber.gdml"/>
</physvol>
</volume>
</structure>
<setup name="Default" version="1.0">
<world ref="Global"/>
</setup>
</gdml>
A first trial was successful insofar as my beam-pipe (gray elements) is combined with the external model (for simplicity just the red tube).
Exporting the geometry using
TGeoManager
in ROOT
doesn’t crash and results in a GDML Geant can read. Hence, the Geant run also seems successful.
However, the tracking results are somewhat strange. While the beam starts in the gray elements (lower left corner of the picture), denoting their names correctly, the red pipe appears no to be recognized. Instead of upstream_beampipe
the particle is apparently in the top
volume, which is the world volume in beamline.gdml
.
My suspicion is that the global world volumes of both GDML modules might get messed up but I am absolutely not sure, due to lack of experience. I hoped, somebody here could help.
Thanks in advance. Maybe it is an obvious problem but if not, I could provide the GDML files as well, if needed.