5 * Revision 1.1.1.1 1995/10/24 10:21:58 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.48 by S.Giani
12 SUBROUTINE N2NN3N(D,LD,AWR,KZ,ID,FM,Q,IFLG)
13 C THIS ROUTINE CALCULATES THE DIRECTIONAL COSINES FOR THE
14 C NEUTRON AND RECOIL NUCLEUS FOR AN N2N OR N3N REACTION
15 C USING THE ONE NEUTRON EMMISION MODEL. IT ALSO SETS ALL
16 C EXIT PARAMETRS FOR THE RECOIL NUCLEUS.
17 #include "geant321/minput.inc"
18 #include "geant321/mconst.inc"
19 #include "geant321/mnutrn.inc"
20 #include "geant321/mrecoi.inc"
21 #include "geant321/mapoll.inc"
22 #include "geant321/mmass.inc"
23 #include "geant321/mpstor.inc"
24 DIMENSION D(*),LD(*),FM(*)
30 C IFLG EQUAL TO ONE IMPLIES THE DIRECTION COSINES WERE
31 C SELECTED ISOTROPICALLY IN THE LABORATORY COORDINATE SYSTEM
32 C CALCULATE THE NEUTRON EXIT DIRECTIONAL COSINES
40 SINPSI=SQRT(1.0-FM(KN)**2)
41 CALL AZIRN(SINETA,COSETA)
44 10 STHETA=SQRT(STHETA)
51 30 UP = UOLD*FM(KN)-COSETA*SINPSI*STHETA
52 VP = VOLD*FM(KN)+UOLD*COSPHI*COSETA*SINPSI-SINPHI* SINPSI*
54 WP = WOLD*FM(KN)+UOLD*SINPHI*COSETA*SINPSI+COSPHI* SINPSI*
56 S=1.0/SQRT(UP*UP+VP*VP+WP*WP)
62 C use ONLY first neutron for recoil calculation in order the ensure
63 C correct energy spectrum of recoil nucleus
65 PP = SQRT(EP**2 + 2.0*EP*ZN)
72 CALL STOPAR(IDNEU,NNEU)
74 C CALCULATE AND SET THE RECOIL NUCLEUS EXIT PARAMETERS
86 AR = (AWR*AN) - FLOAT(INEU-1)*AN
98 C CALCULATE THE NEUTRON MOMENTUM BEFORE AND AFTER COLLISION
99 C NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM
101 C CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS
108 C CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS
109 PR=SQRT(PRX**2+PRY**2+PRZ**2)
110 C CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES
117 C CALCULATE THE RECOIL NUCLEUS EXIT ENERGY
119 ER= SQRT(PR**2 + XM**2) - XM
122 C IF MT=24, DO NOT STORE THE RECOIL HEAVY ION IN THE BANK
124 C STORE THE RECOIL HEAVY ION IN THE RECOIL BANK
125 CALL STOPAR(IDHEVY,NHEVY)