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

Description

Abstract base class of simulations that generate 2D patterns.

Base class of OffspecSimulation and ScatteringSimulation.

Holds the common implementations for simulations with a 2D detector.

Inheritance diagram for ISimulation2D:

Public Member Functions

 ISimulation2D (const Beam &beam, const MultiLayer &sample, const IDetector &detector)
 
 ISimulation2D (const MultiLayer &sample)
 
 ~ISimulation2D () override
 
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 ()
 
IDetectordetector ()
 
bool force_polarized () const override
 Force polarized computation even in absence of sample magnetization or external fields. 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

◆ ISimulation2D() [1/2]

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

◆ ISimulation2D() [2/2]

ISimulation2D::ISimulation2D ( const MultiLayer sample)

◆ ~ISimulation2D()

ISimulation2D::~ISimulation2D ( )
override

Member Function Documentation

◆ addMask()

void ISimulation2D::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.

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 ( )

◆ detector()

IDetector& ISimulation2D::detector ( )

◆ force_polarized()

bool ISimulation2D::force_polarized ( ) const
overridevirtual

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

Implements ISimulation.

◆ maskAll()

void ISimulation2D::maskAll ( )

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

◆ nodeChildren()

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

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

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.