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

Description

Off-specular scattering simulation.

Holds an instrument and sample model. Computes reflected and scattered intensity as function of incident and final glancing angle.

Inheritance diagram for OffspecSimulation:

Public Member Functions

 OffspecSimulation (const Beam &beam, const MultiLayer &sample, const IDetector &detector)
 
 OffspecSimulation (const MultiLayer &sample)
 
 ~OffspecSimulation () override=default
 
void addMask (const IShape2D &shape, bool mask_value=true)
 Adds mask of given shape to the stack of detector masks. The mask value 'true' means that the channel will be excluded from the simulation. The mask which is added last has priority. More...
 
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())
 
Beambeam ()
 
const IAxis * beamAxis () const
 Returns axis of the beam. More...
 
std::string className () const final
 
IDetectordetector ()
 
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...
 
void maskAll ()
 Put the mask for all detector channels (i.e. exclude whole detector from the analysis) More...
 
std::vector< const INode * > nodeChildren () const override
 
SimulationOptions & options ()
 
const SimulationOptions & options () const
 
void setBackground (const IBackground &bg)
 
void setBeamParameters (double wavelength, const IAxis &alpha_axis, double phi_i)
 Sets beam parameters from here (forwarded to Instrument) More...
 
void setRegionOfInterest (double xlow, double ylow, double xup, double yup)
 Sets rectangular region of interest with lower left and upper right corners defined. More...
 
void setTerminalProgressMonitor ()
 
SimulationResult simulate ()
 Run a simulation, and return the result. More...
 

Constructor & Destructor Documentation

◆ OffspecSimulation() [1/2]

OffspecSimulation::OffspecSimulation ( const Beam beam,
const MultiLayer sample,
const IDetector detector 
)

◆ OffspecSimulation() [2/2]

OffspecSimulation::OffspecSimulation ( const MultiLayer sample)

◆ ~OffspecSimulation()

OffspecSimulation::~OffspecSimulation ( )
overridedefault

Member Function Documentation

◆ addMask()

void ISimulation2D::addMask ( const IShape2D shape,
bool  mask_value = true 
)
inherited

Adds mask of given shape to the stack of detector masks. The mask value 'true' means that the channel will be excluded from the simulation. The mask which is added last has priority.

Parameters
shapeThe shape of mask (Rectangle, Polygon, Line, Ellipse)
mask_valueThe value of mask

◆ 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

◆ beam()

Beam& ISimulation2D::beam ( )
inherited

◆ beamAxis()

const IAxis* OffspecSimulation::beamAxis ( ) const

Returns axis of the beam.

◆ className()

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

◆ detector()

IDetector& ISimulation2D::detector ( )
inherited

◆ force_polarized()

bool ISimulation2D::force_polarized ( ) const
overridevirtualinherited

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

Implements ISimulation.

◆ intensityMapSize()

size_t OffspecSimulation::intensityMapSize ( ) const
override

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

◆ maskAll()

void ISimulation2D::maskAll ( )
inherited

Put the mask for all detector channels (i.e. exclude whole detector from the analysis)

◆ nodeChildren()

std::vector<const INode*> ISimulation2D::nodeChildren ( ) const
overrideinherited

◆ options() [1/2]

SimulationOptions& ISimulation::options ( )
inherited

◆ options() [2/2]

const SimulationOptions& ISimulation::options ( ) const
inherited

◆ setBackground()

void ISimulation::setBackground ( const IBackground bg)
inherited

◆ setBeamParameters()

void OffspecSimulation::setBeamParameters ( double  wavelength,
const IAxis &  alpha_axis,
double  phi_i 
)

Sets beam parameters from here (forwarded to Instrument)

◆ setRegionOfInterest()

void ISimulation2D::setRegionOfInterest ( double  xlow,
double  ylow,
double  xup,
double  yup 
)
inherited

Sets rectangular region of interest with lower left and upper right corners defined.

◆ setTerminalProgressMonitor()

void ISimulation::setTerminalProgressMonitor ( )
inherited

◆ simulate()

SimulationResult ISimulation::simulate ( )
inherited

Run a simulation, and return the result.