]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/mathlib/gen/v/rnpssn.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / mathlib / gen / v / rnpssn.F
CommitLineData
fe4da5cc 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