1 subroutine czcscal(iorbit,slopech,yintch,icnts,igain,rlt)
21 real slope(nltc,4),yint(nltc,4),rk(nltc,4)
22 real slopech(nlt),yintch(nlt)
30 data slope /0.04452,0.03103,0.02467,0.01136,
31 * 0.03598,0.02493,0.02015,0.00897,
32 * 0.02968,0.02032,0.01643,0.00741,
33 * 0.02113,0.01486,0.01181,0.00535/
34 data yint /0.03963,0.05361,0.08013,0.01136,
35 * 0.03963,0.05361,0.08013,0.01136,
36 * 0.03963,0.06461,0.09503,0.01136,
37 * 0.03963,0.06361,0.09159,0.01136/
38 data rk /1.018,0.982,0.974,1.008,
39 * 1.021,0.983,0.963,1.020,
40 * 1.011,0.988,0.947,1.016,
41 * 1.020,0.972,0.950,1.010/
42 data iorbdec /1,5000,7000,20000,39000/
43 data dec /1.0, 1.0, 1.0, 1.0,
47 * 0.59,0.78,0.84,0.91/
51 call gain(slopech,slope,igain)
55 iorbit =
min(iorbit,39000)
57 if (iorbit .ge. iorbdec(i) .and. iorbit .lt. iorbdec(i+1))
then
63 x1 = float(iorbdec(i))
64 x2 = float(iorbdec(i+1))
67 rnum = dec(nl,i+1) - dec(nl,i)
69 gm1 = float(iorbit-iorbdec(i))*slp + dec(nl,i)
75 if (iorbit .gt. iorb4)
then
77 x2 = float(iorbdec(5))
80 rnum = dec(nl,5) - dec(nl,4)
82 gm1 = float(iorbit-iorb4)*slp + dec(nl,4)
94 if (slopech(1) .ne. slope1)
call gain(slopech,slope,igain)
97 s(nl) = g(nl)*rk(nl,ig)*slope(nl,ig)
98 rlt(nl) = s(nl)*float(icnts(nl)) + yint(nl,ig)
101 rlt(nlt) = slopech(nlt)*icnts(nlt) + yintch(nlt)
107 subroutine gain(slopech,slope,igain)
117 dif =
abs(slopech(1) - slope(1,ig))
118 if (dif .lt. dif1)
then