QEDprocesses
Documentation for QEDprocesses.
QEDprocesses.ComptonQEDprocesses.ScatteringProcessQEDbase._averaging_normQEDbase.in_phase_space_dimensionQEDprocesses._base_component_typeQEDprocesses.isphysical
QEDprocesses.Compton — TypeCompton(
in_spin [= AllSpin()]
in_pol [= AllPol()]
out_spin [= AllSpin()]
out_pol [= AllPol()]
)QEDprocesses.ScatteringProcess — TypeScatteringProcess <: AbstractProcessDefinitionGeneric implementation for scattering processes of arbitrary particles. Currently, only calculations in combination with PerturbativeQED are supported. However, this is supposed to describe scattering processes with any number of incoming and outgoing particles, and any combination of spins or polarizations for the particles.
The isphysical function can be used to check whether the process is possible in perturbative QED.
Constructors
ScatteringProcess(
in_particles::Tuple{AbstractParticleType},
out_particles::Tuple{AbstractParticleType},
[in_sp::Tuple{AbstractSpinOrPolarization},
out_sp::Tuple{AbstractSpinOrPolarization}]
)Constructor for a ScatteringProcess with the given incoming and outgoing particles and their respective spins and pols. The constructor asserts that the particles are compatible with their respective spins and polarizations. If the assertion fails, an InvalidInputError is thrown.
The in_sp and out_sp parameters can be omitted in which case all spins and polarizations will be set to AllSpin and AllPol for every fermion and boson, respectively.
QEDbase._averaging_norm — Method_averaging_norm(::Type{<:Number}, proc::Compton)QEDbase.in_phase_space_dimension — Methodin_phase_space_dimension(proc::AbstractProcessDefinition, ::PerturbativeQED)Return the number of degrees of freedom to determine the incoming phase space for processes in PerturbativeQED.
QEDprocesses._base_component_type — Method_base_component_type(array_of_lv::AbstractArray{LV}) where {LV<:AbstractLorentzVector}Return the type of the components of given Lorentz vectors, which are by themselves elements of an AbstractArray.
Examples
julia> using QEDbase
julia> using QEDprocesses
julia> v = Vector{SFourMomentum}(undef,10)
julia> QEDprocesses._base_component_type(v)
Float64QEDprocesses.isphysical — Methodisphysical(proc::AbstractProcessDefinition, model::PerturbativeQED)A utility function that returns whether a given AbstractProcessDefinition is valid in tree-level perturbative QED, i.e., whether it has at least one tree-level Feynman diagram.