-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tophat beam profile #52
Comments
Based on the original email, here is a rough outline of an implementation following the ECS pattern: Top hat implementation
Now laser beams can have e.g. Changes required for intensity calculation codeIn the original email, @Saskia461 asked if the current code assumes that all beams are gaussians - and it does! Based on this, we should rename |
@MauriceZeuner does this work well with your (This is a good test case to make sure the components are split properly - e.g. is there anything in |
Interesting use-case! My initial thoughts:
But actually, instead of defining new Systems all the time, why not work with traits? For example, you have a |
@MauriceZeuner your first bullet point is the intended pattern we should follow here. For the second, I would argue ellipticity should be part of Re traits: I think that goes against the ECS pattern here, where the intention is behaviour by composition. There is no issue with having a large number of systems, eg one per type of profile. In the ECS approach a laser should be 'a profile component', 'a beam/direction component', 'a cooling component'/'a dipole trap component', etc. |
Okay, that makes sense. I'm happy to implement this if you like, as soon as the dipole feature branch is merged - otherwise, I have to update all the branches that wait to be merged separately, which would not be time-efficient, I guess. |
I would prefer to leave this for @Saskia461 to try, it seems like a good first feature |
(If they would like to try it!) |
I'm happy to try it, it will probably take a while longer though since I am very new to Rust and have a few other things on my to do list with deadlines. |
well great, that's even better, then! @Saskia461 feel free to contact me if you get stuck somewhere or want a general overview on how the ECS works under the roof ^^ |
The code seems to assume a Gaussian beam profile, I would like to simulate a MOT geometry using laser beams with a tophat profile or more generally be able to modify the beam profile to be an abritrary function. Adding a tophat module in lasers is not sufficient as the code continues to assume a gaussian beam in other instances.
The text was updated successfully, but these errors were encountered: