Comments (3)
Dear Zimeng,
everything depends on what you call source size. Your settings look correct.
What you get in the plot is the cartesian projection of the rays on the (x,z) plane. But this is not the size, as the effect of the depth is ignored.
In order to get into account the depth you can propagate the source to a screen in the far field, and then backpropagate to the source plane again. Or, similarly the use of a sort of "ideal lens" or ideal mirror to make a 1 to 1 image.
I prefer to "propagate" all the rays to the (x,z) plane (not project!) just by adding a PlotXY widget and retracing to a distance zero. This will calculate the intersection of every ray in the (x,z) plane and gives a better idea of the source size:
You see that the image has a Lorentzian shape typical of a source with depth. Pay attention to the dimensions: FWHM is 934 x 83 um but the sigmas are: 1890 x 130 um. The vertical size depends much on the energy range. For a Gaussian distribution FWHM=2.35 sigma, and here sigmas are higher than FWHM because of the long tails of the Lorentzian.
I hope this helps!.
Regards, Manuel
from shadow3.
Dear Manuel ,
Thank you very much! This really helps!
Best,
Zimeng
from shadow3.
You're welcomed!
from shadow3.
Related Issues (20)
- Info not working HOT 2
- cannot update the adds-ons on Jan.26, 2020 HOT 5
- Laue Symmetrical (or asymmetrical for alpha=90deg) is buggy HOT 1
- Error while running test program HOT 4
- Flat vs. uniform geometrical source HOT 2
- Unexpected behavior of CRL + crystal HOT 2
- compound lens problem for zero lenses
- fatal error LNK1136: invalid or corrupt file HOT 8
- Installation from source not working HOT 30
- License for this repo HOT 2
- SI100 produces unrealistic intensity HOT 1
- simulation of paraboloid mirror HOT 1
- BRAGG standalone use HOT 1
- Parabolic mirror with small distances HOT 2
- choosing the torus pole location HOT 3
- reflectivity with graphite 002 HOT 10
- improve plot range (get_good_range) HOT 1
- Storing the output data HOT 4
- Support NumPy 1.24+
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shadow3.