Refactor characteristics for detector `APD`
Proposed refactoring:
Now:
>>> from pyxel.detectors import APDCharacteristics
>>> APDCharacteristics(
roic_gain=..., # optional parameter
avalanche_gain=..., # ─┐
pixel_reset_voltage=..., # ├─ two of these parameters (and only two) are compulsories
common_voltage=..., # ─┘
quantum_efficiency=..., # optional parameter
...
)
Proposed new architecture
>>> from pyxel.detectors import APDCharacteristics
>>> from pyxel.detectors.apd import SaphiraParameters
>>> APDCharacteristics(
roic_gain=..., # COMPULSORY parameter
params=SaphiraParameters(
avalanche_gain=..., # ─┐
pixel_reset_voltage=..., # ├─ two of these parameters (and only two) are compulsories
common_voltage=..., # ─┘
),
quantum_efficiency=..., # optional parameter
...
)