AgML: Test AgML / ROOT enforcement of namespaces

The problem:  In the past I have observed issues with the geometry construction system in AgML.  Specifically, volumes defined within the SVT geometry were being confused with volumes defined within the SCON geometry, when the names of the two geometries were identical.... even though the two volumes are defined within two namespaces, ROOT/CINT has been instructed to "use" both namespaces, which defeats the purpose.  The best solution would have been to reference volumes directly, i.e. crete them using "new NAMESPACE::VOLUME()" instead of "using namespace NAMESPACE;" followed by "new VOLUME()".  However, implementation ran into other difficulties, in that the AgStructures were not being created / accessed properly.  So a "temporary" workaround was devised, which appeared to work.  But I could not easily ensure that the data structures were being accessed properly in all cases.  (i.e. the possibility of data defined in one module being used in another module.)

 

In order to test validity of AgML, I have performed a test.  We compare two geometries:  one in which we build a single geometry library, using only the modules needed for that geometry tag; the second a geometry built using a library which contains all modules.  For y2006h, y2009a, y2010a, y2011 I see complete agreement between the two versions of the geometry.

 

Conclusion:  AgML may still have a namespace issue when creating a ROOT geometry, but it does not have an impact on the final geometry created.