RayleighProcess
This class provides access to the implementation of the Rayleigh scattering process, as detailed in [BSFS95].
Warning
All methods described below are defined at the class level.
Constructor
Methods
- RayleighProcess.cross_section(energy, material)
Computes the total cross-section for Rayleigh scattering of a photon with a specified energy (in MeV) on an atom of a given material. The energy can be a
floator anumpy.ndarrayof floats. The material must be consistent with a MaterialDefinition. For instance,>>> goupil.RayleighProcess.cross_section(0.1, "H2O") 1.600...e-25
- RayleighProcess.dcs(energy, cos_theta, material)
Computes the differential cross-section (DCS) for Rayleigh scattering of a photon on an atom of a given material. The input parameters are the photon energy (in MeV) and the cosine of the scattering angle (cos_theta), which can be a single
floator anumpy.ndarrayof floats. The material must be consistent with a MaterialDefinition.
- RayleighProcess.sample(energy, material, rng=None)
This function generates random Rayleigh collisions. The photon energy, in MeV, can be a
floator anumpy.ndarray. The target material must be consistent with a MaterialDefinition. The output is the cosine of the scattering angle(s). It is also possible to provide a specific RandomStream (rng) as an option.