BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Pure virtual base class of OffSpecularSimulation, GISASSimulation and SpecularSimulation. More...
Public Member Functions | |
virtual Simulation * | clone () const =0 |
virtual void | prepareSimulation () |
Put into a clean state for running a simulation. | |
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 |
virtual size_t | intensityMapSize () const =0 |
Returns the total number of the intensity values in the simulation result. | |
virtual SimulationResult | result () const =0 |
Returns the results of the simulation in a format that supports unit conversion and export to numpy arrays. | |
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... | |
Public Member Functions inherited from ICloneable | |
ICloneable (const ICloneable &)=delete | |
ICloneable (ICloneable &&)=default | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) | |
Public Member Functions inherited from INode | |
INode (const NodeMeta &meta, const std::vector< double > &PValues) | |
virtual void | accept (INodeVisitor *visitor) const =0 |
Calls the INodeVisitor's visit method. | |
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. | |
Public Member Functions inherited from IParameterized | |
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 |
Protected Member Functions | |
Simulation (const Simulation &other) | |
virtual void | transferResultsToIntensityMap () |
Creates the appropriate data structure (e.g. More... | |
virtual void | initSimulationElementVector ()=0 |
Initializes the vector of Simulation elements. | |
virtual void | updateIntensityMap () |
virtual size_t | numberOfSimulationElements () const =0 |
Gets the number of elements this simulation needs to calculate. | |
const SimulationOptions & | options () const |
ProgressHandler & | progress () |
Friends | |
class | MPISimulation |
Additional Inherited Members | |
Static Public Member Functions inherited from IParameterized | |
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) |
Protected Attributes inherited from INode | |
const size_t | m_NP |
std::vector< double > | m_P |
Pure virtual base class of OffSpecularSimulation, GISASSimulation and SpecularSimulation.
Holds the common infrastructure to run a simulation: multithreading, batch processing, weighting over parameter distributions, ...
Definition at line 37 of file Simulation.h.
void Simulation::runSimulation | ( | ) |
Run a simulation, possibly averaged over parameter distributions.
Run simulation with possible averaging over parameter distributions.
Definition at line 200 of file Simulation.cpp.
SimulationResult Simulation::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.
User data will be cropped to the ROI defined in the simulation, amplitudes in areas corresponding to the masked areas of the detector will be set to zero.
Definition at line 317 of file Simulation.cpp.
|
inlineprotectedvirtual |
Creates the appropriate data structure (e.g.
2D intensity map) from the calculated SimulationElement objects
Definition at line 110 of file Simulation.h.