Skip to content

PropagatedCharge: Introduce CarrierState

Simon Spannagel requested to merge status_bit into master

The carrier state indicates the fate of the charge carrier at its end point (i.e. as created and shipped in the respective message:

  • CarrierState::UNKNOWN - The final state of the charge carrier is not know or provided by the algorithm
  • CarrierState::MOTION - The propagated charge carrier is in motion
  • CarrierState::RECOMBINED - The propagated charge carrier has recombined with the lattice
  • CarrierState::TRAPPED - The propagated charge carrier is trapped temporarily
  • CarrierState::HALTED - The charge carrier has been stopped because it for example reached the sensor surface or an implant

Could be interesting information, so let's store it?

Right now, only MOTION and RECOMBINED are set in Generic & Transient, and only MOTION in Projection since no recombination is supported there. To be extended with TRAPPING once implemented.

When reaching the end of the integration window, charge carriers are marked as MOTION anyway - because they still are going strong.

Are we missing more states?

(Side note: code envisaged via InducedTransfer works already with current release, since all carriers are returned (not skipped) and the module loops over all, regardless of their position.

Edited by Simon Spannagel

Merge request reports