Skip to content

Geometry update

This MR will address both the update to the internal geometry and the external Geant4 geometry.

Internal geometry

  • PixelDetectorModel -> HybridPixelDetectorModel
  • Pass configuration parsing to the DetectorModel constructor. This makes the detector model slightly less modular, but I think it is indeed better.
  • Change the DefaultModelReader (because the parameters are now parsed in the constructors). It is possible to move this reader fully to the core, but I think I prefer to automatically add this DefaultModelReader to the module list if it is not explicitly specified instead.
  • Move chip and PCB to the DetectorModel (here we did not yet fully agree yet, but planned to start this way). Add virtual methods to calculate the offsets.
  • Add sensor_excess in all four directions. Add sensor_thickness parameter. Remove the sensor_size and guard rings parameters.
  • Replace chip_size by chip pixel grid with chip_pixel_size (defaulting to pixel_size?) and parse the chip_excess similar to the sensor_excess
  • Remove all the useless methods like halfPixelSize.
  • Calculate the world size in the GeometryManager (support adding extra points, for example for the particle source, to include in this calculation)
  • Comment all methods in the detector models
  • Update and check all model files

External geometry

  • Change the orientation of the detectors, so the beam can point in the positive z-direction. I am actually not sure if we should change the internal geometry (because I think it makes the local coordinate system less logical). Instead maybe it is better to add an extra rotation...
  • Check if all parts of the geometry are properly constructed and visualized
  • Check if we can constructs parts better to make the visualization faster

Resolves #33 (closed). Summary of what we discussed @simonspa @dhynds.

Edited by Koen Wolters

Merge request reports