]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/reconstruction/gammas.f
Removal of PHOS specific version of shaker
[u/mrichter/AliRoot.git] / PHOS / reconstruction / gammas.f
1 *****************************************************************************
2
3       subroutine open_gamma_impulses_file
4      +                     (unit_number,file_name,open_status)
5 * open_status  = 1   - new
6 * open_status <> 1   - old
7         implicit none
8         integer unit_number, open_status, flag
9         character*(*) file_name
10
11         if( open_status.EQ.1 ) then
12           open(unit=unit_number,form='unformatted',name=file_name,
13      +         status='new',err=1,iostat=flag)
14         else
15           open(unit=unit_number,form='unformatted',name=file_name,
16      +         status='old',err=1,iostat=flag)
17         endif
18         return
19
20 1       write (*,*) 'Error in openning gammas file. flag=',flag
21         stop
22       end
23
24 *****************************************************************************
25
26       subroutine close_gamma_impulses_file(unit_number)
27         implicit none
28         integer unit_number
29         close(unit_number)
30       end
31
32 *****************************************************************************
33
34       subroutine save_gamma_impulse(unit_number,event_number,
35      +                              gammas_amount,gamma_impulse)
36         implicit none
37         integer unit_number
38         integer event_number
39         integer*2 event_number__high_bytes, event_number__low_bytes
40
41         integer gammas_amount, i,j
42         real gamma_impulse(3,*)
43
44         event_number__high_bytes = event_number/32767
45         event_number__low_bytes  = event_number -
46      +                             event_number__high_bytes*32767
47
48         write(unit_number,err=1),
49      +        event_number__high_bytes, event_number__low_bytes,
50      +        gammas_amount
51         write(unit_number,err=1),
52      +        ((gamma_impulse(i,j),i=1,3),j=1,gammas_amount)
53
54         return
55 1       stop 'Error in writing to gammas file.'
56       end
57
58 *****************************************************************************
59
60       subroutine read_gamma_impulse(unit_number,event_number,
61      +                              gammas_amount,gamma_impulse)
62         implicit none
63         integer gammas_amount, i,j, unit_number
64         integer event_number
65         integer*2 event_number__high_bytes, event_number__low_bytes
66         real gamma_impulse(3,*)
67
68         read(unit_number,err=1,end=2)
69      +        event_number__high_bytes, event_number__low_bytes,
70      +        gammas_amount
71         read(unit_number,err=1)
72      +        ((gamma_impulse(i,j),i=1,3),j=1,gammas_amount)
73
74         event_number = event_number__high_bytes
75         event_number = event_number*32767 + event_number__low_bytes
76
77         return
78
79 2       event_number = -1
80         return
81
82 1       stop 'Error in reading from gammas file.'
83       end
84
85 *****************************************************************************