From 2dbe854363a0db3ddc51f6764a6977c264f07c37 Mon Sep 17 00:00:00 2001 From: Anton Reinhard Date: Tue, 13 Aug 2024 16:08:48 +0200 Subject: [PATCH] Implement incoming/outgoing spins/pols correctly Use multiplicity in averaging_norm of Compton --- .../one_photon_compton/perturbative/cross_section.jl | 3 +-- src/processes/one_photon_compton/process.jl | 12 ++++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/processes/one_photon_compton/perturbative/cross_section.jl b/src/processes/one_photon_compton/perturbative/cross_section.jl index e86322f..ead1f28 100644 --- a/src/processes/one_photon_compton/perturbative/cross_section.jl +++ b/src/processes/one_photon_compton/perturbative/cross_section.jl @@ -21,8 +21,7 @@ end We average over the initial spins and pols, and sum over final. """ function QEDbase._averaging_norm(proc::Compton) - normalizations = multiplicity.(_in_spin_and_pol(proc)) - return inv(prod(normalizations)) + return inv(incoming_multiplicity(proc)) end @inline function _all_onshell(psp::PhaseSpacePoint{<:Compton}) diff --git a/src/processes/one_photon_compton/process.jl b/src/processes/one_photon_compton/process.jl index 6caa813..4dfa31d 100644 --- a/src/processes/one_photon_compton/process.jl +++ b/src/processes/one_photon_compton/process.jl @@ -36,14 +36,22 @@ _spins(proc::Compton) = (proc.in_spin, proc.out_spin) _in_spin_and_pol(proc::Compton) = (proc.in_spin, proc.in_pol) _out_spin_and_pol(proc::Compton) = (proc.out_spin, proc.out_pol) -function QEDprocesses.incoming_particles(::Compton) +function QEDbase.incoming_particles(::Compton) return (Electron(), Photon()) end -function QEDprocesses.outgoing_particles(::Compton) +function QEDbase.outgoing_particles(::Compton) return (Electron(), Photon()) end +function QEDbase.incoming_spin_pols(proc::Compton) + return (proc.in_spin, proc.in_pol) +end + +function QEDbase.outgoing_spin_pols(proc::Compton) + return (proc.out_spin, proc.out_pol) +end + function _spin_or_pol(process::Compton, ::Electron, ::Incoming) return process.in_spin end