BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SpecularSimulation Class Reference

Main class to run a specular simulation. More...

+ Inheritance diagram for SpecularSimulation:

Public Member Functions

SpecularSimulationclone () const override
 
void prepareSimulation () override
 Put into a clean state for running a simulation.
 
void accept (INodeVisitor *visitor) const override final
 Calls the INodeVisitor's visit method.
 
SimulationResult result () const override
 Returns the results of the simulation in a format that supports unit conversion and export to numpy arrays. More...
 
void setScan (const ISpecularScan &scan)
 Sets chosen specular scan to the simulation.
 
const IAxiscoordinateAxis () const
 Returns a pointer to coordinate axis.
 
const IFootprintFactorfootprintFactor () const
 Returns a pointer to footprint factor holder.
 
size_t intensityMapSize () const override
 Returns the total number of the intensity values in the simulation result.
 
const ISpecularScandataHandler () const
 Returns internal data handler.
 
- Public Member Functions inherited from 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 Instrumentinstrument () const
 
Instrumentinstrument ()
 
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 MultiLayersample () const
 
void setSampleBuilder (const std::shared_ptr< ISampleBuilder > &sample_builder)
 
void setBackground (const IBackground &bg)
 
const IBackgroundbackground () const
 
void addParameterDistribution (const std::string &param_name, const IDistribution1D &distribution, size_t nbr_samples, double sigma_factor=0.0, const RealLimits &limits=RealLimits())
 
void addParameterDistribution (const ParameterDistribution &par_distr)
 
const DistributionHandlergetDistributionHandler () const
 
void setOptions (const SimulationOptions &options)
 
const SimulationOptionsgetOptions () const
 
SimulationOptionsgetOptions ()
 
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 std::string treeToString () const
 Returns multiline string representing tree structure below the node.
 
void registerChild (INode *node)
 
virtual void setParent (const INode *newParent)
 
const INodeparent () const
 
INodeparent ()
 
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.
 
ParameterPoolcreateParameterTree () 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)
 
IParameterizedoperator= (const IParameterized &other)=delete
 
ParameterPoolparameterPool () const
 Returns pointer to the parameter pool.
 
std::string parametersToString () const
 Returns multiline string representing available parameters.
 
RealParameterregisterParameter (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)
 
RealParameterparameter (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 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 Member Functions inherited from Simulation
 Simulation (const Simulation &other)
 
virtual void transferResultsToIntensityMap ()
 Creates the appropriate data structure (e.g. More...
 
virtual void updateIntensityMap ()
 
const SimulationOptionsoptions () const
 
ProgressHandlerprogress ()
 
- Protected Attributes inherited from INode
const size_t m_NP
 
std::vector< double > m_P
 

Detailed Description

Main class to run a specular simulation.

Definition at line 32 of file SpecularSimulation.h.

Member Function Documentation

◆ result()

SimulationResult SpecularSimulation::result ( ) const
overridevirtual

Returns the results of the simulation in a format that supports unit conversion and export to numpy arrays.

If simulation was not run, returns an array of proper size filled with zeros.

Implements Simulation.

Definition at line 107 of file SpecularSimulation.cpp.


The documentation for this class was generated from the following files: