Skip to content

Conversation

remi-gj
Copy link

@remi-gj remi-gj commented Mar 28, 2025

added :

  • GaussianBeam3d for independant sagital & tangential planes
  • "Elements" type, which include both Element and Element3d
  • Element3d type (ThinLens3d, ThickLens3d, Interface3d, Mirror3d) for theta-tilted elements ( = like a misalingment). for each of the elements needing a radius of curvature, R>0 for a concave surface ie the center is before the interface ")" (this was the case for the mirror, but not the interface, maybe it should be mentioned in the doc)
  • the propagation with Elements (if at leat 1 Element3d, will result in a GaussianBeam3d)
  • gaussian3dplot : did not succeed returning 2 shapes for plotting using the @ receipe and @ series so i made a custom function (might be changed)

if i made any mistake or if anything is not clear or need to be changed, feel free to ask !

@roflmaostc
Copy link
Member

Hi,
huge effort!
It already helps to add some tests and see if everything still runs (especially old tests).

I'll try to give a more detailed review

@roflmaostc
Copy link
Member

One question: Do we need Lens3dor can't we just use the ThinLens as before but with generic options?

@remi-gj
Copy link
Author

remi-gj commented Mar 28, 2025

do you mean by using a single ThinLens returning either a ThinLens or a ThinLens3d (this would be possible, i can try to do it), or keeping only the Element type, expecting the user to then ask for a sagital or tangential view of the system (like in https://github.com/ngedwin98/ABCDBeamTrace.jl/tree/master but i think it's less intuitive)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants