5 * Revision 1.1.1.1 1995/10/24 10:20:04 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
15 *=== nuprel ===========================================================*
17 SUBROUTINE NUPREL(KPROJ,EKIN,PLAB,CTX,CTY,CTZ)
19 #include "geant321/dblprc.inc"
20 #include "geant321/dimpar.inc"
21 #include "geant321/iounit.inc"
23 C Last change on 16 september 1991 by Alfredo Ferrari
27 C NUCLEON-PROTON ELASTIC SCATTERING EVENTS
28 C PARAMETRIZATION FOR COS(THETA) SAMPLING
29 C FROM HETKFA2 / CLOTH VERSION
31 C ( Now also antiproton, antineutron - proton scattering )
32 C-------------------------------------------------------------------
34 #include "geant321/paprop.inc"
35 #include "geant321/finuc.inc"
42 S=AMT2 + AMP2 + 2.D0*AMT*ELAB
46 ECMP=(S + AMP2 - AMT2)*0.5D0/WS
47 PCM=SQRT((ECMP + AMP)*(ECMP - AMP))
49 * +-------------------------------------------------------------------*
50 * | Horrible patch for ap, an
51 IF ( KPROJ .EQ. 2 ) THEN
54 * +-------------------------------------------------------------------*
56 ELSE IF ( KPROJ .EQ. 9 ) THEN
59 * +-------------------------------------------------------------------*
65 * +-------------------------------------------------------------------*
67 CALL SAMCST(KSAMC,EKIN,CST)
70 EPF=GAM*ECMP + BGAM*PCPL
71 PPLF=BGAM*ECMP + GAM*PCPL
72 ETF=GAM*ECMT - BGAM*PCPL
73 PTLF=BGAM*ECMT - GAM*PCPL
75 PPF=SQRT((EPF+AMP)*(EPF-AMP))
77 STPR=SQRT((1.D0-CTPR)*(1.D0+CTPR))
78 PTF=SQRT((ETF+AMT)*(ETF-AMT))
80 STTA=SQRT((1.D0-CTTA)*(1.D0+CTTA))
83 CALL TTRANS(CTX,CTY,CTZ,CTPR,STPR,SFE,CFE,CXR(1),CYR(1),CZR(1))
86 CALL TTRANS(CTX,CTY,CTZ,CTTA,STTA,SFE,CFE,CXR(2),CYR(2),CZR(2))