ElectricFieldReader: add Parabolic and Custom Fields
This MR introduces parabolic electric fields to simulate double-peaked electric fields of irradiated sensor, and also adds the option to use custom-defined analytic fields in three dimensions:
Parabolic fields
[ElectricFieldReader]
model = "parabolic"
# In local coordinates of the sensor, i.e. 100um below the center of the sensor along z:
minimum_position = -100um
minimum_field = 5200V/cm
maximum_field = 10000V/cm
Custom fields
1D field (only along z
), replicating field above:
[ElectricFieldReader]
model = "custom"
field_function = "[0]*z*z + [1]"
field_parameters = 10000V/mm/mm/mm, 5000V/cm
3D field:
[ElectricFieldReader]
model = "custom"
# Parabolic in x and y, linear in z:
field_function = "[0]*x*x","[0]*y*y","[0]*z + [1]"
field_parameters = 12500V/mm/mm/mm, 12500V/mm/mm/mm, 6000V/cm/cm, 5000V/cm
Prerequisites
This MR builds on top of !483 (merged) which should be reviewed and merged first.
Also, I have a dozen new tests for this module but can't commit them yet because this depends on MRs !488 (merged) and !491 (merged) which should be reviewed and merged first.