BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Abstract base class, holds the infrastructure to run a simulation.
Base class of SpecularSimulation, ISimulation2D and DepthProbeSimulation.
Holds an instrument and sample model. Provides the common infrastructure to run a simulation: multithreading, batch processing, averaging over parameter distributions, etc.
Simulations are run, and results returned, by the function ISimulation::simulate().
Public Member Functions | |
ISimulation (const ISimulation &)=delete | |
ISimulation (const MultiLayer &sample) | |
ISimulation (ISimulation &&)=default | |
~ISimulation () override | |
void | addParameterDistribution (const ParameterDistribution &par_distr) |
void | addParameterDistribution (ParameterDistribution::WhichParameter whichParameter, const IDistribution1D &distribution, size_t nbr_samples, double sigma_factor=0.0, const RealLimits &limits=RealLimits()) |
virtual bool | force_polarized () const =0 |
Force polarized computation even in absence of sample magnetization or external fields. More... | |
SimulationOptions & | options () |
const SimulationOptions & | options () const |
void | setBackground (const IBackground &bg) |
void | setTerminalProgressMonitor () |
SimulationResult | simulate () |
Run a simulation, and return the result. More... | |
ISimulation::ISimulation | ( | const MultiLayer & | sample | ) |
|
override |
|
delete |
|
default |
void ISimulation::addParameterDistribution | ( | const ParameterDistribution & | par_distr | ) |
void ISimulation::addParameterDistribution | ( | ParameterDistribution::WhichParameter | whichParameter, |
const IDistribution1D & | distribution, | ||
size_t | nbr_samples, | ||
double | sigma_factor = 0.0 , |
||
const RealLimits & | limits = RealLimits() |
||
) |
|
pure virtual |
Force polarized computation even in absence of sample magnetization or external fields.
Implemented in SpecularSimulation, ISimulation2D, and DepthProbeSimulation.
SimulationOptions& ISimulation::options | ( | ) |
const SimulationOptions& ISimulation::options | ( | ) | const |
void ISimulation::setBackground | ( | const IBackground & | bg | ) |
void ISimulation::setTerminalProgressMonitor | ( | ) |
SimulationResult ISimulation::simulate | ( | ) |
Run a simulation, and return the result.