Here’s a snapshot of the API documentation
When tracing rays, the following parameters are not documented:
- double exr, double exi, double eyr, double eyi, double ezr, double ezi
They are defined here:
and here in the DDE documentation
and here in the C code
and here by Julia (link)
So… what’s missing?
Well, Julia provides us with code that works. I am inferring the Ex and Ey set the amplitude of the electric field. That along with phaX and phaY set the polarization state.
Exr, Exi, Eyr, Eyi, Ezr, Ezi have been used to specify the electric field of a ray in DDE and custom surface DLL code. They are often outputs, not inputs. If they are inputs then they seem redundant.
So…
- Do we always set them to ‘0’?
- If we give them a value, will it override Ex, Ey, phaX and phaY?
- Generally Ez is reserved for rays approach off axis, which means if you specify this parameter, you should not also specify Hx, Hy, Px, and Py.
This is all quite complex. What is the best guidance?