AgML Open Issues

[1] Namespace Clashes:  When a volume with the same name is declared in multiple geometry modules, the module where it first appears will be the one which is created.  This differs from the AgSTAR behavior and is a large bug which users need to be aware of.  The fix for this issue involves 1) hashing the volume name with the module name in all lookup tables and references to them, 2) likely adding a separate lookup table to store pointers to ROOT TClass objects, as ROOT/CInt appears to get confused when namespace::volume is explicitly requested.
n.b. It's not clear that this is a real issue.  There was another issue which could have given rise to a conflict.  
Specifically, an incorrect version of the SVT geometry was being created. This led to the creation of the SOSH
in both SSD and SVT. This was the likely cause of the nameclash.
 
[2] AgStructure type sensitivity:  When a user uses the AgDetp::New(...) command to modify the values found in an AgStructure, the code will only work if the user knows and correctly specifies the type being set.
This is CRITICAL to fix.  Users need to have a reliable way to Use struct=something select=var value=blah, in order realize the values in a given fill block.
Furthermore it is difficult to debug configuration problems when the type must be correctly passed between Geometry.cxx and the user modules.

[3] The Geometry.cxx / geometry.g is overly complex to generate tags.