Setting accuracy (and other) parameters from macros

Recently, the N02 source code was updated in order to allow configuration of accuracy parameters using macros. This is an important step towards measuring and comparing the performance of G4 against PowerDEVS, since it enables the use of scripts that iterate through sequences of values for these parameters and analyze the outcome.

Commands added to ExN02DetectorMessenger

This class was extended with a new set of parameters, which are contained inside the prec directory. In particular, the following commands were defined. Each of them expects a double and some of them, optionally, a length unit:

  • setDeltaOne
    • Sets the delta one step.
    • Default unit: nm.
  • setDeltaInt
    • Sets the delta intersection.
    • Default unit: nm.
  • setDeltaChord
    • Sets the delta chord (i.e., the miss distance).
    • Default unit: mm.
  • setEpsilonMin
    • Sets minimum epsilon step.
    • This command is dimensionless.
  • setEpsilonMax
    • Sets maximum epsilon step.
    • This command is dimensionless as well.
  • setMinStep
    • Sets minimum step size for the stepper.
    • Default unit: mm.

Note that these are optional. Default values are used for each parameter not specified.

Important: the command /prec/applyChanges must be explicitly invoked (before beamOn) if any of these precision values is set.

Parameters controlling tracks:

  • /N02/det/trackMaxSteps - maximum number of steps
  • /N02/det/trackMaxLen - maximum track length
  • /N02/det/stepMax - maximum step lenght