BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
SpecularSimulation Class Reference

Description

Specular reflectometry simulation.

Holds an instrument and sample model. Computes detected intensity as function of the glancing angles alpha_i=alpha_f.

Inheritance diagram for SpecularSimulation:

Public Member Functions

 SpecularSimulation (const ISpecularScan &scan, const MultiLayer &sample)
 
 SpecularSimulation (SpecularSimulation &&)
 
 ~SpecularSimulation () 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())
 
std::string className () const final
 
bool force_polarized () const override
 Force polarized computation even in absence of sample magnetization or external fields. More...
 
size_t intensityMapSize () const override
 Returns the total number of the intensity values in the simulation result. More...
 
SimulationOptions & options ()
 
const SimulationOptions & options () const
 
void setBackground (const IBackground &bg)
 
void setTerminalProgressMonitor ()
 
SimulationResult simulate ()
 Run a simulation, and return the result. More...
 

Constructor & Destructor Documentation

◆ SpecularSimulation() [1/2]

SpecularSimulation::SpecularSimulation ( const ISpecularScan &  scan,
const MultiLayer sample 
)

◆ ~SpecularSimulation()

SpecularSimulation::~SpecularSimulation ( )
override

◆ SpecularSimulation() [2/2]

SpecularSimulation::SpecularSimulation ( SpecularSimulation &&  )

Member Function Documentation

◆ addParameterDistribution() [1/2]

void ISimulation::addParameterDistribution ( const ParameterDistribution par_distr)
inherited

◆ addParameterDistribution() [2/2]

void ISimulation::addParameterDistribution ( ParameterDistribution::WhichParameter  whichParameter,
const IDistribution1D &  distribution,
size_t  nbr_samples,
double  sigma_factor = 0.0,
const RealLimits limits = RealLimits() 
)
inherited

◆ className()

std::string SpecularSimulation::className ( ) const
final

◆ force_polarized()

bool SpecularSimulation::force_polarized ( ) const
overridevirtual

Force polarized computation even in absence of sample magnetization or external fields.

Implements ISimulation.

◆ intensityMapSize()

size_t SpecularSimulation::intensityMapSize ( ) const
override

Returns the total number of the intensity values in the simulation result.

◆ options() [1/2]

SimulationOptions& ISimulation::options ( )
inherited

◆ options() [2/2]

const SimulationOptions& ISimulation::options ( ) const
inherited

◆ setBackground()

void ISimulation::setBackground ( const IBackground bg)
inherited

◆ setTerminalProgressMonitor()

void ISimulation::setTerminalProgressMonitor ( )
inherited

◆ simulate()

SimulationResult ISimulation::simulate ( )
inherited

Run a simulation, and return the result.