;+
; PROJECT
;           SOLARB EIS
;
; NAME
;           EIS_GET_FMIRR_SS
;
; PURPOSE
;           Function to return fine mirror step size from Viggo's 
;           "cal_response.txt" file in $SSW/hinode/eis/response/
;
; NOTES
;           If for any reason this routine fails, it will return the
;           value 0.1248 (in $SSW/hinode/eis/response/cal_response.txt)
;           as of 25-Apr-2007
;
; INPUTS
;           None
;
; CATEGORY
;           EIS timeline planning
;
; WRITTEN
;           John A Rainnie RAL 25-Apr-2007
;
; VERSION
;           v0.1 
;                    
;-
;************************************************************************
FUNCTION eis_get_fmirr_ss

; This is the default value if this routine fails
fmirr_ss = 0.1248

pathName = STRTRIM(GETENV("EIS_RESPONSE"),2)
IF (STRLEN(pathName) EQ 0) THEN RETURN , fmirr_ss

baseName = "cal_response.txt"
fileName = CONCAT_DIR(pathName , baseName)
IF (FILE_TEST(fileName) NE 1) THEN RETURN , fmirr_ss

; OK, read file and search for line beginning with "fmirr_ss"
lines        = rd_ascii(fileName , lun = lun)
FREE_LUN , lun
search_lines = STREGEX(lines , 'fmirr_ss'  , /BOOLEAN , /FOLD_CASE)
line_index   = WHERE(search_lines EQ 1 , count)
IF (count NE 1) THEN RETURN , fmirr_ss

; OK, we have the line. Let's parse it. It looks like this...
; "fmirr_ss = 0.1248       ; fine mirror step size in arc..."
l = lines[line_index[0]]
; Extract string before ";" character
l_1 = STRMID(l,0,STRPOS(l,";"))
; OK, got "  fmirr_ss = 0.1248       ", now extract the number
l_2 = STRTRIM(STRMID(l_1,strpos(l_1,'=')+1),2)
fmirr_ss = FLOAT(l_2)
; Check this is a number
IF (is_number(fmirr_ss) NE 1) THEN RETURN , fmirr_ss

RETURN , fmirr_ss

END
