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

Description

GISAS simulation.

Holds an instrument and sample model. Computes the scattered intensity as function of 2D detector coordinates.

Inheritance diagram for ScatteringSimulation:

Public Member Functions

 ScatteringSimulation (const Beam &beam, const MultiLayer &sample, const IDetector &detector)
 
 ~ScatteringSimulation () 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 ()
 
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 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

◆ ScatteringSimulation()

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

◆ ~ScatteringSimulation()

ScatteringSimulation::~ScatteringSimulation ( )
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

◆ className()

std::string ScatteringSimulation::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 ScatteringSimulation::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

◆ 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.