Draft: Pixel detector model class

This MR proposes the following changes to the detector model tree

  1. Making the base DetectorModel class more abstract:
    • removing parts of the ctor that handle pixel-specific configuration keys (eg. number_of_pixels). The ctor now only looks for model-inspecific parameters such as type or sensor_thickness and support structure parameters.
    • An open question on my part: Class members have been renamed to not use the word "pixel" to have more abstractness even in the naming convention. Currently "pixel" has been substituted for a more generic "cell" (number_of_pixels_ to number_of_cells_ and so on). I realize the primary object is still called Allpix::Pixel, but in my opinion it doesn't make a lot of sense to rename that as well. Please let me know if you want to keep this change, use a different word or revert it back.
  2. Introducing PixelDetectorModel class which inherits from DetectorModel and handles the pixel-specific parameters. This is basically the original DetectorModel implementation with the caveat that most of the methods are already implemented in the base class (as these are virtual there had to be something in the base class and it makes sense to me to use the implementation most likely to be called, even though it reduces the abstractness).
  3. Changing derived pixel model classes to inherit from PixelDetectorModel instead of the base class.

(These changes result from discussion on !528 (closed))

Edited by Radek Privara

Merge request reports