TGeoToStep::CreateGeometry() <TRint::HandleTermInput()>: Exception caught!

Hello, I am trying to create a CAD file out of the Atlas geometry file which I got from http://root.cern.ch/files/atlas.root

Here is how it goes:

root [0] TFile::Open(“atlas.root”)
(TFile *) 0x5574693928e0
root [1] gGeoManager = atlas
Info in TGeoManager::CloseGeometry: Geometry loaded from file…
Info in TGeoManager::SetTopVolume: Top volume is ATLS. Master volume is ATLS
Info in TGeoNavigator::BuildCache: — Maximum geometry depth set to 100
Info in TGeoManager::CloseGeometry: Voxelization retrieved from file
Info in TGeoManager::CountLevels: max level = 12, max placements = 307
Info in TGeoManager::CloseGeometry: 29046966 nodes/ 7143 volume UID’s in atlas.C
Info in TGeoManager::CloseGeometry: ----------------modeler ready----------------
(TGeoManager *) 0x557469740cf0
root [2] auto step = new TGeoToStep(gGeoManager)
(TGeoToStep *) 0x55746e19a0f0
root [3] step->CreateGeometry()
/////HANGS HERE ABOUT 1 MIN. CPU LOAD. SEEMS LIKE IT IS DOING ITS JOB////////
Error in TRint::HandleTermInput(): Exception caught!
root [4]

I am running root 6-12-04 on linux, gcc version 7.2.0
Any ideas?? Thanks in advance

Hi,

I can imagine several possible bottlenecks when converting very large geometry to STEP, so the problem you are pointing to may not be trivial to fix. You could try to go for converting parts of the ATLAS geometry using the new interface TGeoToStep::CreatePartialGeometry. The TGeoToStep converter is maintained on best effort basis, the latest contributor being Whitney Armstrong (@whit2333 in github) in December 2017 who developed the partial geometry export.

Best,

Hello, thanks for answering.

I am building the current dev branch now, and give it a try, thank you :slight_smile:

What would you try to approach this problem? I just get an exception without a name,
I wanna try to track it down in the meantime. Default user limits come to my mind. Do you have any suggestions?

Hi, I would first just run and monitor with the top command to check the memory hypothesis. Then I would compile in Debug mode and run under gdb to see where and why it dies, then run under valgrind using the callgrind tool, to see where the time is spent and likely the memory allocated…

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