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