DDG4 simulation steering
So far we have been using the lcgeo DDSim python scripts for orchestrating DD4hep-based simulations. This is a nice and flexible solution when combined with a steering file that can be passed as an argument to
ddsim. However, it is an attractive idea to abandon the lcgeo dependency in favor of simplified, detector-specific python scripts.
The idea here is to throw out the idea of a generalized/complex command-line interface to a DD4hep simulation. In practice, for production simulations, a steering file is (somewhat) required anyway, which already breaks away from a command-line-defined configuration. Beyond early testing of a DD4hep simulation, the usefulness of the
ddsim generality has therefore run its course.
I suggest that the orchestration of the simulation be combined with the steering file, and that we create a single python script per detector concept for setting up and executing a simulation (with no outside dependency other than DD4hep). These files would contain things such as what magnetic field equations of motion to use, what IO to use, etc.
It is not 100% clear that NPDet is the right place to keep such scripts, but I think that it should be considered. I like the idea since then NPDet could be a one-stop-shop for running simulations of detector concepts that could be maintained in the repo (in addition to its role as a library of parameterized subdetectors). E.g., I could store iterations of the SiEIC compact file in separate directories, each with a unique simulation steering script (since geometry/magnetic field could dictate the contents of the steering script).