TGeoManager doesn't load replicated volumes from GDML files

I have a Geant4 geometry containing some G4ReplicatedSlice physical volumes. A scintillating tile is replicated along one direction to form a line or strip of tiles; the strip is then replicated along the perpendicular direction to form a layer of tiles.
I save the geometry on a GDML file using G4GDMLParser::Write and then read it back in the Root shell with TGeoManager::Import. I noticed that, despite the replicated volumes are present in the GDML file:

    <volume name="tiletopPSD0x55e767716990">
      <materialref ref="G4_PLASTIC_SC_VINYLTOLUENE0x55e767711a50"/>
      <solidref ref="topTileSolid0x55e767716f80"/>
    </volume>
    <volume name="logicTopTileStrip0x55e7677168e0">
      <materialref ref="G4_Galactic0x55e7675b8cd0"/>
      <solidref ref="solidTopTileStrip0x55e767717040"/>
      <paramvol ncopies="15">
        <volumeref ref="tiletopPSD0x55e767716990"/>
        <parameterised_position_size>
          <parameters number="1">
            <position name="topTile0x55e7677171300_pos" unit="mm" x="0" y="-644" z="0"/>
            <box_dimensions lunit="mm" x="92" y="92" z="10"/>
          </parameters>
           . . . 
        </parameterised_position_size>
      </paramvol>
    </volume>
    <volume name="logicTopLayer0x55e767717260">
      <materialref ref="G4_Galactic0x55e7675b8cd0"/>
      <solidref ref="solidTopLayer0x55e7677171e0"/>
      <paramvol ncopies="15">
        <volumeref ref="logicTopTileStrip0x55e7677168e0"/>
        <parameterised_position_size>
          <parameters number="1">
            <position name="topTileStrip0x55e7677173500_pos" unit="mm" x="-644" y="0" z="0"/>
            <box_dimensions lunit="mm" x="92" y="1380" z="10"/>
          </parameters>
       . . . 
        </parameterised_position_size>
      </paramvol>
    </volume>
    . . . 
    <volume name="logicTopPSD0x55e7677174d0">
      <materialref ref="G4_Galactic0x55e7675b8cd0"/>
      <solidref ref="solidTopPSD0x55e767717450"/>
      <physvol name="topLayer0x55e7677175c0">
        <volumeref ref="logicTopLayer0x55e767717260"/>
      </physvol>
     . . .
   

the TGeoManager seems to ignore them: in the following screenshot
Screenshot_20210423_114828
you can see that topLayer0x55e76771750 has no child volume, even if the children are present in the GDML file (and correctly imported back in Geant4, so I’d say that the GDML file is ok).

I found another post in the forum describing exactly the same issue, so I think this might be a common problem, although nobody replied to that post. Is there any TGeo expert that can comment on this?
Thanks.


ROOT Version: 6.22.08
Platform: Archlinux
Compiler: GCC 10.2.0


@agheata may be can help

Hi, parameterized volumes are not supported by ROOT geometry unfortunately.

Hi Andrei,

I understand, thanks for the clarification.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.