SUBROUTINE PMTC18 ( DEBUG, LDEBUG, IRANGE, T, IWAVE ) C C PMTC18 Jan 2005 LKH C include "pmtcat.inc" include "diswav.inc" include "r3mode.inc" c LOGICAL DEBUG c c --- set calibration parameters real*4 wave1,wave2,dGdT0_r3ccm,coefs(5),nominal_temp,response data wave1/252./, wave2/406./, nominal_temp/20.0/, c --- prelaunch values c + dGdT0_r3ccm/-8.92889e-2/, coefs/-9.09650e-2, c + 9.62278e-4,-3.80980e-6,6.47558e-9,-3.95456e-12/ c --- Revised as in A&E report. The change is minor due to changed weighting in c the fitting. + dGdT0_r3ccm/-8.8635e-02/, coefs/-9.0312e-02, + 9.5413e-04,-3.7719e-06,6.3979e-09,-3.8954e-12/ c INTEGER*4 LDEBUG, IRANGE, ITEMP, IWAVE real*8 SUM, SUMSQ real*4 T, TLO, THI CHARACTER*1 CCOUNT, CBUFR (4) EQUIVALENCE ( PMTCNT, CBUFR ) C IF ( DEBUG ) WRITE ( LDEBUG, 6000 ) PMTCNT C C**** INITIALIZE VARIABLES C TLO = -50. THI = 500. CCOUNT = CBUFR(4) C C**** CONVERT VOLTS TO DEGREES CELSIUS C ITEMP = 3 CALL SPTEMP ( CCOUNT, ITEMP, T, TLO, THI, SUM, SUMSQ, 1 NUM, TMIN, TMAX, NREC) c --- Wavelength dependent temperature response are hold to constant c at the calibrated wavelength range boundary if ( WLEN(IWAVE) .le. wave1 ) then wv=wave1 elseif ( WLEN(IWAVE) .gt. wave2 ) then wv=wave2 else wv=WLEN(IWAVE) endif c --- Range-3 cathode mode has the same wavelength dependence as in c the Range-3 anode mode, but with a constant shift to less c temperature sensitivity. if (IRANGE .eq. 3 .and. r3ccm) then response=dGdT0_r3ccm+coefs(2)*wv else response=coefs(1)+coefs(2)*wv endif wvp=wv do i=3,5 wvp=wvp*wv response = response + coefs(i)*wvp enddo C TMPCOR = 1.0 + response * (nominal_temp - T) IF ( DEBUG ) WRITE ( LDEBUG, 6999 ) T, TMPCOR if ( debug ) write (ldebug,7000) iwave,wlen(iwave), + (coefs(i),i=1,4),response 7000 format('debug: ',i3,1x,f6.2,1x,4(e13.6,1x),f9.6) RETURN 6000 FORMAT(' ------------ SUBROUTINE PMTC17 ENTERED',/ 1 10X,'PMT CATHODE TEMPERATURE (COUNTS) =',I8) 6999 FORMAT(' RETURN FROM SUBROUTINE PMTC17 ----------',/ 1 10X,'PMT CATHODE TEMPERATURE (C)=',1P,E15.5,10X, 2 'CORRECTION FACTOR=',E15.5) END