BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Main class to run an off-specular simulation. More...
Public Member Functions | |
OffSpecSimulation * | clone () const override |
void | accept (INodeVisitor *visitor) const final |
Calls the INodeVisitor's visit method. | |
void | prepareSimulation () final |
Put into a clean state for running a simulation. | |
SimulationResult | result () const override |
Returns the results of the simulation in a format that supports unit conversion and export to numpy arrays. | |
void | setBeamParameters (double wavelength, const IAxis &alpha_axis, double phi_i) |
Sets beam parameters from here (forwarded to Instrument) | |
const IAxis * | beamAxis () const |
Returns axis of the beam. | |
std::unique_ptr< IUnitConverter > | createUnitConverter () const |
size_t | intensityMapSize () const override |
Returns the total number of the intensity values in the simulation result. | |
![]() | |
void | prepareSimulation () override |
Put into a clean state for running a simulation. | |
void | setDetectorParameters (size_t n_phi, double phi_min, double phi_max, size_t n_alpha, double alpha_min, double alpha_max) |
Sets spherical detector parameters using angle ranges. More... | |
void | setDetector (const IDetector2D &detector) |
Sets the detector (axes can be overwritten later) | |
void | removeMasks () |
removes all masks from the detector | |
void | addMask (const IShape2D &shape, bool mask_value=true) |
Adds mask of given shape to the stack of detector masks. More... | |
void | maskAll () |
Put the mask for all detector channels (i.e. exclude whole detector from the analysis) | |
void | setRegionOfInterest (double xlow, double ylow, double xup, double yup) |
Sets rectangular region of interest with lower left and upper right corners defined. | |
![]() | |
void | runSimulation () |
Run a simulation, possibly averaged over parameter distributions. More... | |
void | runMPISimulation () |
Run a simulation in a MPI environment. | |
void | setInstrument (const Instrument &instrument_) |
const Instrument & | instrument () const |
Instrument & | instrument () |
void | setBeamIntensity (double intensity) |
double | getBeamIntensity () const |
void | setBeamPolarization (const kvector_t bloch_vector) |
Sets the beam polarization according to the given Bloch vector. | |
void | setDetectorResolutionFunction (const IResolutionFunction2D &resolution_function) |
void | removeDetectorResolutionFunction () |
void | setAnalyzerProperties (const kvector_t direction, double efficiency, double total_transmission) |
Sets the polarization analyzer characteristics of the detector. | |
void | setSample (const MultiLayer &sample) |
The MultiLayer object will not be owned by the Simulation object. | |
const MultiLayer * | sample () const |
void | setSampleBuilder (const std::shared_ptr< ISampleBuilder > &sample_builder) |
void | setBackground (const IBackground &bg) |
const IBackground * | background () const |
void | addParameterDistribution (const std::string ¶m_name, const IDistribution1D &distribution, size_t nbr_samples, double sigma_factor=0.0, const RealLimits &limits=RealLimits()) |
void | addParameterDistribution (const ParameterDistribution &par_distr) |
const DistributionHandler & | getDistributionHandler () const |
void | setOptions (const SimulationOptions &options) |
const SimulationOptions & | getOptions () const |
SimulationOptions & | getOptions () |
void | subscribe (ProgressHandler::Callback_t inform) |
void | setTerminalProgressMonitor () |
Initializes a progress monitor that prints to stdout. | |
std::vector< const INode * > | getChildren () const |
Returns a vector of children (const). | |
SimulationResult | convertData (const OutputData< double > &data, bool put_masked_areas_to_zero=true) |
Convert user data to SimulationResult object for later drawing in various axes units. More... | |
![]() | |
ICloneable (const ICloneable &)=delete | |
ICloneable (ICloneable &&)=default | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) | |
![]() | |
INode (const NodeMeta &meta, const std::vector< double > &PValues) | |
virtual std::string | treeToString () const |
Returns multiline string representing tree structure below the node. | |
void | registerChild (INode *node) |
virtual void | setParent (const INode *newParent) |
const INode * | parent () const |
INode * | parent () |
int | copyNumber (const INode *node) const |
Returns copyNumber of child, which takes into account existence of children with same name. | |
std::string | displayName () const |
Returns display name, composed from the name of node and it's copy number. | |
ParameterPool * | createParameterTree () const |
Creates new parameter pool, with all local parameters and those of its children. | |
![]() | |
IParameterized (const std::string &name="") | |
IParameterized (const IParameterized &other) | |
IParameterized & | operator= (const IParameterized &other)=delete |
ParameterPool * | parameterPool () const |
Returns pointer to the parameter pool. | |
std::string | parametersToString () const |
Returns multiline string representing available parameters. | |
RealParameter & | registerParameter (const std::string &name, double *parpointer) |
void | registerVector (const std::string &base_name, kvector_t *p_vec, const std::string &units="nm") |
void | setParameterValue (const std::string &name, double value) |
void | setVectorValue (const std::string &base_name, kvector_t value) |
RealParameter * | parameter (const std::string &name) const |
Returns parameter with given 'name'. | |
virtual void | onChange () |
Action to be taken in inherited class when a parameter has changed. | |
void | removeParameter (const std::string &name) |
void | removeVector (const std::string &base_name) |
void | setName (const std::string &name) |
const std::string & | getName () const |
Additional Inherited Members | |
![]() | |
static std::string | XComponentName (const std::string &base_name) |
static std::string | YComponentName (const std::string &base_name) |
static std::string | ZComponentName (const std::string &base_name) |
![]() | |
Simulation2D (const Simulation2D &other) | |
virtual void | initUnitConverter () |
size_t | numberOfSimulationElements () const override |
Gets the number of elements this simulation needs to calculate. | |
std::unique_ptr< IComputation > | generateSingleThreadedComputation (size_t start, size_t n_elements) override |
Generate a single threaded computation for a given range of simulation elements. More... | |
std::vector< SimulationElement > | generateSimulationElements (const Beam &beam) |
Generate simulation elements for given beam. | |
void | normalize (size_t start_ind, size_t n_elements) override |
Normalize the detector counts to beam intensity, to solid angle, and to exposure angle. More... | |
void | addBackgroundIntensity (size_t start_ind, size_t n_elements) override |
void | addDataToCache (double weight) override |
void | moveDataFromCache () override |
![]() | |
Simulation (const Simulation &other) | |
const SimulationOptions & | options () const |
ProgressHandler & | progress () |
![]() | |
std::vector< SimulationElement > | m_sim_elements |
std::vector< double > | m_cache |
![]() | |
const size_t | m_NP |
std::vector< double > | m_P |
Main class to run an off-specular simulation.
Definition at line 26 of file OffSpecSimulation.h.