Max number of nodes in geometry?

Hi,

After creating my geometry, I have 1,128 nodes. Then, if I try to do TGeoManager::CdNode(Int_t) I get:

This warning is printed by TGeoNodeCache::CdNode(Int_t). It occurs when its member fNodeIdArray points to nothing.

fNodeIdArray is built by the calling the top level TGeoNode::FillIdArray, which passes it along to its daughters etc. I don’t see anywhere however some kind of line like ‘if nnodes > max set the array pointer to zero’. I do see a member variable of TGeoNodeCache::fCapacity which is initialized to 1000. Is this the relevant bound I’m exceeding?

If so, what badness occurs other than not being able to use CdNode(Int_t)? Would it cause other issues to change the capacity slightly and recompile if I’m near the boundary?

Thanks,

Joe

Hi,

The message is maybe a bit misleading - I will correct it to tell you that the node ID array was not build. You can build this array via:

if you really want to change navigation state to a node unique ID. But make sure first that you know what you are doing !. This feature is to restore a previous path by id if you have backed it up via gGeoMAnager->GetCurrentNodeId().

Cheers,
Andrei

Ok, thanks. ‘Too many nodes’ sounded bad to me so I wanted to check.

Joe

OK, the warning is fixed in the trunk.

Cheers,