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!).
Error in <TGeoVoxelFinder::GetCheckList>: No slices for TOP
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?