/[PAMELA software]/yoda/techmodel/forroutines/tracker/readraw/trkunpack.f
ViewVC logotype

Diff of /yoda/techmodel/forroutines/tracker/readraw/trkunpack.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by kusanagi, Tue Jul 6 12:20:23 2004 UTC revision 1.4 by kusanagi, Fri Aug 20 15:01:49 2004 UTC
# Line 8  c      include '../commonyoda/trk_calib_ Line 8  c      include '../commonyoda/trk_calib_
8    
9        integer ndummy        integer ndummy
10        data ndummy/1000/        data ndummy/1000/
11                integer lun_pkt
12          parameter (lun_pkt=10)
13        integer runerror          !readevent error flag        integer runerror          !readevent error flag
14        integer ffd_pkt           !pkt file descriptor        integer ffd_pkt           !pkt file descriptor
15                                  !(file temporaneo)                                      !(file temporaneo)    
# Line 30  c      print*,'  lun_pkt-----',int(lun_p Line 31  c      print*,'  lun_pkt-----',int(lun_p
31  c         if(runerror.eq.-1) goto 24  c         if(runerror.eq.-1) goto 24
32           if(runerror.eq.-1) goto 2222           if(runerror.eq.-1) goto 2222
33           if(runerror.eq.1) then                             if(runerror.eq.1) then                  
34              print*,' '  c            print*,' '
35              print*,'readraw: END OF CPU PACKET '  c            print*,'readraw: END OF CPU PACKET '
36              print*,'______________________________________ '  c            print*,'______________________________________ '
37  c     goto 9900  !end loop on files  c     goto 9900  !end loop on files
38  c            goto 8800           !end loop on views (DSP pkt)  c            goto 8800           !end loop on views (DSP pkt)
39              goto 2222              goto 2222
40           endif           endif
41                    
42           if(checkheader.ne.2) then           if(checkheader.ne.2) then
43              print*,'>>>> ERROR <<<< (trkeventpkt)'  c            print*,'>>>> ERROR <<<< (trkeventpkt)'
44              print*,'>>>> CPU packet type ',!pkt_type,  c            print*,'>>>> CPU packet type ',!pkt_type,
45       $           ' does not match DSP type ',checkheader  c     $           ' does not match DSP type ',checkheader
46  c     goto 9909  ! next event (==> search another CPU header)  c     goto 9909  ! next event (==> search another CPU header)
47              DAQmode_temp = ishft(iand(header(1),z'03f0'),-4)              DAQmode_temp = ishft(iand(header(1),z'03f0'),-4)
48              DSPnumber_temp = iand(header(1),z'000f')              DSPnumber_temp = iand(header(1),z'000f')
49              print*,'  -----------------------------------'  c            print*,'  -----------------------------------'
50       $           ,iview  c     $           ,iview
51              print*,'  DSP number-----',int(DSPnumber_temp)  c            print*,'  DSP number-----',int(DSPnumber_temp)
52              print*,'  DAQ mode-------',int(DAQmode_temp)  c            print*,'  DAQ mode-------',int(DAQmode_temp)
53              print*,'  -----------------------------------'  c            print*,'  -----------------------------------'
54              goto 2525           !next view (==> search another DSP header)              goto 2525           !next view (==> search another DSP header)
55           endif           endif
56                    
# Line 59  c         if(runerror.eq.-1) goto 24 Line 60  c         if(runerror.eq.-1) goto 24
60  c         if(runerror.eq.1) goto 23  c         if(runerror.eq.1) goto 23
61           if(runerror.eq.1) goto 2222           if(runerror.eq.1) goto 2222
62                                                        
63           print*,'  '  c         print*,'  '
64           print*,'  -----------------------------------',iview  c         print*,'  -----------------------------------',iview
65           print*,'  DSP number-----',DSPnumber_dat  c         print*,'  DSP number-----',DSPnumber_dat
66           print*,'  DAQ mode-------',DAQmode_dat  c         print*,'  DAQ mode-------',DAQmode_dat
67           print*,'  event number   ',eventn_dat  c         print*,'  event number   ',eventn_dat
68                    
69           trk_DSP_ok(DSPnumber_dat)=1           trk_DSP_ok(DSPnumber_dat)=1
70                                        
# Line 108  c      subroutine trk_calib_pkt(runerror Line 109  c      subroutine trk_calib_pkt(runerror
109  c         if(runerror.eq.-1) goto 24  c         if(runerror.eq.-1) goto 24
110           if(runerror.eq.-1) goto 2222           if(runerror.eq.-1) goto 2222
111           if(runerror.eq.1) then                             if(runerror.eq.1) then                  
112              print*,' '  c            print*,' '
113              print*,'readraw: END OF CPU PACKET '  c            print*,'readraw: END OF CPU PACKET '
114              print*,'______________________________________ '  c            print*,'______________________________________ '
115              goto 2222           !end loop on views (DSP pkt)              goto 2222           !end loop on views (DSP pkt)
116           endif           endif
117           if(checkheader.ne.3) then           if(checkheader.ne.3) then
118              print*,'>>>> ERROR <<<< (trkcalibpkt)'  c            print*,'>>>> ERROR <<<< (trkcalibpkt)'
119              print*,'>>>> CPU packet type ',!pkt_type,  c            print*,'>>>> CPU packet type ',!pkt_type,
120       $           ' does not match DSP type ',checkheader  c     $           ' does not match DSP type ',checkheader
121              DAQmode_temp = ishft(iand(header(1),z'03f0'),-4)              DAQmode_temp = ishft(iand(header(1),z'03f0'),-4)
122              DSPnumber_temp = iand(header(1),z'000f')              DSPnumber_temp = iand(header(1),z'000f')
123              print*,'  -----------------------------------'  c            print*,'  -----------------------------------'
124       $           ,iview  c     $           ,iview
125              print*,'  DSP number-----',int(DSPnumber_temp)  c            print*,'  DSP number-----',int(DSPnumber_temp)
126              print*,'  DAQ mode-------',int(DAQmode_temp)  c            print*,'  DAQ mode-------',int(DAQmode_temp)
127              print*,'  -----------------------------------'  c            print*,'  -----------------------------------'
128              goto 2424           !next view (==> search another DSP header)              goto 2424           !next view (==> search another DSP header)
129           endif                               endif                    
130                    
# Line 134  c         if(runerror.eq.1) goto 23 Line 135  c         if(runerror.eq.1) goto 23
135           if(runerror.eq.1) goto 2222           if(runerror.eq.1) goto 2222
136                                        
137                    
138           print*,'Calibration packet ==> ',iview  c         print*,'Calibration packet ==> ',iview
139                    
140           print*,'---- Calibration packet ',iview,' ----'  c         print*,'---- Calibration packet ',iview,' ----'
141           print*,'  DSP number       ',DSPnumber_cal  c         print*,'  DSP number       ',DSPnumber_cal
142           print*,'  DAQ mode         ',DAQmode_cal  c         print*,'  DAQ mode         ',DAQmode_cal
143           print*,'  calibration run  ',calibrationnumber  c         print*,'  calibration run  ',calibrationnumber
144           print*,'  n. event used    ',nused_event  c         print*,'  n. event used    ',nused_event
145           print*,'  <PED> ladder 1   ',ped_1  c         print*,'  <PED> ladder 1   ',ped_1
146           print*,'  <PED> ladder 2   ',ped_2  c         print*,'  <PED> ladder 2   ',ped_2
147           print*,'  <PED> ladder 3   ',ped_3  c         print*,'  <PED> ladder 3   ',ped_3
148           print*,'  <SIG> ladder 1   ',sig_1  c         print*,'  <SIG> ladder 1   ',sig_1
149           print*,'  <SIG> ladder 2   ',sig_2  c         print*,'  <SIG> ladder 2   ',sig_2
150           print*,'  <SIG> ladder 3   ',sig_3  c         print*,'  <SIG> ladder 3   ',sig_3
151           print*,'  n.BAD ladder 1   ',nbad_1  c         print*,'  n.BAD ladder 1   ',nbad_1
152           print*,'  n.BAD ladder 2   ',nbad_2        c         print*,'  n.BAD ladder 2   ',nbad_2      
153           print*,'  n.BAD ladder 3   ',nbad_3  c         print*,'  n.BAD ladder 3   ',nbad_3
154           print*,'  error flag       ',ff  c         print*,'  error flag       ',ff
155           if(nused_event.ne.0.or.ff.ne.0)then           if(nused_event.ne.0.or.ff.ne.0)then
156              print*,'*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*'  c            print*,'*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*'
157              print*,'*     !!! CALIBRATION FAILURE !!!     *'  c            print*,'*     !!! CALIBRATION FAILURE !!!     *'
158              print*,'*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*'  c            print*,'*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*'
159           endif           endif
160    
161    
# Line 505  c$$$      enddo Line 506  c$$$      enddo
506        bid_dat = bid_dat_sum/7        bid_dat = bid_dat_sum/7
507    
508        if (bid_dat.ne.1.and.bid_dat.ne.2) then        if (bid_dat.ne.1.and.bid_dat.ne.2) then
509        write(*,*) '*** *** *** *** *** *** *** *** *** ***'  c      write(*,*) '*** *** *** *** *** *** *** *** *** ***'
510        write (*,*) 'unpack_data: TRAILER PACKET CORRUPTED'  c      write (*,*) 'unpack_data: TRAILER PACKET CORRUPTED'
511        write(*,*) '*** *** *** *** *** *** *** *** *** ***'  c      write(*,*) '*** *** *** *** *** *** *** *** *** ***'
512        endif        endif
513        if (mod(bid_dat_sum,7).ne.0) then        if (mod(bid_dat_sum,7).ne.0) then
514           bid_dat = 0           bid_dat = 0
515           write(*,*) '*** *** *** *** *** *** *** *** *** ***'  c         write(*,*) '*** *** *** *** *** *** *** *** *** ***'
516           write (*,*) 'unpack_data: TRAILER PACKET CORRUPTED'  c         write (*,*) 'unpack_data: TRAILER PACKET CORRUPTED'
517           write(*,*) '*** *** *** *** *** *** *** *** *** ***'  c         write(*,*) '*** *** *** *** *** *** *** *** *** ***'
518        endif        endif
519                
520        if (alarm_dat.eq.3) then        if (alarm_dat.eq.3) then
521           write(*,*) '*** *** *** *** *** *** *** *** *** ***'  c         write(*,*) '*** *** *** *** *** *** *** *** *** ***'
522           write(*,*) 'unpack_data: AQUISITION ALARM'  c         write(*,*) 'unpack_data: AQUISITION ALARM'
523           write(*,*) '*** *** *** *** *** *** *** *** *** ***'          c         write(*,*) '*** *** *** *** *** *** *** *** *** ***'        
524    
525        endif        endif
526                
527           if (alarm_dat.ne.3.and.alarm_dat.ne.0) then           if (alarm_dat.ne.3.and.alarm_dat.ne.0) then
528           write(*,*) '*** *** *** *** *** *** *** *** *** ***'  c         write(*,*) '*** *** *** *** *** *** *** *** *** ***'
529           write(*,*) 'unpack_data: TRAILER PACKET CORRUPTED'  c         write(*,*) 'unpack_data: TRAILER PACKET CORRUPTED'
530           write(*,*) '*** *** *** *** *** *** *** *** *** ***'          c         write(*,*) '*** *** *** *** *** *** *** *** *** ***'        
531    
532        endif        endif
533    
# Line 631  c     ---------------------------------- Line 632  c     ----------------------------------
632        alarm(i)= alarm_dat        alarm(i)= alarm_dat
633        aswr(i) = aswr_dat        aswr(i) = aswr_dat
634    
635        print*,'*-*-*-*-*-*-TRAILER-*-*-*-*-*-*'  c      print*,'*-*-*-*-*-*-TRAILER-*-*-*-*-*-*'
636        print*,'*  PNUM   (periferal num) ',pnum_dat  c      print*,'*  PNUM   (periferal num) ',pnum_dat
637        print*,'*  CMDNUM (command)       ',cmdnum_dat  c      print*,'*  CMDNUM (command)       ',cmdnum_dat
638        print*,'*  BID    (board id)      ',bid_dat  c      print*,'*  BID    (board id)      ',bid_dat
639        print*,'*  ALARM                  ',alarm_dat  c      print*,'*  ALARM                  ',alarm_dat
640        print*,'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'  c      print*,'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
641    
642        do idat=1,datalength_dat          do idat=1,datalength_dat  
643           id =  TOTDATAlength + idat           id =  TOTDATAlength + idat
644           datatracker(id) = b_tra(idat)           datatracker(id) = b_tra(idat)
645        enddo        enddo
646        TOTDATAlength = TOTDATAlength + datalength_dat        TOTDATAlength = TOTDATAlength + datalength_dat
647          
648        return        return
649        end        end
650    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.23