EM Cascades¶
EM_Cascade ¶
Electromagnetic cascade light yield calculator.
Calculates Cherenkov light production from electromagnetic showers using the Aachen parametrization. Handles electron, positron, and photon-initiated cascades with longitudinal development profiles.
Attributes:
| Name | Type | Description |
|---|---|---|
_medium |
dict
|
Medium properties dictionary |
_n |
float
|
Refractive index |
_radlength |
float
|
Radiation length in g/cm² |
_Lrad |
float
|
Radiation length in cm |
_params |
dict
|
Parametrization coefficients |
cherenkov_angle_distro |
Callable
|
Angular distribution calculator |
track_lengths |
Callable
|
Track length calculator |
long_profile |
Callable
|
Longitudinal profile calculator |
Examples:
>>> from fennel.em_cascades import EM_Cascade
>>> em = EM_Cascade()
>>> track_len, track_dev = em.track_lengths(100.0, particle=11)
>>> z_grid = np.linspace(0, 1000, 100)
>>> profile = em.long_profile(100.0, z_grid, particle=11)
Notes
- Parametrization based on GEANT4 simulations
- Accounts for shower fluctuations
- Supports both NumPy and JAX backends
Initialize the EM cascade calculator.
Loads parametrization data and configures calculation methods based on JAX availability.
Raises:
| Type | Description |
|---|---|
ValueError
|
If parametrization is not implemented |
ImportError
|
If JAX mode enabled but not installed |