/[PAMELA software]/calo/unpacking/calunpack.for
ViewVC logotype

Diff of /calo/unpacking/calunpack.for

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

revision 1.1 by mocchiut, Mon Dec 5 16:23:20 2005 UTC revision 1.4 by mocchiut, Thu Sep 28 19:44:06 2006 UTC
# Line 1  Line 1 
1  C  C
2  C  Written by Emiliano Mocchiutti and Mirko Boezio  C  Written by Emiliano Mocchiutti and Mirko Boezio
3  C  C
4  C     * Version: 3.4.06 *  C     * Version: 3.4.09 *
5  C  C
6  C Changelog:  C Changelog:
7  C  C
8    C 3.4.08 - 3.4.09: (2006-09-28) XE is not always correctly found, fixed.
9    C
10    C 3.4.07 - 3.4.08: (2006-06-29) XO is rotated, not XE!! fixed.
11    C
12    C 3.4.06 - 3.4.07: (2006-06-29) save CRC values in calselftrig(section,1) and  calselftrig(section,2) in case of CRC errors
13    C
14  C 3.4.05 - 3.4.06: (2005-01-12) section order wrong in CLEARSEC, fixed.  C 3.4.05 - 3.4.06: (2005-01-12) section order wrong in CLEARSEC, fixed.
15  C  C
16  C 3.4.04 - 3.4.05: (2005-01-05) XE is section y odd not even, fixed.  C 3.4.04 - 3.4.05: (2005-01-05) XE is section y odd not even, fixed.
# Line 108  C Line 114  C
114        INTEGER NPLA, NCHA, LENSEV        INTEGER NPLA, NCHA, LENSEV
115        INTEGER*2 ival        INTEGER*2 ival
116  C  C
117        PARAMETER (START=50,SEC1ST=1200)  c      PARAMETER (START=50,SEC1ST=1200)
118    c      PARAMETER (START=300,SEC1ST=1200)
119    c      PARAMETER (START=500,SEC1ST=1200)
120          PARAMETER (SEC1ST=1200)
121        PARAMETER (NPLA=22,NCHA=96,LENSEV=NPLA*NCHA)        PARAMETER (NPLA=22,NCHA=96,LENSEV=NPLA*NCHA)
122        PARAMETER (ival='FFFF'x)        PARAMETER (ival='FFFF'x)
123  C  C
# Line 131  C Line 140  C
140        integer stwerr(4),yescbra, chis, esci, icprima        integer stwerr(4),yescbra, chis, esci, icprima
141        integer seemcomp, seemfull, cberaw, yesisco, yesisfu,yesisra        integer seemcomp, seemfull, cberaw, yesisco, yesisfu,yesisra
142        integer ca50, ca50a, ca50b        integer ca50, ca50a, ca50b
143          integer firsttime
144  C      C    
145        real dedx1(11,96),dedx2(11,96),dedx3(11,96),dedx4(11,96)        real dedx1(11,96),dedx2(11,96),dedx3(11,96),dedx4(11,96)
146        real dedx1c(11,96),dedx2c(11,96),dedx3c(11,96),dedx4c(11,96)        real dedx1c(11,96),dedx2c(11,96),dedx3c(11,96),dedx4c(11,96)
# Line 157  C Line 167  C
167  C          C        
168  C Begin !  C Begin !
169  C  C
170          start = 320
171          firsttime = 1
172        SOGLIA0 = 70        SOGLIA0 = 70
173     2    continue
174  C  C
175  C     input length must be > 0, if not go out with error code 142  C     input length must be > 0, if not go out with error code 142
176  C  C
# Line 180  C Line 193  C
193              write(*,17)l,vecta(l)              write(*,17)l,vecta(l)
194           enddo           enddo
195        endif        endif
196    C      dumpo = iev
197  C  C
198  C     DETERMINE LENGTH IN WORDS FROM LENGTH IN BYTES  C     DETERMINE LENGTH IN WORDS FROM LENGTH IN BYTES
199  C  C
# Line 291  C     A CALORIMETER SECTION IS MADE OF A Line 305  C     A CALORIMETER SECTION IS MADE OF A
305  C     IF WE HAVE NO ROOM FOR A SECTION GO OUT  C     IF WE HAVE NO ROOM FOR A SECTION GO OUT
306  C  C
307           if ((ic+4).gt.lung.or.esci.eq.1) then           if ((ic+4).gt.lung.or.esci.eq.1) then
308                if (contr.eq.1.and.firsttime.eq.1) then
309                   if (iev.eq.dumpo)
310         &    print *,' first section not found retry from zero'
311                   firsttime = 0              
312                   start = 1
313                   goto 1
314                endif
315              if (headcor.eq.1.and.contr.lt.5) then                            if (headcor.eq.1.and.contr.lt.5) then              
316                 headcor=-1                 headcor=-1
317                 ic=ichc                 ic=ichc
# Line 774  C Line 795  C
795        endif        endif
796  C  C
797        if (check.ne.vect(length)) then        if (check.ne.vect(length)) then
          merror(contr) = 132  
          chi = chi + 4  
          lleng = 0  
          length2 = 0  
          length = 0  
