public void setNominalSwing(int n) { for (int sector = 0; sector < slmCtrl.settings.retardSetA[0].length; sector++) { // setElement(0, extinctA, extinctB); // setElement(1, extinctA + LC_Swing, extinctB); // setElement(2, extinctA, extinctB + LC_Swing); // setElement(3, extinctA, extinctB - LC_Swing); // setElement(4, extinctA - LC_Swing, extinctB); // swing of 0.01 = 0.0628 shift in retardance // ??? Does swingEquivalent vary with Sector? Yes. double swingeAngle = slmModel.getSwing() * slmModel.getWavelength() * 2 * Math.PI; switch (n) { case 0: // Extinction, nominal 0.25, 0.50 // ++ >>>>>>>> default extinction settings // slmCtrl.settings.retardSetA[0][sector] = 1559; // slmCtrl.settings.retardSetB[0][sector] = 1559; slmCtrl.setRetA(sector, slmCtrl.settings.retardSetA[0][sector]); slmCtrl.setRetB(sector, slmCtrl.settings.retardSetB[0][sector]); break; case 1: slmCtrl.settings.retardSetA[1][sector] = slmCtrl.settings.retardSetA[0][sector] + swingeAngle; slmCtrl.settings.retardSetB[1][sector] = slmCtrl.settings.retardSetB[0][sector]; slmCtrl.setRetA(sector, slmCtrl.settings.retardSetA[1][sector]); slmCtrl.setRetB(sector, slmCtrl.settings.retardSetB[1][sector]); break; case 2: slmCtrl.settings.retardSetA[2][sector] = slmCtrl.settings.retardSetA[0][sector]; slmCtrl.settings.retardSetB[2][sector] = slmCtrl.settings.retardSetB[0][sector] + swingeAngle; slmCtrl.setRetA(sector, slmCtrl.settings.retardSetA[2][sector]); slmCtrl.setRetB(sector, slmCtrl.settings.retardSetB[2][sector]); break; case 3: slmCtrl.settings.retardSetA[3][sector] = slmCtrl.settings.retardSetA[0][sector]; slmCtrl.settings.retardSetB[3][sector] = slmCtrl.settings.retardSetB[0][sector] - swingeAngle; slmCtrl.setRetA(sector, slmCtrl.settings.retardSetA[3][sector]); slmCtrl.setRetB(sector, slmCtrl.settings.retardSetB[3][sector]); break; case 4: slmCtrl.settings.retardSetA[4][sector] = slmCtrl.settings.retardSetA[0][sector] - swingeAngle; slmCtrl.settings.retardSetB[4][sector] = slmCtrl.settings.retardSetB[0][sector]; slmCtrl.setRetA(sector, slmCtrl.settings.retardSetA[4][sector]); slmCtrl.setRetB(sector, slmCtrl.settings.retardSetB[4][sector]); break; } } }