TABLE OF CONTENTS
/Coll_Elastic [ Modules ]
PURPOSE
Implement a + b -> X elastic processes/reactions (for the HiEnergy part)
Coll_Elastic/DoColl_Elast [ Subroutines ]
[ Top ] [ Coll_Elastic ] [ Subroutines ]
NAME
subroutine DoColl_Elast(inPart,outPart,flagOK,sqrtS,pcm,beta,AngDist)
PURPOSE
Perform a collision of particles given in "inPart" with energy "sqrtS" and return outgoing particles in "outPart".
"pcm" and "beta" are vectors used for Boost and Rotation of the event.
if "flagOK" is false, no event happened, the output in "outPart" should be neglected!
Different angular (tSlope) distributions are possible:
- isotropic
- tSlope_Effenb(sqrts) --- pp elastic scattering parameterization from J. Cugnon et al., NPA 352, 505 (1981)
- tSlope_PYTHIA(sqrts, ID1, ID2) --- taken from PYTHIA model, see T. Falter et al., PRC 70, 054609 (2004)
INPUTS
- type(particle),dimension(:) :: inPart -- incoming particles
- real :: sqrtS -- energy of ollision
- real, dimension(0:3) :: pcm -- boost-vector
- real, dimension(1:3) :: beta -- boost vector
- integer, :: AngDist -- angular distribution
OUTPUT
- type(particle),dimension(:) :: outPart ! outgoing particles
- logical :: flagOK ! event okay ?
NOTES
cf. DoColl_Pythia
in order to understand the meaning of "pcm" and "beta": The (Pythia-)event is done in the restframe of the two given particles. Then a call to PYROBO according
phi = atan2(pcm(2),pcm(1)) theta = atan2(sqrt(pcm(1)**2+pcm(2)**2),pcm(3)) call PYROBO(1,N, theta,phi, beta(1),beta(2),beta(3))
is performed in order to transform the system into the desired (Lab-) system.