]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/neutron/interp.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / neutron / interp.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:57 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/04 23/02/95 14.46.01 by S.Giani
11*-- Author :
12 SUBROUTINE INTERP(X,Y,X1,Y1,X2,Y2,INT)
13C THIS ROUTINE PERFORMS THE INTERPOLATION ACCORDING
14C TO THE ENDF/B INTERPOLATION SCHEME INT
15#include "geant321/minput.inc"
16 SAVE
17 IF(INT.LT.1.OR.INT.GT.5)GO TO 60
18 IF(X2.EQ.X1)GO TO 10
19 GO TO (10,20,30,40,50),INT
20 10 Y=Y1
21 RETURN
22 20 Y=Y1+(X-X1)*(Y2-Y1)/(X2-X1)
23 RETURN
24 30 IF(X1.EQ.0.0.OR.X2.EQ.0.0)GO TO 20
25 Y=Y1+ALOG(X/X1)*(Y2-Y1)/ALOG(X2/X1)
26 RETURN
27 40 IF(Y1.EQ.0.0.OR.Y2.EQ.0.0)GO TO 20
28 Y=Y1*EXP((X-X1)*ALOG(Y2/Y1)/(X2-X1))
29 RETURN
30 50 IF(Y1.EQ.0.0.OR.Y2.EQ.0.0)GO TO 30
31 IF(X1.EQ.0.0.OR.X2.EQ.0.0)GO TO 40
32 Y=Y1*EXP(ALOG(X/X1)*ALOG(Y2/Y1)/ALOG(X2/X1))
33 RETURN
34 60 WRITE(IOUT,10000)INT
3510000 FORMAT(' MICAP: INTERP-INVALID INTERPOLATION SCHEME',I11)
36 WRITE(6,*) ' CALOR: ERROR in INTERP ====> STOP '
37 STOP
38 END