Adding magnetic field models to the environment
We need to incorporate an interface for including various magnetic field models in the C8 environment (separate from the propagation of particles in the field).
I think the key components are probably:
-
Definition of a compile-time interface for magnetic field models (probably something like GetField(Point const&) -> MagneticFieldVector
where theMagneticFieldVector
is a unitful QuantityVector with magnetic field units. -
The simplest concrete implementation is probably a UniformMagneticField
that returns a fixed vector at all locations in the environment - this will probably be sufficient for many experiments. -
In the longer term, I think we need a interface to the IGRF-13 magnetic field model. This model is implemented as a one Fortran file with a very permissive license so we can directly include it in C8 and provide a wrapper. This is required to accurately simulate EASs for high-altitude detectors like PUEO, POEMMA, etc.
Edited by Ralf Ulrich