|
Celeritas 0.7.0-dev.194+develop.0df4cab59
|
The result of a discrete optical interaction. More...
#include <Interaction.hh>
Public Types | |
| enum class | Action { scattered , absorbed , unchanged , failed } |
| Interaction result category. More... | |
Public Member Functions | |
| CELER_FUNCTION bool | changed () const |
| Whether the state changed but did not fail. | |
Static Public Member Functions | |
| static CELER_FUNCTION Interaction | from_absorption () |
| Return an interaction representing an absorbed process. | |
| static CELER_FUNCTION Interaction | from_unchanged () |
| Return an interaction with no change in the track state. | |
| static CELER_FUNCTION Interaction | from_failure () |
| Indicate a failure to allocate memory for secondaries. | |
Public Attributes | |
| Real3 | direction |
| Post-interaction direction. | |
| Real3 | polarization |
| Post-interaction polarization. | |
| Action | action {Action::scattered} |
| Flags for interaction result. | |
| WlsDistributionData | distribution |
| Data for generating WLS secondaries. | |
The result of a discrete optical interaction.
All optical interactions are discrete. The wavelength of a photon is only changed through absorption re-emission processes.
Interaction result category.
| Enumerator | |
|---|---|
| scattered | Still alive, state has changed. |
| absorbed | Absorbed by the material. |
| unchanged | No state change, no secondaries. |
| failed | Ran out of memory during sampling. |
|
inlinestatic |
Return an interaction representing an absorbed process.
Construct an interaction for an absorbed optical photon.
|
inlinestatic |
Return an interaction with no change in the track state.
Construct an interaction for edge cases where this is no state change.