798  C  C
799  C     clear vectors of that section in the common  C     clear vectors of that section in the common
800  C  C
801           call clearsec           call clearsec
802  C  C
803             calselftrig(k,1) = check
804             calselftrig(k,2) = vect(length)
805    c        
806             merror(contr) = 132
807             chi = chi + 4
808             lleng = 0
809             length2 = 0
810             length = 0
811    c
812           if (ke.eq.1.and.headcor.ne.2) then           if (ke.eq.1.and.headcor.ne.2) then
813              ic = 10              ic = 10
814           elseif (headcor.eq.2) then           elseif (headcor.eq.2) then
# Line 924  C     Line 949  C    
949  C      C    
950        DO I = 1,11        DO I = 1,11
951           DO J = 1,96           DO J = 1,96
952              DEXY(2,2*I,J) = DEDX2(I,J)              DEXY(2,2*I,97-J) = DEDX2(I,J)
953              DEXY(1,2*I-1,J) = DEDX4(I,J)              DEXY(1,2*I-1,J) = DEDX4(I,J)
954              DEXY(2,2*I-1,97-J) = DEDX1(I,J)              DEXY(2,2*I-1,J) = DEDX1(I,J)
955              DEXY(1,2*I,J) = DEDX3(I,J)              DEXY(1,2*I,J) = DEDX3(I,J)
956              DEXYC(2,2*I,J) = DEDX2C(I,J)              DEXYC(2,2*I,97-J) = DEDX2C(I,J)
957              DEXYC(1,2*I-1,J) = DEDX4C(I,J)              DEXYC(1,2*I-1,J) = DEDX4C(I,J)
958              DEXYC(2,2*I-1,97-J) = DEDX1C(I,J)              DEXYC(2,2*I-1,J) = DEDX1C(I,J)
959              DEXYC(1,2*I,J) = DEDX3C(I,J)              DEXYC(1,2*I,J) = DEDX3C(I,J)
960           enddo           enddo
961           do j = 1,6           do j = 1,6
962              base(2,2*i,j) = base2(i,j)              base(2,2*i,7-j) = base2(i,j)
963              base(1,2*i-1,j) = base4(i,j)              base(1,2*i-1,j) = base4(i,j)
964              base(2,2*i-1,7-j) = base1(i,j)              base(2,2*i-1,j) = base1(i,j)
965              base(1,2*i,j) = base3(i,j)              base(1,2*i,j) = base3(i,j)
966           enddo           enddo
967        enddo        enddo
# Line 1052  c Line 1077  c
1077        enddo        enddo
1078  c  c
1079        if ( iev.eq.dumpo ) then        if ( iev.eq.dumpo ) then
1080             do i = 1, 4
1081                print *,' perror(',i,') = ',perror(i)
1082                print *,' stwerr(',i,') = ',stwerr(i)
1083             enddo
1084           if (perror(3).eq.132.and.perror(4).eq.129) then           if (perror(3).eq.132.and.perror(4).eq.129) then
1085              do i = 1, 2              do i = 1, 2
1086                 do j = 1, 22                 do j = 1, 22
# Line 1060  c Line 1089  c
1089                    enddo                    enddo
1090                 enddo                 enddo
1091              enddo                enddo  
             do l=1,lung  
                write(*,17)l,vecta(l)  
             enddo  
1092           endif           endif
1093             do l=1,lung
1094                write(*,17)l,vecta(l)
1095             enddo
1096        endif        endif
1097        iev = iev + 1              iev = iev + 1      
1098        RETURN        RETURN
# Line 1412  C Line 1441  C
1441                 DEXYC(1,2*I-1,J) = 0.                 DEXYC(1,2*I-1,J) = 0.
1442              endif              endif
1443              if (contr.eq.1) then              if (contr.eq.1) then
1444                 DEXY(2,2*I-1,97-J) = 0.                 DEXY(2,2*I-1,J) = 0.
1445                 DEXYC(2,2*I-1,97-J) = 0.                 DEXYC(2,2*I-1,J) = 0.
1446              endif              endif
1447              if (contr.eq.2) then              if (contr.eq.2) then
1448                 DEXY(2,2*I,J) = 0.                 DEXY(2,2*I,97-J) = 0.
1449                 DEXYC(2,2*I,J) = 0.                 DEXYC(2,2*I,97-J) = 0.
1450              endif              endif
1451           enddo           enddo
1452           do j = 1,6           do j = 1,6

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

  ViewVC Help
Powered by ViewVC 1.1.23