`DISTRIBUTION, CUTOFFPZ = 0` does not imply cutoff infinity and produces infinite loop
Summary
The documentation of DISTRIBUTION, CUTOFFPZ = 0
mentions an infinity cutoff, but this is currently not true.
Steps to reproduce
set DISTRIBUTION, CUTOFFPZ = 0
What is the current bug behavior?
Infinite loop
What is the expected correct behavior?
According to the manual CUTOFFPZ
:
Defines cutoff in p_{z}
dimension in units of \sigma_{pz}
. If CUTOFFPZ
= 0
then actual cutoff is p_{z}
is set to infinity.
Possible fixes
The following line in Distribution.cpp should be changed for cutoffP_m[2] in a similar way as x and y:
allow = (xAndYOk && pxAndPyOk && std::abs(z) < cutoffR_m[2] && std::abs(pz) < cutoffP_m[2]);
Varia
For consistency I propose also to make CUTOFFLONG=0
an infinite cutoff.