Names changed in order to avoid clash with FLUKA
[u/mrichter/AliRoot.git] / EVGEN / PartEloss / readca3.f
1       SUBROUTINE ELOSS_READCA3
2       REAL*8           xx(400), da(30), ca(30,260), rrr(30)
3       COMMON /data/    xx, da, ca, rrr
4 *
5       CHARACTER*100 CHROOT  
6       CHARACTER*100 FILNAM
7       LOGICAL EXISTS
8       CHROOT=' '
9       CALL GETENVF('ALICE_ROOT',CHROOT)
10       LNROOT = LNBLNK(CHROOT)
11
12       IF(LNROOT.LE.0) THEN
13          FILNAM='DATAcca3.dat'
14       ELSE
15          FILNAM=CHROOT(1:LNROOT)//'/FAST/eloss/DATAcca3.dat'
16       ENDIF
17
18       OPEN(UNIT=20,FILE=FILNAM,STATUS='OLD',ERR=90)
19       nn = 1
20  100  read (20,*,end=110) xx(nn), ca(1,nn), ca(2,nn), ca(3,nn),
21      +     ca(4,nn), ca(5,nn), ca(6,nn), ca(7,nn), ca(8,nn),
22      +     ca(9,nn), ca(10,nn), ca(11,nn), ca(12,nn), ca(13,nn),
23      +     ca(14,nn), ca(15,nn), ca(16,nn), ca(17,nn), ca(18,nn),
24      +     ca(19,nn), ca(20,nn), ca(21,nn), ca(22,nn), ca(23,nn),
25      +     ca(24,nn), ca(25,nn), ca(26,nn), ca(27,nn), ca(28,nn),
26      +     ca(29,nn), ca(30,nn)
27 *         print*, 0.005*(nn-1), ca(1,nn), ca(2,nn), ca(3,nn),
28 *     +     ca(4,nn), ca(5,nn), ca(6,nn), ca(7,nn), ca(8,nn),
29 *     +     ca(9,nn), ca(10,nn), ca(11,nn), ca(12,nn), ca(13,nn),
30 *     +     ca(14,nn), ca(15,nn), ca(16,nn), ca(17,nn), ca(18,nn),
31 *     +     ca(19,nn), ca(20,nn), ca(21,nn), ca(22,nn), ca(23,nn),
32 *     +     ca(24,nn), ca(25,nn), ca(26,nn), ca(27,nn), ca(28,nn),
33 *     +     ca(29,nn), ca(30,nn)
34          nn = nn + 1
35          goto 100
36  110     continue
37       close(20)
38 *
39       IF(LNROOT.LE.0) THEN
40          FILNAM='DATAdca3.dat'
41       ELSE
42          FILNAM=CHROOT(1:LNROOT)//'/FAST/eloss/DATAdca3.dat'
43       ENDIF
44
45       OPEN(UNIT=21,FILE=FILNAM,STATUS='OLD',ERR=90)
46       nn = 1
47  101  read (21,*,end=111) rrr(nn), da(nn)
48 *         print*, rrr(nn), da(nn)
49          nn = nn + 1
50          goto 101
51  111     continue
52       close(21)
53 *
54       goto 888
55  90   PRINT*, 'input - output error'
56  888  continue
57       RETURN 
58       END
59
60
61
62
63
64
65
66
67
68
69