private void updateMatrix() { ComplexMatrix[] matrices = new ComplexMatrix[layers.length - 2]; for (int i = 0; i < matrices.length; i++) { Layer[] subset = {layers[i], layers[i + 1], layers[i + 2]}; matrices[i] = VcselMath.calculateTransferMatrix(source, subset); } ComplexMatrix overallTransfer = matrices[0]; for (int i = 1; i < matrices.length; i++) { overallTransfer = overallTransfer.times(matrices[i]); } this.transfer = overallTransfer; }
private void updateGammas() { this.gammas = VcselMath.calculateLayerGammas(angles, layers); }
private void updateAngles() { this.angles = VcselMath.calculateOpticalAngles(source, layers); }