#File powfs_shlgs.conf
#See powfs_common.conf for up to date description.
#Defines sodium LGS WFS
powfs.step += [0] #time step to start using WFS
powfs.type += [0] #0: SHWFS, 1:Pyramid WFS
powfs.pywfs+= [""] #include pywfs.conf if type is Pyramid WFS
powfs.dsa += [0] # size of subaperture in one dimension. <0: use (-dsa)*aper.d. 0: follow dm.dx
powfs.dx += [1/64] #sampling of opd in each subaperture.
powfs.saat += [0.3] #threshold of relative area to turn off subaperture.
powfs.hs += [90e3] #height of the guide star above sea level. 90e3 for LGS. inf for NGS.
powfs.fnllt+= ["llt_CL.conf"] # configuration of laser launch telescope.
powfs.trs += [1] #tilt remove flag. 1 for LGS. 0 for NGS
powfs.lo += [0] #low order. 1 for T/T or T/T/F WFS. 0 for LGS and high order NGS
powfs.nearecon+= [20] # nea in mas for reconstruction
powfs.skip += [0] # do not use this WFS in reconstruction Enable for truth WFS
#Geometric optics SHWFS options
powfs.gtype_sim += [0] #0: averaging gradient, 1: zernike tilt for simulation.
powfs.gtype_recon += [0] #0: averaging gradient, 1: zernike tilt for reconstruction.
#Physical optics SHWFS options.
powfs.phytype_recon += [1] #1: matched filter. 2:cog for computing NEA.
powfs.pixtheta += [1.0] #CCD Pixel size in arcsec. if negative -alpha, the size is alpha*max(wvl)/dsa #20171108: changed to 0.8 #20200123: changed to 1.0
powfs.fieldstop+= [0] # field stop in arcsec.
powfs.pixpsa += [10] #number of pixels per subaperture.
powfs.phystep += [0] #time step to start physical optics mode. -1 to disable physical optics.
powfs.sigmatch += [1] #normalize gradient by flux of (1: per subaperture, 2: globally). 1 is unstable at low signal level. 2 can be implemented in RTC with 1 frame delay. 2 is not good for LGS WFS calibration.
powfs.mtchcr += [1] #use constraint matched filter (1: both axis. 2: radial/x only, 3: az/y only)
powfs.mtchstc += [0] #shift peak in sepsf to center using fft.
#For dithering
powfs.dither +=[0] #Dithering to update centroid gain or matched filter. 1: with TT. >1: zernike mode. -1: use sodium profile fitting on i0 without actual dithering.
powfs.dither_amp +=[0.025] #Dither amplitude of Zernike mode in RMS micron (zernike) or tip/tilt amplitude in arcsec.
powfs.dither_npoint+=[4] #Number of WFS frames (a dithering point per frame) per dither cycle.
powfs.dither_pllskip+=[0] #Number WFS frames to skip (for loop to be stable) before turning on phase locked loop (PLL) to determine the phase of dithering (used for tip/tilt dithering only).
powfs.dither_pllrat+=[160] #Number of WFS frames for updating PLL estimates
powfs.dither_gpll +=[1] #Gain of PLL update.
powfs.dither_ogskip+=[6] #Number of PLL cycles to skip before computing optical gain update.
powfs.dither_ograt +=[30] #Number of PLL cycles to average before updating optical gain.
powfs.dither_gog +=[0.5] #Gain for updating optical gain in cog (not used for matched filter).
#Detector Options
powfs.rne += [3] #read out noise
powfs.nwvl += [1] #number of bands for each powfs.
powfs.wvl += [0.589e-6]#concatenated list of bands
powfs.wvlwts += [1]
powfs.nwfs+=[6] #number of wfs for each type
wfs.thetax+=[0 0 -33.287 -20.5725 20.5725 33.287] #x coordinate in arcsecond unit.
wfs.thetay+=[0 35 10.8156 -28.3156 -28.3156 10.8156] #y coordinate in arcsecond unit.