The application of light trapping structures and of InGaAs/GaAs quantum wells and quantum dots to improving the performance of single-junction GaAs solar cells