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
<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
ROOTdoesn’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
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.