BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
DepthProbeSimulation () | |
~DepthProbeSimulation () override | |
DepthProbeSimulation * | clone () const override |
void | accept (INodeVisitor *visitor) const override final |
SimulationResult | result () const override |
void | setBeamParameters (double lambda, int nbins, double alpha_i_min, double alpha_i_max, const IFootprintFactor *beam_shape=nullptr) |
void | setZSpan (size_t n_bins, double z_min, double z_max) |
const IAxis * | getAlphaAxis () const |
const IAxis * | getZAxis () const |
size_t | intensityMapSize () const override |
std::unique_ptr< IUnitConverter > | createUnitConverter () const |
virtual void | prepareSimulation () |
void | runSimulation () |
void | runMPISimulation () |
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) |
void | setDetectorResolutionFunction (const IResolutionFunction2D &resolution_function) |
void | removeDetectorResolutionFunction () |
void | setAnalyzerProperties (const kvector_t direction, double efficiency, double total_transmission) |
void | setSample (const MultiLayer &sample) |
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 () |
std::vector< const INode * > | getChildren () const |
SimulationResult | convertData (const OutputData< double > &data, bool put_masked_areas_to_zero=true) |
virtual void | transferToCPP () |
virtual std::string | treeToString () const |
void | registerChild (INode *node) |
virtual void | setParent (const INode *newParent) |
const INode * | parent () const |
INode * | parent () |
int | copyNumber (const INode *node) const |
std::string | displayName () const |
ParameterPool * | createParameterTree () const |
ParameterPool * | parameterPool () const |
std::string | parametersToString () const |
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 |
virtual void | onChange () |
void | removeParameter (const std::string &name) |
void | removeVector (const std::string &base_name) |
void | setName (const std::string &name) |
const std::string & | getName () const |
Static Public Member Functions | |
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 | |
virtual void | transferResultsToIntensityMap () |
virtual void | updateIntensityMap () |
const SimulationOptions & | options () const |
ProgressHandler & | progress () |
Protected Attributes | |
const size_t | m_NP |
std::vector< double > | m_P |
Private Member Functions | |
DepthProbeSimulation (const DepthProbeSimulation &other) | |
void | setBeamParameters (double lambda, const IAxis &alpha_axis, const IFootprintFactor *beam_shape) |
void | initSimulationElementVector () override |
size_t | numberOfSimulationElements () const override |
std::vector< DepthProbeElement > | generateSimulationElements (const Beam &beam) |
std::unique_ptr< IComputation > | generateSingleThreadedComputation (size_t start, size_t n_elements) override |
void | validityCheck () const |
void | checkCache () const |
void | validateParametrization (const ParameterDistribution &par_distr) const override |
void | initialize () |
void | normalize (size_t start_ind, size_t n_elements) override |
void | addBackgroundIntensity (size_t start_ind, size_t n_elements) override |
void | addDataToCache (double weight) override |
void | moveDataFromCache () override |
double | incidentAngle (size_t index) const |
std::unique_ptr< OutputData< double > > | createIntensityData () const |
std::vector< double > | rawResults () const override |
void | setRawResults (const std::vector< double > &raw_data) override |
void | runSingleSimulation (size_t batch_start, size_t batch_size, double weight=1.0) |
Private Attributes | |
std::unique_ptr< IAxis > | m_alpha_axis |
std::unique_ptr< IAxis > | m_z_axis |
std::vector< DepthProbeElement > | m_sim_elements |
std::vector< std::valarray< double > > | m_cache |
SimulationOptions | m_options |
ProgressHandler | m_progress |
SampleProvider | m_sample_provider |
DistributionHandler | m_distribution_handler |
Instrument | m_instrument |
std::unique_ptr< IBackground > | m_background |
const INode * | m_parent {nullptr} |
std::string | m_name |
std::unique_ptr< ParameterPool > | m_pool |
Definition at line 33 of file DepthProbeSimulation.h.
DepthProbeSimulation::DepthProbeSimulation | ( | ) |
Definition at line 37 of file DepthProbeSimulation.cpp.
References initialize().
Referenced by clone().
|
overridedefault |
|
private |
Definition at line 105 of file DepthProbeSimulation.cpp.
References initialize(), m_alpha_axis, m_sim_elements, and m_z_axis.
|
overridevirtual |
Implements Simulation.
Definition at line 44 of file DepthProbeSimulation.cpp.
References DepthProbeSimulation().
|
inlinefinaloverridevirtual |
Calls the INodeVisitor's visit method.
Implements INode.
Definition at line 41 of file DepthProbeSimulation.h.
|
overridevirtual |
Returns the results of the simulation in a format that supports unit conversion and export to numpy arrays.
Implements Simulation.
Definition at line 54 of file DepthProbeSimulation.cpp.
References createIntensityData(), createUnitConverter(), and validityCheck().
Referenced by createIntensityData(), generateSimulationElements(), and rawResults().
void DepthProbeSimulation::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.
Definition at line 61 of file DepthProbeSimulation.cpp.
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.
References m_z_axis.
const IAxis * DepthProbeSimulation::getAlphaAxis | ( | ) | const |
Returns a pointer to incident angle axis.
Definition at line 76 of file DepthProbeSimulation.cpp.
References m_alpha_axis.
Referenced by createIntensityData(), generateSimulationElements(), numberOfSimulationElements(), rawResults(), setRawResults(), and validityCheck().
const IAxis * DepthProbeSimulation::getZAxis | ( | ) | const |
Returns a pointer to z-position axis.
Definition at line 84 of file DepthProbeSimulation.cpp.
References m_z_axis.
Referenced by createIntensityData(), generateSimulationElements(), initSimulationElementVector(), rawResults(), and setRawResults().
|
overridevirtual |
Returns the total number of the intensity values in the simulation result.
Implements Simulation.
Definition at line 92 of file DepthProbeSimulation.cpp.
References m_alpha_axis, and m_z_axis.
std::unique_ptr< IUnitConverter > DepthProbeSimulation::createUnitConverter | ( | ) | const |
Definition at line 100 of file DepthProbeSimulation.cpp.
References Simulation::instrument(), m_alpha_axis, and m_z_axis.
Referenced by result().
|
private |
Sets beam parameters with alpha_i of the beam defined in the range.
Definition at line 117 of file DepthProbeSimulation.cpp.
References IAxis::clone(), Instrument::getBeam(), IAxis::getMax(), IAxis::getMin(), Simulation::instrument(), m_alpha_axis, Instrument::setBeamParameters(), Instrument::setDetector(), Beam::setFootprintFactor(), IAxis::size(), anonymous_namespace{DepthProbeSimulation.cpp}::zero_alpha_i, and anonymous_namespace{DepthProbeSimulation.cpp}::zero_phi_i.
|
overrideprivatevirtual |
Initializes the vector of Simulation elements.
Implements Simulation.
Definition at line 148 of file DepthProbeSimulation.cpp.
References generateSimulationElements(), Instrument::getBeam(), getZAxis(), Simulation::instrument(), m_cache, and m_sim_elements.
|
overrideprivatevirtual |
Gets the number of elements this simulation needs to calculate.
Implements Simulation.
Definition at line 49 of file DepthProbeSimulation.cpp.
References getAlphaAxis(), and IAxis::size().
|
private |
Generate simulation elements for given beam.
Definition at line 158 of file DepthProbeSimulation.cpp.
References anonymous_namespace{DepthProbeSimulation.cpp}::alpha_limits, Beam::getAlpha(), getAlphaAxis(), Beam::getWavelength(), getZAxis(), incidentAngle(), RealLimits::isInRange(), result(), IAxis::size(), and anonymous_namespace{SlicedCylindersBuilder.cpp}::wavelength().
Referenced by initSimulationElementVector().
|
overrideprivatevirtual |
Generate a single threaded computation for a given range of simulation elements.
start | Index of the first element to include into computation |
n_elements | Number of elements to process |
Implements Simulation.
Definition at line 177 of file DepthProbeSimulation.cpp.
References ASSERT, m_sim_elements, Simulation::options(), Simulation::progress(), and Simulation::sample().
|
private |
Checks if simulation data is ready for retrieval.
Definition at line 185 of file DepthProbeSimulation.cpp.
References getAlphaAxis(), m_sim_elements, and Simulation::sample().
Referenced by rawResults(), result(), and setRawResults().
|
private |
Definition at line 199 of file DepthProbeSimulation.cpp.
References m_cache, and m_sim_elements.
Referenced by addDataToCache(), and moveDataFromCache().
|
overrideprivatevirtual |
Checks the distribution validity for simulation.
Reimplemented from Simulation.
Definition at line 206 of file DepthProbeSimulation.cpp.
References INode::createParameterTree(), ParameterDistribution::getDistribution(), ParameterDistribution::getMainParameterName(), and IDistribution1D::getMean().
|
private |
Initializes simulation.
Definition at line 221 of file DepthProbeSimulation.cpp.
References Instrument::getBeam(), Simulation::instrument(), RealLimits::limited(), M_PI_2, IParameterized::parameter(), RealParameter::setLimits(), and IParameterized::setName().
Referenced by DepthProbeSimulation().
|
overrideprivatevirtual |
Normalize the detector counts to beam intensity, to solid angle, and to exposure angle.
start_ind | Index of the first element to operate on |
n_elements | Number of elements to process |
Implements Simulation.
Definition at line 231 of file DepthProbeSimulation.cpp.
References IFootprintFactor::calculate(), Beam::footprintFactor(), Instrument::getBeam(), Simulation::getBeamIntensity(), Simulation::instrument(), and m_sim_elements.
|
overrideprivatevirtual |
Implements Simulation.
Definition at line 247 of file DepthProbeSimulation.cpp.
References Simulation::background().
|
overrideprivatevirtual |
Implements Simulation.
Definition at line 254 of file DepthProbeSimulation.cpp.
References checkCache(), m_cache, and m_sim_elements.
|
overrideprivatevirtual |
Implements Simulation.
Definition at line 261 of file DepthProbeSimulation.cpp.
References checkCache(), m_cache, and m_sim_elements.
|
private |
Definition at line 270 of file DepthProbeSimulation.cpp.
References m_alpha_axis.
Referenced by generateSimulationElements().
|
private |
Creates intensity data from simulation elements.
Definition at line 275 of file DepthProbeSimulation.cpp.
References getAlphaAxis(), getZAxis(), m_sim_elements, result(), and IAxis::size().
Referenced by result().
|
overrideprivatevirtual |
Implements Simulation.
Definition at line 292 of file DepthProbeSimulation.cpp.
References getAlphaAxis(), getZAxis(), m_sim_elements, result(), IAxis::size(), and validityCheck().
|
overrideprivatevirtual |
Implements Simulation.
Definition at line 311 of file DepthProbeSimulation.cpp.
References getAlphaAxis(), getZAxis(), m_sim_elements, IAxis::size(), and validityCheck().
|
virtualinherited |
Put into a clean state for running a simulation.
Reimplemented in SpecularSimulation, Simulation2D, GISASSimulation, and OffSpecSimulation.
Definition at line 189 of file Simulation.cpp.
References MultiLayerUtils::ContainsCompatibleMaterials(), Simulation::m_sample_provider, SampleProvider::sample(), and SampleProvider::updateSample().
Referenced by Simulation2D::prepareSimulation(), SpecularSimulation::prepareSimulation(), and Simulation::runSimulation().
|
inherited |
Run a simulation, possibly averaged over parameter distributions.
Run simulation with possible averaging over parameter distributions.
Definition at line 200 of file Simulation.cpp.
References INode::createParameterTree(), SimulationOptions::getCurrentBatch(), SimulationOptions::getNumberOfBatches(), anonymous_namespace{Simulation.cpp}::getNumberOfElements(), anonymous_namespace{Simulation.cpp}::getStartIndex(), DistributionHandler::getTotalNumberOfSamples(), Simulation::m_distribution_handler, Simulation::m_options, Simulation::m_progress, Simulation::moveDataFromCache(), Simulation::numberOfSimulationElements(), Simulation::prepareSimulation(), ProgressHandler::reset(), Simulation::runSingleSimulation(), ProgressHandler::setExpectedNTicks(), DistributionHandler::setParameterToMeans(), DistributionHandler::setParameterValues(), and Simulation::transferResultsToIntensityMap().
|
inherited |
Run a simulation in a MPI environment.
Definition at line 229 of file Simulation.cpp.
References MPISimulation::runSimulation().
|
inherited |
Definition at line 235 of file Simulation.cpp.
References Simulation::m_instrument, and Simulation::updateIntensityMap().
|
inlineinherited |
Definition at line 55 of file Simulation.h.
References Simulation::m_instrument.
Referenced by Simulation2D::addMask(), OffSpecSimulation::checkInitialization(), Simulation::convertData(), createUnitConverter(), OffSpecSimulation::createUnitConverter(), SimulationToPython::defineDetector(), SimulationToPython::defineDetectorPolarizationAnalysis(), SimulationToPython::defineDetectorResolutionFunction(), SimulationToPython::defineGISASBeam(), SimulationToPython::defineMasks(), SimulationToPython::defineOffSpecBeam(), SimulationToPython::defineSpecularScan(), Simulation2D::generateSimulationElements(), Simulation::getBeamIntensity(), Simulation::getChildren(), initialize(), SpecularSimulation::initialize(), initSimulationElementVector(), GISASSimulation::initSimulationElementVector(), OffSpecSimulation::initSimulationElementVector(), SpecularSimulation::initSimulationElementVector(), GISASSimulation::intensityMapSize(), OffSpecSimulation::intensityMapSize(), Simulation2D::maskAll(), normalize(), SpecularSimulation::normalize(), GISASSimulation::prepareSimulation(), Simulation2D::prepareSimulation(), SpecularSimulation::prepareSimulation(), Simulation::removeDetectorResolutionFunction(), Simulation2D::removeMasks(), GISASSimulation::result(), OffSpecSimulation::result(), Simulation::setAnalyzerProperties(), Simulation::setBeamIntensity(), setBeamParameters(), OffSpecSimulation::setBeamParameters(), GISASSimulation::setBeamParameters(), Simulation::setBeamPolarization(), Simulation2D::setDetector(), Simulation2D::setDetectorParameters(), Simulation::setDetectorResolutionFunction(), Simulation2D::setRegionOfInterest(), SpecularSimulation::setScan(), OffSpecSimulation::transferDetectorImage(), OffSpecSimulation::transferResultsToIntensityMap(), and OffSpecSimulation::updateIntensityMap().
|
inlineinherited |
|
inherited |
Definition at line 173 of file Simulation.cpp.
References Simulation::instrument(), and Instrument::setBeamIntensity().
Referenced by StandardSimulations::GISASWithMasks().
|
inherited |
Definition at line 178 of file Simulation.cpp.
References Instrument::getBeamIntensity(), and Simulation::instrument().
Referenced by normalize(), Simulation2D::normalize(), and SpecularSimulation::normalize().
|
inherited |
Sets the beam polarization according to the given Bloch vector.
Definition at line 184 of file Simulation.cpp.
References Simulation::instrument(), and Instrument::setBeamPolarization().
Referenced by StandardSimulations::BasicGISAS00(), StandardSimulations::BasicPolarizedGISAS(), StandardSimulations::MaxiGISAS00(), StandardSimulations::MiniGISASPolarizationMM(), StandardSimulations::MiniGISASPolarizationMP(), StandardSimulations::MiniGISASPolarizationPM(), and StandardSimulations::MiniGISASPolarizationPP().
|
inherited |
Definition at line 156 of file Simulation.cpp.
References Simulation::instrument(), and Instrument::setDetectorResolutionFunction().
Referenced by StandardSimulations::MiniGISASDetectorResolution().
|
inherited |
Definition at line 161 of file Simulation.cpp.
References Simulation::instrument(), and Instrument::removeDetectorResolution().
|
inherited |
Sets the polarization analyzer characteristics of the detector.
Definition at line 167 of file Simulation.cpp.
References Simulation::instrument(), and Instrument::setAnalyzerProperties().
Referenced by StandardSimulations::BasicGISAS00(), StandardSimulations::BasicPolarizedGISAS(), StandardSimulations::MaxiGISAS00(), StandardSimulations::MiniGISASPolarizationMM(), StandardSimulations::MiniGISASPolarizationMP(), StandardSimulations::MiniGISASPolarizationPM(), and StandardSimulations::MiniGISASPolarizationPP().
|
inherited |
The MultiLayer object will not be owned by the Simulation object.
Definition at line 242 of file Simulation.cpp.
References Simulation::m_sample_provider, Simulation::sample(), and SampleProvider::setSample().
|
inherited |
Definition at line 247 of file Simulation.cpp.
References Simulation::m_sample_provider, and SampleProvider::sample().
Referenced by SimulationToPython::generateSimulationCode(), generateSingleThreadedComputation(), Simulation2D::generateSingleThreadedComputation(), SpecularSimulation::generateSingleThreadedComputation(), Simulation::setSample(), and validityCheck().
|
inherited |
Definition at line 252 of file Simulation.cpp.
References Simulation::m_sample_provider, and SampleProvider::setBuilder().
|
inherited |
Definition at line 257 of file Simulation.cpp.
References IBackground::clone(), Simulation::m_background, and INode::registerChild().
Referenced by StandardSimulations::ConstantBackgroundGISAS(), and Simulation::Simulation().
|
inlineinherited |
Definition at line 75 of file Simulation.h.
References Simulation::m_background.
Referenced by addBackgroundIntensity(), Simulation2D::addBackgroundIntensity(), SpecularSimulation::addBackgroundIntensity(), and SimulationToPython::defineBackground().
|
inherited |
Definition at line 273 of file Simulation.cpp.
Referenced by StandardSimulations::MiniGISASBeamDivergence().
|
inherited |
Definition at line 281 of file Simulation.cpp.
References DistributionHandler::addParameterDistribution(), Simulation::m_distribution_handler, and Simulation::validateParametrization().
|
inlineinherited |
Definition at line 89 of file Simulation.h.
References Simulation::m_distribution_handler.
Referenced by SimulationToPython::defineParameterDistributions().
|
inlineinherited |
Definition at line 91 of file Simulation.h.
References Simulation::m_options, and Simulation::options().
|
inlineinherited |
Definition at line 92 of file Simulation.h.
References Simulation::m_options.
Referenced by SimulationToPython::defineSimulationOptions(), StandardSimulations::MiniGISASMonteCarlo(), and StandardSimulations::MiniGISASSpecularPeak().
|
inlineinherited |
|
inlineinherited |
Definition at line 95 of file Simulation.h.
References Simulation::m_progress, and ProgressHandler::subscribe().
|
inherited |
Initializes a progress monitor that prints to stdout.
Definition at line 145 of file Simulation.cpp.
References Simulation::m_progress, and ProgressHandler::subscribe().
|
virtualinherited |
Returns a vector of children (const).
Reimplemented from INode.
Definition at line 263 of file Simulation.cpp.
References SampleProvider::getChildren(), Simulation::instrument(), Simulation::m_background, Simulation::m_sample_provider, and Simulation::result().
|
inherited |
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.
References UnitConverterUtils::createConverter(), UnitConverterUtils::createOutputData(), Instrument::detector(), SimulationAreaIterator::detectorIndex(), anonymous_namespace{Simulation.cpp}::detHasSameDimensions(), OutputData< T >::getRawDataVector(), Simulation::instrument(), IDetector::iterate(), and SimulationAreaIterator::roiIndex().
|
inlineprotectedvirtualinherited |
Creates the appropriate data structure (e.g.
2D intensity map) from the calculated SimulationElement objects
Reimplemented in OffSpecSimulation.
Definition at line 110 of file Simulation.h.
Referenced by Simulation::runSimulation(), Simulation2D::setRawResults(), and SpecularSimulation::setRawResults().
|
inlineprotectedvirtualinherited |
Reimplemented in OffSpecSimulation.
Definition at line 115 of file Simulation.h.
Referenced by Simulation2D::setDetectorParameters(), and Simulation::setInstrument().
|
inlineprotectedinherited |
Definition at line 120 of file Simulation.h.
References Simulation::m_options.
Referenced by generateSingleThreadedComputation(), Simulation2D::generateSingleThreadedComputation(), SpecularSimulation::generateSingleThreadedComputation(), and Simulation::setOptions().
|
inlineprotectedinherited |
Definition at line 121 of file Simulation.h.
References Simulation::m_progress.
Referenced by generateSingleThreadedComputation(), Simulation2D::generateSingleThreadedComputation(), and SpecularSimulation::generateSingleThreadedComputation().
|
privateinherited |
Runs a single simulation with fixed parameter values.
If desired, the simulation is run in several threads.
Definition at line 289 of file Simulation.cpp.
References Simulation::addBackgroundIntensity(), Simulation::addDataToCache(), ASSERT, Simulation::generateSingleThreadedComputation(), anonymous_namespace{Simulation.cpp}::getNumberOfElements(), SimulationOptions::getNumberOfThreads(), anonymous_namespace{Simulation.cpp}::getStartIndex(), Simulation::initSimulationElementVector(), Simulation::m_options, Simulation::normalize(), and anonymous_namespace{Simulation.cpp}::runComputations().
Referenced by Simulation::runSimulation().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
virtualinherited |
Returns multiline string representing tree structure below the node.
Definition at line 53 of file INode.cpp.
References NodeUtils::nodeToString().
|
inherited |
Definition at line 58 of file INode.cpp.
References ASSERT, and INode::setParent().
Referenced by ParticleLayout::addAndRegisterAbstractParticle(), ParticleCoreShell::addAndRegisterCore(), MultiLayer::addAndRegisterInterface(), MultiLayer::addAndRegisterLayer(), ParticleCoreShell::addAndRegisterShell(), Layer::addLayout(), ParticleComposition::addParticlePointer(), Beam::Beam(), Crystal::Crystal(), IDetector::IDetector(), Simulation::initialize(), MesoCrystal::initialize(), Instrument::Instrument(), Beam::operator=(), Instrument::operator=(), Particle::Particle(), ParticleDistribution::ParticleDistribution(), IParticle::rotate(), ParticleLayout::setAndRegisterInterferenceFunction(), Simulation::setBackground(), InterferenceFunction1DLattice::setDecayFunction(), InterferenceFunction2DLattice::setDecayFunction(), Instrument::setDetector(), IDetector::setDetectorResolution(), Beam::setFootprintFactor(), Particle::setFormFactor(), InterferenceFunctionFinite3DLattice::setLattice(), InterferenceFunction2DLattice::setLattice(), InterferenceFunction2DParaCrystal::setLattice(), InterferenceFunction2DSuperLattice::setLattice(), InterferenceFunctionFinite2DLattice::setLattice(), InterferenceFunctionRadialParaCrystal::setProbabilityDistribution(), InterferenceFunction2DParaCrystal::setProbabilityDistributions(), ConvolutionDetectorResolution::setResolutionFunction(), IParticle::setRotation(), LayerInterface::setRoughness(), and InterferenceFunction2DSuperLattice::setSubstructureIFF().
|
virtualinherited |
Reimplemented in SampleProvider.
Definition at line 69 of file INode.cpp.
References INode::m_parent.
Referenced by INode::registerChild(), SampleProvider::setBuilder(), and SampleProvider::setParent().
|
inherited |
Definition at line 74 of file INode.cpp.
References INode::m_parent.
Referenced by INode::copyNumber(), INode::createParameterTree(), NodeUtils::nodePath(), Lattice2D::onChange(), SampleProvider::setBuilder(), SampleProvider::setParent(), and SampleProvider::setSample().
|
inherited |
|
inherited |
Returns copyNumber of child, which takes into account existence of children with same name.
Definition at line 84 of file INode.cpp.
References INode::getChildren(), IParameterized::getName(), and INode::parent().
Referenced by INode::displayName().
|
inherited |
Returns display name, composed from the name of node and it's copy number.
Definition at line 105 of file INode.cpp.
References INode::copyNumber(), IParameterized::getName(), and INode::m_parent.
Referenced by NodeUtils::nodePath(), and anonymous_namespace{NodeUtils.cpp}::nodeString().
|
virtualinherited |
Creates new parameter pool, with all local parameters and those of its children.
Reimplemented from IParameterized.
Definition at line 116 of file INode.cpp.
References ParameterPool::copyToExternalPool(), NodeIterator< Strategy >::first(), NodeIterator< Strategy >::getCurrent(), NodeIterator< Strategy >::isDone(), NodeIterator< Strategy >::next(), NodeUtils::nodePath(), IParameterized::parameterPool(), and INode::parent().
Referenced by ParticleDistribution::generateParticles(), Simulation::runSimulation(), validateParametrization(), OffSpecSimulation::validateParametrization(), and SpecularSimulation::validateParametrization().
|
inlineinherited |
Returns pointer to the parameter pool.
Definition at line 38 of file IParameterized.h.
References IParameterized::m_pool.
Referenced by pyfmt2::argumentList(), SampleBuilderNode::borrow_builder_parameters(), INode::createParameterTree(), INode::INode(), IParameterized::IParameterized(), anonymous_namespace{NodeUtils.cpp}::poolToString(), SampleBuilderNode::reset(), and IDistribution1D::setUnits().
|
inherited |
Returns multiline string representing available parameters.
Definition at line 40 of file IParameterized.cpp.
References IParameterized::createParameterTree().
|
inherited |
Definition at line 48 of file IParameterized.cpp.
References IParameterized::getName(), IParameterized::m_pool, and IParameterized::onChange().
Referenced by BasicLattice::BasicLattice(), Beam::Beam(), CylindersInBABuilder::CylindersInBABuilder(), DetectionProperties::DetectionProperties(), HexagonalLattice::HexagonalLattice(), IInterferenceFunction::IInterferenceFunction(), INode::INode(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), Lattice2D::Lattice2D(), LayerRoughness::LayerRoughness(), MultiLayer::MultiLayer(), ParticleDistribution::ParticleDistribution(), PlainMultiLayerBySLDBuilder::PlainMultiLayerBySLDBuilder(), IParticle::registerAbundance(), ParticleLayout::registerParticleDensity(), Layer::registerThickness(), IParameterized::registerVector(), ParticleLayout::registerWeight(), ResolutionFunction2DGaussian::ResolutionFunction2DGaussian(), ResonatorBuilder::ResonatorBuilder(), Lattice2D::setRotationEnabled(), SquareLattice::SquareLattice(), and TriangularRippleBuilder::TriangularRippleBuilder().
|
inherited |
Definition at line 54 of file IParameterized.cpp.
References IParameterized::registerParameter(), RealParameter::setUnit(), IParameterized::XComponentName(), IParameterized::YComponentName(), and IParameterized::ZComponentName().
Referenced by Beam::Beam(), DetectionProperties::DetectionProperties(), InterferenceFunctionTwin::InterferenceFunctionTwin(), MultiLayer::MultiLayer(), Lattice::registerBasisVectors(), and IParticle::registerPosition().
|
inherited |
Definition at line 62 of file IParameterized.cpp.
References IParameterized::createParameterTree(), IParameterized::m_pool, and ParameterPool::setMatchedParametersValue().
Referenced by AsymRippleBuilder::buildSample(), and IParameterized::setVectorValue().
|
inherited |
Definition at line 75 of file IParameterized.cpp.
References IParameterized::setParameterValue(), BasicVector3D< T >::x(), IParameterized::XComponentName(), BasicVector3D< T >::y(), IParameterized::YComponentName(), BasicVector3D< T >::z(), and IParameterized::ZComponentName().
|
inherited |
Returns parameter with given 'name'.
Definition at line 83 of file IParameterized.cpp.
References IParameterized::m_pool.
Referenced by initialize(), SpecularSimulation::initialize(), IParticle::registerAbundance(), Lattice::registerBasisVectors(), ParticleLayout::registerParticleDensity(), IParticle::registerPosition(), Layer::registerThickness(), Lattice2D::setRotationEnabled(), and DistributionLogNormal::setUnits().
|
inlinevirtualinherited |
Action to be taken in inherited class when a parameter has changed.
Reimplemented in IProfileRipple, FormFactorSphereLogNormalRadius, FormFactorSphereGaussianRadius, FormFactorGaussSphere, ISawtoothRipple, ICosineRipple, IProfileRectangularRipple, FormFactorTruncatedSpheroid, FormFactorTruncatedSphere, FormFactorTruncatedCube, FormFactorTetrahedron, FormFactorPyramid, FormFactorPrism6, FormFactorPrism3, FormFactorLongBoxLorentz, FormFactorLongBoxGauss, FormFactorIcosahedron, FormFactorHollowSphere, FormFactorHemiEllipsoid, FormFactorFullSpheroid, FormFactorFullSphere, FormFactorEllipsoidalCylinder, FormFactorDodecahedron, FormFactorCylinder, FormFactorCuboctahedron, FormFactorCone6, FormFactorCone, FormFactorCantellatedCube, FormFactorBox, FormFactorAnisoPyramid, InterferenceFunction3DLattice, InterferenceFunction2DLattice, Lattice, and Lattice2D.
Definition at line 58 of file IParameterized.h.
Referenced by Lattice2D::onChange(), and IParameterized::registerParameter().
|
inherited |
Definition at line 88 of file IParameterized.cpp.
References IParameterized::m_pool.
Referenced by IParticle::registerAbundance(), ParticleLayout::registerParticleDensity(), Layer::registerThickness(), IParameterized::removeVector(), and Lattice2D::setRotationEnabled().
|
inherited |
Definition at line 93 of file IParameterized.cpp.
References IParameterized::removeParameter(), IParameterized::XComponentName(), IParameterized::YComponentName(), and IParameterized::ZComponentName().
Referenced by IParticle::registerPosition().
|
staticinherited |
Definition at line 100 of file IParameterized.cpp.
Referenced by Lattice::registerBasisVectors(), IParticle::registerPosition(), IParameterized::registerVector(), IParameterized::removeVector(), and IParameterized::setVectorValue().
|
staticinherited |
Definition at line 105 of file IParameterized.cpp.
Referenced by IParameterized::registerVector(), IParameterized::removeVector(), and IParameterized::setVectorValue().
|
staticinherited |
Definition at line 110 of file IParameterized.cpp.
Referenced by IParameterized::registerVector(), IParameterized::removeVector(), and IParameterized::setVectorValue().
|
inlineinherited |
Definition at line 68 of file IParameterized.h.
References IParameterized::m_name.
Referenced by BasicLattice::BasicLattice(), Beam::Beam(), Layer::clone(), ConvolutionDetectorResolution::ConvolutionDetectorResolution(), LayersWithAbsorptionBuilder::createSampleByIndex(), Basic2DParaCrystalBuilder::createSampleByIndex(), ParticleInVacuumBuilder::createSampleByIndex(), SimpleMagneticRotationBuilder::createSampleByIndex(), Crystal::Crystal(), DetectionProperties::DetectionProperties(), DistributionHandler::DistributionHandler(), FormFactorBAPol::FormFactorBAPol(), FormFactorCoreShell::FormFactorCoreShell(), FormFactorCrystal::FormFactorCrystal(), FormFactorDecoratorMaterial::FormFactorDecoratorMaterial(), FormFactorDecoratorPositionFactor::FormFactorDecoratorPositionFactor(), FormFactorDecoratorRotation::FormFactorDecoratorRotation(), FormFactorDWBA::FormFactorDWBA(), FormFactorDWBAPol::FormFactorDWBAPol(), FormFactorWeighted::FormFactorWeighted(), HexagonalLattice::HexagonalLattice(), IDetector::IDetector(), initialize(), GISASSimulation::initialize(), OffSpecSimulation::initialize(), SpecularSimulation::initialize(), SpecularDetector1D::initialize(), MesoCrystal::initialize(), Particle::initialize(), ParticleComposition::initialize(), INode::INode(), Instrument::Instrument(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DLattice::InterferenceFunction2DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunction2DSuperLattice::InterferenceFunction2DSuperLattice(), InterferenceFunction3DLattice::InterferenceFunction3DLattice(), InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(), InterferenceFunctionFinite3DLattice::InterferenceFunctionFinite3DLattice(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionNone::InterferenceFunctionNone(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), ISampleBuilder::ISampleBuilder(), IsGISAXSDetector::IsGISAXSDetector(), Lattice::Lattice(), Layer::Layer(), LayerInterface::LayerInterface(), LayerRoughness::LayerRoughness(), MultiLayer::MultiLayer(), Beam::operator=(), SampleBuilderNode::operator=(), ParticleCoreShell::ParticleCoreShell(), ParticleDistribution::ParticleDistribution(), ParticleLayout::ParticleLayout(), RectangularDetector::RectangularDetector(), SampleBuilderNode::reset(), ResolutionFunction2DGaussian::ResolutionFunction2DGaussian(), SampleBuilderNode::SampleBuilderNode(), SampleBuilderNode::setSBN(), SphericalDetector::SphericalDetector(), and SquareLattice::SquareLattice().
|
inlineinherited |
Definition at line 69 of file IParameterized.h.
References IParameterized::m_name.
Referenced by Beam::Beam(), Layer::clone(), IFormFactorBorn::computeSlicingEffects(), ConvolutionDetectorResolution::ConvolutionDetectorResolution(), INode::copyNumber(), IParameterized::createParameterTree(), IFormFactor::createSlicedFormFactor(), SampleToPython::defineFormFactors(), SampleToPython::defineInterferenceFunctions(), INode::displayName(), IDetector::IDetector(), Instrument::Instrument(), IParameterized::IParameterized(), Beam::operator=(), SampleBuilderNode::operator=(), anonymous_namespace{ParticleLayout.cpp}::particleDensityIsProvidedByInterference(), IParameterized::registerParameter(), SampleBuilderNode::SampleBuilderNode(), and IFormFactor::sliceFormFactor().
|
private |
Definition at line 120 of file DepthProbeSimulation.h.
Referenced by createUnitConverter(), DepthProbeSimulation(), getAlphaAxis(), incidentAngle(), intensityMapSize(), and setBeamParameters().
|
private |
Definition at line 121 of file DepthProbeSimulation.h.
Referenced by createUnitConverter(), DepthProbeSimulation(), getZAxis(), intensityMapSize(), and setZSpan().
|
private |
Definition at line 122 of file DepthProbeSimulation.h.
Referenced by addDataToCache(), checkCache(), createIntensityData(), DepthProbeSimulation(), generateSingleThreadedComputation(), initSimulationElementVector(), moveDataFromCache(), normalize(), rawResults(), setRawResults(), and validityCheck().
|
private |
Definition at line 123 of file DepthProbeSimulation.h.
Referenced by addDataToCache(), checkCache(), initSimulationElementVector(), and moveDataFromCache().
|
privateinherited |
Definition at line 152 of file Simulation.h.
Referenced by Simulation::getOptions(), Simulation::options(), Simulation::runSimulation(), Simulation::runSingleSimulation(), and Simulation::setOptions().
|
privateinherited |
Definition at line 153 of file Simulation.h.
Referenced by Simulation::progress(), Simulation::runSimulation(), Simulation::setTerminalProgressMonitor(), and Simulation::subscribe().
|
privateinherited |
Definition at line 154 of file Simulation.h.
Referenced by Simulation::getChildren(), Simulation::initialize(), Simulation::prepareSimulation(), Simulation::sample(), Simulation::setSample(), and Simulation::setSampleBuilder().
|
privateinherited |
Definition at line 155 of file Simulation.h.
Referenced by Simulation::addParameterDistribution(), Simulation::getDistributionHandler(), and Simulation::runSimulation().
|
privateinherited |
Definition at line 156 of file Simulation.h.
Referenced by Simulation::initialize(), Simulation::instrument(), and Simulation::setInstrument().
|
privateinherited |
Definition at line 157 of file Simulation.h.
Referenced by Simulation::background(), Simulation::getChildren(), Simulation::setBackground(), and Simulation::Simulation().
|
privateinherited |
Definition at line 81 of file INode.h.
Referenced by INode::displayName(), INode::parent(), and INode::setParent().
|
protectedinherited |
Definition at line 86 of file INode.h.
Referenced by INode::INode().
|
protectedinherited |
Definition at line 87 of file INode.h.
Referenced by INode::INode(), and IFootprintFactor::setWidthRatio().
|
privateinherited |
Definition at line 72 of file IParameterized.h.
Referenced by IParameterized::getName(), and IParameterized::setName().
|
privateinherited |
parameter pool (kind of pointer-to-implementation)
Definition at line 73 of file IParameterized.h.
Referenced by IParameterized::createParameterTree(), IParameterized::parameter(), IParameterized::parameterPool(), IParameterized::registerParameter(), IParameterized::removeParameter(), and IParameterized::setParameterValue().