BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
DepthProbeSimulation Class Reference
+ Inheritance diagram for DepthProbeSimulation:

Public Member Functions

DepthProbeSimulation * clone () const override
 
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.
 
void setBeamParameters (double lambda, int nbins, double alpha_i_min, double alpha_i_max, const IFootprintFactor *beam_shape=nullptr)
 Sets beam parameters with alpha_i of the beam defined in the range.
 
void setZSpan (size_t n_bins, double z_min, double z_max)
 Set z positions for intensity calculations. More...
 
const IAxis * getAlphaAxis () const
 Returns a pointer to incident angle axis.
 
const IAxis * getZAxis () const
 Returns a pointer to z-position axis.
 
size_t intensityMapSize () const override
 Returns the total number of the intensity values in the simulation result.
 
std::unique_ptr< IUnitConverter > createUnitConverter () const
 
- Public Member Functions inherited from Simulation
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
 
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 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 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
 

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 SimulationOptions & options () const
 
ProgressHandler & progress ()
 
- Protected Attributes inherited from INode
const size_t m_NP
 
std::vector< double > m_P
 

Detailed Description

Definition at line 33 of file DepthProbeSimulation.h.

Member Function Documentation

◆ setZSpan()

void DepthProbeSimulation::setZSpan ( size_t  n_bins,
double  z_min,
double  z_max 
)

Set z positions for intensity calculations.

Negative z's correspond to the area under sample surface. The more negative z is, the deeper layer corresponds to it.

Definition at line 68 of file DepthProbeSimulation.cpp.


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