Skip to content

Draft: Developments for the GeoModelXMLDumper - The first nail in AGDD's coffin

Johannes Junggeburth requested to merge devGeoXMLDumper into main

Hi everybody,

this is the first prototype of the GeoModelXML dumper conversion programme. The idea behind it is to take any kind of GeoModel plugin and to dump it into a XML file that can be interpreted by the generic GeoModelXML plugin. E.g.

dumpGeoXML -p ../install/lib/libToroidPlugin.so \
           -o ${run_dir}/dumpedXML.xml

As indicated in the description, the first & major use case will be the trans ToroidPlugin which is based on AGDD. If that translation is successful and correct, then we can say tschuuuuuus AGDD and press on its delete button.

A long the line, I introduced a couple of functions which can be of wider use, but I'm not certain whether we should put them into the GeoModelKernel itself. Hence, I opened the package GeoModelFuncSnippets

  • dump the transformations to screen
  • Comparison operators of GeoShapes, GeoTrf::Transform3D and GeoPhysVol. Eventhough, the objects are not the same, these operators allow to classify two distinct objects as equivalent if all of their defining parameters are the same within a certain precision. Usually that's in the order of microns.
  • GeoShapeUtils: Helper functions to retrieve the operands of the boolean volumes or to collapse a concatination of GeoShapeShifts into a single GeoShapeShift object. Standard way to print a GeoShape to screen.
  • defineWorld(): I've seen that the world node is reimplemented over and over again at lots of different places. I've created a createGeoWorld() function for this.
  • getChildrenWithRef (). Retrieves all children from the GeoVPhysVol together with the associated transformation. If the child volume is the same as the previous child and it's in kind of a regular pattern, then this volume is not added to the list but the copy number is incremented instead.
  • The Euler angles are already described in !244 (merged)

Last but not least, I've added a new feature to GeoModelXML itself. The <shapeshift> XML tag will create a GeoShapeShift from a previously registered shape.

Tagging: @boudreau, @rbianchi, @dellacqu, @tsulaia, @mbandier, @nstyles, @smeriano, @todorova, @ncalace, @asalzbur, @goblirsc

Edited by Johannes Junggeburth

Merge request reports