Confusion About TGeoManager::FindNextBoundary() error msg

Hi everyone,

I am using TGeoManager to handle a root geometry file describing a detector array, I am calculating path lengths between ‘events’ within detector and the entry and exit points. The actual code is complex, and has lots of other dependencies so I will attempt to explain the geometry quickly followed by my error.

I have a “TOP” volume which is my world volume, all other volumes are within this. Then I have a detector with several detector ‘pixels’ closely spaced within it. An event occurs within a pixel, but the entry and exit points lie within the larger detector block (not the pixel). There is a very small gap between pixels.

Okay, my code for calculating the lengths runs and works without crashing, but I keep receiving an error message flooding my output window (running this portion 100k times, so this prevents me from viewing any output!).

is the message that floods my screen.
Here is an code snippet calculating the exit point. geom is my TGeoManager(), and detector_name is the full path of the detector.

direction = event_coord - source; direction.SetMag(1); geom->InitTrack(event_coord(0),event_coord(1),event_coord(2),dir(0),dir(1),dir(2)); geom->FindNextBoundary(TGeoShape::Big(), detetctor_name.c_str()); geom->Step(); TVector3 event_exit_coord(geom->GetCurrentPoint());
The code works, but why do I keep receiving that error message? I think it has to do with the current node of the TGeoManager, but I cannot get around these messages.

Thanks for any help.

Also, if no one knows a solution, perhaps a tip on manually suppressing the error message?


The error message should not be supressed, but the geometry should be fixed.

  1. Did you called: gGeoManager->SetTopVolume() followed by gGeoManager->CloseGeometry() ? If yes, you have done some mistake in the geometry creation, but I cannot tell without seeing it. Could you attach the geometry exported via: gGeoManager->Export(“geom.root”) ?