ngedwin98 / ABCDBeamTrace.jl

ABCD formalism for linear optics in Julia: ray transfer matrices and Gaussian beam propagation
Other
9 stars 3 forks source link

Convention for vector describing a beam #11

Closed KronosTheLate closed 11 months ago

KronosTheLate commented 1 year ago

It should be explicit which convention this paclage uses for representing a beam. I personally have enountered [ distance from optical axis ; slope] And the opposite order.

ngedwin98 commented 11 months ago

Just remembered this issue while writing my reply in https://github.com/ngedwin98/ABCDBeamTrace.jl/issues/12#issuecomment-1716593348. Rather than simply using a 2D vector for a beam, this package tries to incorporate more semantic information using a Beam struct, which has both the ray information and the Gaussian beam information (as well as refractive index and wavelength). So in my notation, distance from optical axis is x (which I call distance from propagation ray along the transverse plane) and slope is θ (because in a paraxial approximation tan(θ) = θ). This is in the hopes of not needing to really touch the matrices in a future, properly designed interface.

KronosTheLate commented 11 months ago

That all sounds reasonable. Thanks!