To set up and run a scattering simulation, use
import bornagain as ba beam = ... sample = ... detector = ... simulation = ba.ScatteringSimulation(beam, sample, detector) # ... set options result = simulation.simulate()
For optional settings, see simulation options.
For the return type of function
At this level, the same syntax applies to SAS and GISAS (small-angle scattering under normal or grazing incidence).
The difference comes from the beam and sample model:
For SAS, use an incident beam with a grazing angle of $90^\circ$ (see e.g. the basic sas example).
For GISAS, the incident beam has a grazing angle of at most a few degrees (see e.g. the basic gisas example).
The distorted-wave Born approximation (DWBA) is automatically applied if a sample has more than one layer (see gisas-no-dwba-terms for a GISAS model with no reflecting layer interface, hence described by the regular Born approximation).