This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / neutron / getnu.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:56  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.48  by  S.Giani
11 *-- Author :
12       SUBROUTINE GETNU(D,LD,E,LEN,XNU)
13 C       THIS ROUTINE SELECTS THE AVERAGE NUMBER OF NEUTRONS
14 C       BORN FROM A FISSION REACTION (I.E. NU-BAR)
15 #include "geant321/minput.inc"
16       DIMENSION D(*),LD(*),C(4)
17       SAVE
18       IP=1
19       XNU=0.0
20       LNU=LD(IP)
21       IP=IP+1
22       IF(LNU.NE.1)GO TO 30
23 C       POLYNOMIAL REPRESENTATION USED TO SPECIFY NU-BAR
24 C       INITIALIZE THE POLYNOMIAL COEFFICIENTS TO ZERO
25       DO 10 I=1,4
26          C(I)=0.0
27    10 CONTINUE
28       NC=LD(IP)
29       DO 20 I=1,NC
30          C(I)=D(IP+I)
31    20 CONTINUE
32 C       CALCULATE NU-BAR USING POLYNOMIAL COEFFICIENTS
33       XNU=C(1)+C(2)*E+C(3)*(E**2)+C(4)*(E**3)
34       RETURN
35 C       TABULATED DATA USED TO SPECIFY NU-BAR
36 C       CURRENT ENDF/B DATA (VERSION V) ALLOWS ONLY ONE
37 C       INTERPOLATION RANGE (NR) AND ONLY LINEAR-LINEAR
38 C       INTERPOLABLE DATA (INT=2)
39    30 IF(LNU.NE.2)GO TO 40
40       NR=LD(IP)
41       NP=LD(IP+1)
42       IP=IP+2*NR+2
43 C       SELECT NU-BAR FROM THE TABULATED DATA
44 C       LINEAR-LINEAR INTERPOLATION IS ASSUMED AT THIS POINT
45       CALL TBSPLT(D(IP),E,NP,XNU)
46       RETURN
47    40 WRITE(IOUT,10000)LNU
48 10000 FORMAT(' MICAP: ERROR IN ROUTINE GETNU; LNU=',I3)
49       WRITE(6,*) ' CALOR: ERROR in GETNU ====> STOP'
50       STOP
51       END