Skip to content

Commit 3660d29

Browse files
author
Uwe Hernandez Acosta
committed
added generic fallback for coordinate-based phasespace check
1 parent 035a101 commit 3660d29

File tree

3 files changed

+25
-23
lines changed

3 files changed

+25
-23
lines changed

src/QEDprocesses.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ using DocStringExtensions
3131
using QEDbase
3232

3333
include("utils.jl")
34+
include("phase_spaces.jl")
3435
include("interfaces/model_interface.jl")
3536
include("interfaces/process_interface.jl")
3637
include("interfaces/setup_interface.jl")
3738
include("propagators.jl")
38-
include("phase_spaces.jl")
3939
include("probabilities.jl")
4040
include("cross_sections.jl")
4141
end

src/interfaces/process_interface.jl

+23
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,29 @@ function _averaging_norm end
137137
"""
138138
function _is_in_phasespace end
139139

140+
"""
141+
142+
Fallback for cooridinate-based phasespace check. This function should be implemented for special cases if available.
143+
"""
144+
function _is_in_phasespace(
145+
proc::AbstractProcessDefinition,
146+
model::AbstractModelDefinition,
147+
in_phase_space_def::AbstractPhasespaceDefinition,
148+
in_phase_space::AbstractVector{T},
149+
out_phase_space_def::AbstractPhasespaceDefinition,
150+
out_phase_space::AbstractVector{T}
151+
) where {T<:Real}
152+
in_momenta, out_momenta = _generate_momenta(
153+
proc,
154+
model,
155+
in_phase_space_def,
156+
in_phase_space,
157+
out_phase_space_def,
158+
out_phase_space,
159+
)
160+
return _is_in_phasespace(proc,model,in_phase_space_def,in_phase_space,out_phase_space_def,out_phase_space)
161+
end
162+
140163
"""
141164
_phase_space_factor(
142165
proc::AbstractProcessDefinition,

src/probabilities.jl

+1-22
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ function _probability(
166166
in_phase_space::AbstractVector{T},
167167
out_phase_space_def::AbstractPhasespaceDefinition,
168168
out_phase_space::AbstractVector{T},
169-
) where {T<:QEDbase.AbstractFourMomentum}
169+
) where {T<:AbstractPhasespaceElement}
170170
if !_is_in_phasespace(
171171
proc,
172172
model,
@@ -188,27 +188,6 @@ function _probability(
188188
)
189189
end
190190

191-
function _probability(
192-
proc::AbstractProcessDefinition,
193-
model::AbstractModelDefinition,
194-
in_phase_space_def::AbstractPhasespaceDefinition,
195-
in_phase_space::AbstractVector{T},
196-
out_phase_space_def::AbstractPhasespaceDefinition,
197-
out_phase_space::AbstractVector{T},
198-
) where {T<:Real}
199-
in_momenta, out_momenta = _generate_momenta(
200-
proc,
201-
model,
202-
in_phase_space_def,
203-
in_phase_space,
204-
out_phase_space_def,
205-
out_phase_space,
206-
)
207-
return _probability(
208-
proc, model, in_phase_space_def, in_momenta, out_phase_space_def, out_momenta
209-
)
210-
end
211-
212191
function _probability(
213192
proc::AbstractProcessDefinition,
214193
model::AbstractModelDefinition,

0 commit comments

Comments
 (0)