Non closed tessellated object - wrong TGeoNode?

Dear all,

we would like to use tessellated objects imported via GDML in our ROOT geometry. Since the recent update and minor fixes in ROOT (big thanks for this) the import does work same as the visualization.
Nevertheless, a problem is discovered also in the current master version of ROOT:

If one imports for example a tube-shaped object made out of stainless steel which is placed in a mother volume box filled with air there should be at air in the inside of the tube, i.e. central point (0,0,0), and only stainless steel at the location where the tube object shape wall is placed based on the GDML import. But the result is again the tube with its material.

Simple example code with the tessellated object in the GDML:

TGeoManager* gm = new TGeoManager();
gm->Import("geometry.gdml"); // Containing the geometry with tess. object
gm->InitTrack(0,0,0,0,0,0); // x,y,z, dx, dy, dz -> Here we get the wrong node
gm->GetCurrentVolume()->GetMaterial()->GetName();

Here one obtains as current volume the tube volume and not the “mother” volume which should be tje volume in the inside of the tube. The GDML export is based on G4 and here the issues does not exist.

  • Is this behavior linked to the description in the documentation of the TGeoTessellated: “The class does not provide navigation functionality, it just wraps the data for the composing faces.” Meaning that there is no possibility to obtain the correct volume in case of tessellated objects? - Which in principle would make them useless in the case if they contain sub volumes.
  • In the code the property “fClosedBody” is set - but never used. This seems to be somehow related?
  • In case that this behavior is intended - any workaround available?

Thank you very much for any feedback.

ROOT Version: 6.22.04 / 6.22.06 / current master (02.02.2021/a0a74689a0a2ebd46534bddbd10821837bc11da2)
Platform: CC7
Compiler: gcc 4.8.5


Hi,
Indeed, tessellated shapes do not provide yet any navigation functionality, such as locating points or finding the distance to the boundary. They were added initially only for visualization and to allow geometry conversions via the GDML format. Navigation will be at some point possible based on VGShape interface to VecGeom, but this is not yet on the priority list.

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