As we discussed offline, we should update the cross-section interface to use the phase space point introduced in #51. This will change the signature of all interface functions.
This can be seen as an extension of #46 .
Suggested interface
The new interface could look like this: (PSP == PhaseSpacePoint)
The input validation can be dropped, because this is checked on the construction of the PSP.
Further changes
Following the suggestions in #46, one could drop the support of vectors of vectors of four-momenta in the form of a matrix but use Julia's broadcasting instead, e.g.
Consequently, we could fully drop the support for the five-argument versions (e.g. differential_cross_section(proc, model, ps_def, in_ps, out_ps)) of the probabilities and cross sections in favor of the PSP.
As we discussed offline, we should update the cross-section interface to use the phase space point introduced in #51. This will change the signature of all interface functions.
This can be seen as an extension of #46 .
Suggested interface
The new interface could look like this: (
PSP == PhaseSpacePoint
)If these functions are implemented, the following functions are built up using the interface:
The input validation can be dropped, because this is checked on the construction of the PSP.
Further changes
Following the suggestions in #46, one could drop the support of vectors of vectors of four-momenta in the form of a matrix but use Julia's broadcasting instead, e.g.
Consequently, we could fully drop the support for the five-argument versions (e.g.
differential_cross_section(proc, model, ps_def, in_ps, out_ps)
) of the probabilities and cross sections in favor of the PSP.