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. |
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 |
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) |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |