also: you can calculate the carnot cycle efficiency of a solar cell as if it was a classical heat-power-machine, even though it has no visible moving parts.
the reason why this works and yields realistic results is because the basic principles of thermodynamics stay the same no matter if you are working with steam, combustion gasses or photons and electron gas inside a semiconductor.