]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/mathlib/gen/v/rnpssn.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / v / rnpssn.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1996/04/01 15:02:56  mclareni
6 * Mathlib gen
7 *
8 *
9 #include "gen/pilot.h"
10       SUBROUTINE RNPSSN(AMU,N,IERR)
11       EXTERNAL RANLUX
12  
13       SAVE EMU,AMU0,AMAX
14  
15       DATA AMU0 /-12345.67/, AMAX /88/
16       PARAMETER (AMXA = 88)
17  
18       IERR=0
19       IF(AMU .LE. 0) THEN
20        IERR=1
21        J=0
22       ELSEIF(AMU .GT. AMAX) THEN
23        CALL RNORMX(R,1,RANLUX)
24        J=R*SQRT(AMU)+AMU+0.5
25       ELSE
26        IF(AMU .NE. AMU0) THEN
27         AMU0=AMU
28         EMU=EXP(-AMU)
29        ENDIF
30        P=1
31        J=-1
32     1  J=J+1
33        CALL RANLUX(R,1)
34        P=P*R
35        IF(P .GT. EMU) GO TO 1
36       ENDIF
37       N=J
38       RETURN
39  
40       ENTRY RNPSET(AMX)
41       AMAX=MIN(AMX,AMXA)
42       WRITE(6,'(/7X,''+++++ CERN V136 RNPSSN :  SWITCH TO '',
43      1 ''NORMAL APPROXIMATION FOR      AMU > '',F7.2/)') AMAX
44       RETURN
45       END