We need to support the closed-loop simulation for corner wavefront sensor (WFS) in the optical path difference (OPD) level. At this moment, we only support the condition of commissioning camera (ComCam). The code is opdCloseLoop.py (ComCam in OPD level). The reason to do this is to simplify the following study/ test of control algorithm with non-zero camera rotation angle. It is noted that the ts_wep just tries to calculate the OPD as accurate as possible. Therefore, we could simplify the test of control algorithm by using the OPD directly instead of calculating the wavefront error from donut images.
To play the existed code with PhoSim, please follow: Use of Active Optics Close Loop Simulation. The idea of full simulation is here. To understand the simulation platform, please follow PhoSim wiki. It is noted that we used the aos branch in phosim_syseng4.
The sensor names are "R44_S00" (field=31), "R04_S20" (field=32), "R00_S22" (field=33), and "R40_S02" (field=34). This can follow: sensorNameToFieldIdx.yaml. The related field positions are at OpdMetrology.getDefaultLsstWfsGQ(). You could use the related set function: OpdMetrology.setDefaultLsstGQ() directly. When evaluating the effective PSSN (normalized point source sensitivity), the related OPD are calculated with the field positions defined in OpdMetrology.setDefaultLsstGQ(). There are 31 field points in this PSSN evaluation. To have the idea of sensor name and field position for LSST, please follow mapSensorAndFieldIdx.py. You may need this to decide the sensor name for each field points (0-30, total=31). To understand the PSSN, please follow the Document-17242 for the details.
To prove the finish of this ticket, need to show the iteration image as in
DM-24423. The effective Gaussian quadrature FWHM (full width at half maximum) should be around 0.12 arcsec after the iteration is done. This task only extends the functionality of opdCloseLoop.py.
The camera piston is used to generate the defocal images of ComCam, high-speed CMOS camera, and LSST camera in full array mode (use 189 CCDs as the WFS). For the corner WFS, this piston movement is not needed because it is physically defocused by 1.5 mm already. This needs to be careful when generating the OPD of corner WFS.