1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
;program designed to generate lines.h based on the lines that are present in both radrade.dat and fluor_lines.dat
PRO read_fluor_or_rad_dat,filename,all_transitions
length=FILE_LINES(filename)
all_transitions=strarr(length)
OPENR,lun,filename,/GET_LUN
line=''
FOR i=0L,length-1 DO BEGIN
READF,lun,line
splitted=strsplit(line,/EXTRACT)
all_transitions[i]=splitted[1]
ENDFOR
FREE_LUN,lun
END
PRO write_lines_h,lines_h
read_fluor_or_rad_dat,'../data/fluor_lines.dat',fluor_dat_transitions
read_fluor_or_rad_dat,'../data/radrate.dat',radrates_dat_transitions
all_transitions = [fluor_dat_transitions,radrates_dat_transitions]
all_transitions_sort_uniq = all_transitions[UNIQ(all_transitions,SORT(all_transitions))]
OPENW,lun,lines_h,/GET_LUN
FOR i=0L,N_ELEMENTS(all_transitions_sort_uniq)-1 DO BEGIN
PRINTF,lun,STRCOMPRESS('#define '+all_transitions_sort_uniq[i]+'_LINE '+STRING(-1*(i+1),FORMAT='(I4)'))
ENDFOR
FREE_LUN,lun
END
|