Reference
Contents
Index
XRTSProbing.AbstractAxisXRTSProbing.AbstractPhotonEnergyDistributionXRTSProbing.AbstractProcessSetupXRTSProbing.ElasticXRTSProbing.InElasticXRTSProbing.PhotonSphericalLayoutXRTSProbing.UniformAxisXRTSProbing._build_pspXRTSProbing._computeXRTSProbing.coordinate_boundariesXRTSProbing.degree_of_freedomXRTSProbing.is_elatic
XRTSProbing.AbstractAxis — Type
AbstractAxisAbstract base type to describe the axis of a vector, e.g. the k-vector of a photon. Mostly used for multiple dispatch.
XRTSProbing.AbstractPhotonEnergyDistribution — Type
AbstractPhotonEnergyDistributionAbstract base type for photon energy distributions. Subtypes of this type need to implement at least
energy_mean(dist::AbstractPhotonEnergyDistribution): return the mean energy modelled withdistenergy_width(dist::AbstractPhotonEnergyDistribution): return the energy width modelled withdistk_vec_axis(dist::AbstractPhotonEnergyDistribution): return the direction (subtype ofAbstractAxis) for the k-vector of the photons modelled withdist_energyweight(dist::AbstractPhotonEnergyDistribution,omega): return the weight ofdistfor given photon energyomega_randenergy(rng::AbstractRNG,dist::AbstractPhotonEnergyDistribution): return a random sample drawn fromdist
Optionally, one may implement the following function to overwrite the generic implementation:
QEDevents._weight(dist::AbstractPhotonEnergyDistribution,mom): return the total weight for a givenmomsuch that the sum over all possible moms results in unity.QEDevents._randmom(rng::AbstractRNG,dist::AbstractPhotonEnergyDistribution): return a randomly distributed four-momentum according todist
XRTSProbing.AbstractProcessSetup — Type
AbstractProcessSetup{P,M,PSL}Abstract base type for setups related to scattering processes with
P<:AbstractProcessDefinition,M<:AbstractModelDefinition,PSL<:AbstractPhaseSpaceLayout.
Interface function to be implemented:
QEDbase.process(stp::AbstractProcessSetup)::P,QEDbase.model(stp::AbstractProcessSetup)::M,QEDbase.phase_space_layout(stp::AbstractProcessSetup)::PSL,_compute(stp::AbstractProcessSetup, psp::AbstractPhaseSpacePoint)::Real.
Optionally, the following interface functions can be implemented:
_build_psp(stp::AbstractProcessSetup,coords::Tuple)::PSPdegree_of_freedom(stp::AbstractProcessSetup)::Int,coordinate_boundaries(stp::AbstractProcessSetup)::Tuple,
A leading underscore of an interface function means, there is no input validation necessary, because there is a generic implementation of the same function without the underscore, which does basic compiletime checks.
XRTSProbing.Elastic — Type
Elastic()Configuration type to ensure, that a given phase space layout describes elatic scattering. This means, the energy of the beam does not change during scattering.
XRTSProbing.InElastic — Type
InElastic()Configuration type to ensure, that a given phase space layout describes in-elatic scattering. This means, the energy of the beam does change accordingly during scattering.
XRTSProbing.PhotonSphericalLayout — Type
PhotonSphericalLayout()Represents the ps system with init electron at rest and the out photon described in spherical coordiantes, i.e. polar and azimuthal angle.
XRTSProbing.UniformAxis — Type
UniformAxis()Helper type to indicate a random direction for the respective photon.
XRTSProbing._build_psp — Function
_build_psp(stp::AbstractProcessSetup, coords::Tuple)XRTSProbing._compute — Function
_compute(stp::AbstractComputationSetup,input::Any)XRTSProbing.coordinate_boundaries — Function
coordinate_boundaries(stp::AbstractProcessSetup)XRTSProbing.degree_of_freedom — Function
degree_of_freedom(stp::AbstractProcessSetup)XRTSProbing.is_elatic — Function
is_elatic(::AbstractKinematicMode)Convenience function to check if a given AbstractKinematicMode describes elastic scattering.