BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
GISASSimulation () | |
~GISASSimulation () | |
GISASSimulation * | clone () const override |
void | accept (INodeVisitor *visitor) const override |
void | prepareSimulation () override |
SimulationResult | result () const override |
void | setBeamParameters (double wavelength, double alpha_i, double phi_i) |
size_t | intensityMapSize () const override |
void | setDetectorParameters (size_t n_phi, double phi_min, double phi_max, size_t n_alpha, double alpha_min, double alpha_max) |
void | setDetector (const IDetector2D &detector) |
void | removeMasks () |
void | addMask (const IShape2D &shape, bool mask_value=true) |
void | maskAll () |
void | setRegionOfInterest (double xlow, double ylow, double xup, double yup) |
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 | initUnitConverter () |
size_t | numberOfSimulationElements () const override |
std::unique_ptr< IComputation > | generateSingleThreadedComputation (size_t start, size_t n_elements) override |
std::vector< SimulationElement > | generateSimulationElements (const Beam &beam) |
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 |
virtual void | transferResultsToIntensityMap () |
virtual void | updateIntensityMap () |
const SimulationOptions & | options () const |
ProgressHandler & | progress () |
Protected Attributes | |
std::vector< SimulationElement > | m_sim_elements |
std::vector< double > | m_cache |
const size_t | m_NP |
std::vector< double > | m_P |
Private Member Functions | |
GISASSimulation (const GISASSimulation &other) | |
void | initSimulationElementVector () override |
void | initialize () |
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) |
virtual void | validateParametrization (const ParameterDistribution &) const |
Private Attributes | |
std::unique_ptr< DetectorContext > | m_detector_context |
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 |
Main class to run a Grazing-Incidence Small-Angle Scattering simulation.
Definition at line 27 of file GISASSimulation.h.
GISASSimulation::GISASSimulation | ( | ) |
Definition at line 23 of file GISASSimulation.cpp.
References initialize().
Referenced by clone().
|
inline |
Definition at line 31 of file GISASSimulation.h.
|
private |
Definition at line 61 of file GISASSimulation.cpp.
References initialize().
|
inlineoverridevirtual |
Implements Simulation2D.
Definition at line 33 of file GISASSimulation.h.
References GISASSimulation().
|
inlineoverridevirtual |
Calls the INodeVisitor's visit method.
Implements INode.
Definition at line 35 of file GISASSimulation.h.
References INodeVisitor::visit().
|
overridevirtual |
Put into a clean state for running a simulation.
Reimplemented from Simulation.
Definition at line 28 of file GISASSimulation.cpp.
References Instrument::initDetector(), Simulation::instrument(), and Simulation2D::prepareSimulation().
|
overridevirtual |
Returns the results of the simulation in a format that supports unit conversion and export to numpy arrays.
Implements Simulation.
Definition at line 38 of file GISASSimulation.cpp.
References UnitConverterUtils::createConverterForGISAS(), Simulation::instrument(), and Simulation2D::m_sim_elements.
Referenced by intensityMapSize().
void GISASSimulation::setBeamParameters | ( | double | wavelength, |
double | alpha_i, | ||
double | phi_i | ||
) |
Sets beam parameters from here (forwarded to Instrument)
Definition at line 46 of file GISASSimulation.cpp.
References Simulation::instrument(), Instrument::setBeamParameters(), and anonymous_namespace{SlicedCylindersBuilder.cpp}::wavelength().
Referenced by StandardSimulations::BasicGISAS(), StandardSimulations::GISASWithMasks(), StandardSimulations::IsGISAXSSimulation1(), StandardSimulations::IsGISAXSSimulation2(), StandardSimulations::MaxiGISAS(), StandardSimulations::MiniGISAS(), StandardSimulations::MiniGISAS_v2(), StandardSimulations::MiniGISASSpecularPeak(), StandardSimulations::RectDetectorGeneric(), StandardSimulations::RectDetectorPerpToDirectBeam(), StandardSimulations::RectDetectorPerpToReflectedBeam(), StandardSimulations::RectDetectorPerpToReflectedBeamDpos(), StandardSimulations::RectDetectorPerpToSample(), and StandardSimulations::SphericalDetWithRoi().
|
overridevirtual |
Returns the total number of the intensity values in the simulation result.
Implements Simulation.
Definition at line 54 of file GISASSimulation.cpp.
References Instrument::detector(), Simulation::instrument(), IDetector::iterate(), and result().
|
overrideprivatevirtual |
Initializes the vector of Simulation elements.
Implements Simulation.
Definition at line 66 of file GISASSimulation.cpp.
References Simulation2D::generateSimulationElements(), Instrument::getBeam(), Simulation::instrument(), Simulation2D::m_cache, and Simulation2D::m_sim_elements.
|
private |
Definition at line 74 of file GISASSimulation.cpp.
References IParameterized::setName().
Referenced by GISASSimulation().
|
inherited |
Sets spherical detector parameters using angle ranges.
n_phi | number of phi-axis bins |
phi_min | low edge of first phi-bin |
phi_max | upper edge of last phi-bin |
n_alpha | number of alpha-axis bins |
alpha_min | low edge of first alpha-bin |
alpha_max | upper edge of last alpha-bin |
Definition at line 64 of file Simulation2D.cpp.
References Instrument::detector2D(), Simulation::instrument(), IDetector2D::setDetectorParameters(), and Simulation::updateIntensityMap().
Referenced by StandardSimulations::BasicGISAS(), StandardSimulations::ExtraLongWavelengthGISAS(), StandardSimulations::GISASWithMasks(), StandardSimulations::MaxiGISAS(), StandardSimulations::MiniGISAS(), StandardSimulations::MiniGISAS_v2(), StandardSimulations::MiniGISASFit(), StandardSimulations::MiniGISASSpecularPeak(), and StandardSimulations::SphericalDetWithRoi().
|
inherited |
Sets the detector (axes can be overwritten later)
Definition at line 71 of file Simulation2D.cpp.
References Simulation2D::initUnitConverter(), Simulation::instrument(), and Instrument::setDetector().
Referenced by StandardSimulations::IsGISAXSSimulation1(), StandardSimulations::IsGISAXSSimulation2(), StandardSimulations::RectDetectorGeneric(), StandardSimulations::RectDetectorPerpToDirectBeam(), StandardSimulations::RectDetectorPerpToReflectedBeam(), StandardSimulations::RectDetectorPerpToReflectedBeamDpos(), and StandardSimulations::RectDetectorPerpToSample().
|
inherited |
removes all masks from the detector
Definition at line 32 of file Simulation2D.cpp.
References Instrument::detector2D(), Simulation::instrument(), and IDetector2D::removeMasks().
|
inherited |
Adds mask of given shape to the stack of detector masks.
The mask value 'true' means that the channel will be excluded from the simulation. The mask which is added last has priority.
Definition at line 37 of file Simulation2D.cpp.
References IDetector2D::addMask(), Instrument::detector2D(), and Simulation::instrument().
Referenced by StandardSimulations::GISASWithMasks(), StandardSimulations::RectDetWithRoi(), and StandardSimulations::SphericalDetWithRoi().
|
inherited |
Put the mask for all detector channels (i.e. exclude whole detector from the analysis)
Definition at line 42 of file Simulation2D.cpp.
References Instrument::detector2D(), Simulation::instrument(), and IDetector2D::maskAll().
Referenced by StandardSimulations::GISASWithMasks().
|
inherited |
Sets rectangular region of interest with lower left and upper right corners defined.
Definition at line 47 of file Simulation2D.cpp.
References Instrument::detector2D(), Simulation::instrument(), and IDetector2D::setRegionOfInterest().
Referenced by StandardSimulations::RectDetWithRoi(), and StandardSimulations::SphericalDetWithRoi().
|
inlineprotectedvirtualinherited |
|
overrideprotectedvirtualinherited |
Gets the number of elements this simulation needs to calculate.
Implements Simulation.
Definition at line 57 of file Simulation2D.cpp.
References Simulation2D::m_detector_context.
Referenced by OffSpecSimulation::numberOfSimulationElements().
|
overrideprotectedvirtualinherited |
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 77 of file Simulation2D.cpp.
References ASSERT, Simulation2D::m_sim_elements, Simulation::options(), Simulation::progress(), and Simulation::sample().
|
protectedinherited |
Generate simulation elements for given beam.
Definition at line 86 of file Simulation2D.cpp.
References DetectionProperties::analyzerOperator(), IDetector::detectionProperties(), Instrument::detector2D(), Beam::getAlpha(), Beam::getPhi(), Beam::getPolarization(), Beam::getWavelength(), IDetector2D::indexOfSpecular(), Simulation::instrument(), Simulation2D::m_detector_context, Simulation::result(), SimulationElement::setAnalyzerOperator(), SimulationElement::setPolarization(), SimulationElement::setSpecular(), and anonymous_namespace{SlicedCylindersBuilder.cpp}::wavelength().
Referenced by initSimulationElementVector(), and OffSpecSimulation::initSimulationElementVector().
|
overrideprotectedvirtualinherited |
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 113 of file Simulation2D.cpp.
References SimulationElement::getAlphaI(), Simulation::getBeamIntensity(), SimulationElement::getIntensity(), SimulationElement::getSolidAngle(), Simulation2D::m_sim_elements, and SimulationElement::setIntensity().
|
overrideprotectedvirtualinherited |
Implements Simulation.
Definition at line 128 of file Simulation2D.cpp.
References Simulation::background(), SimulationElement::getIntensity(), Simulation2D::m_sim_elements, and SimulationElement::setIntensity().
|
overrideprotectedvirtualinherited |
Implements Simulation.
Definition at line 138 of file Simulation2D.cpp.
References Simulation2D::m_cache, and Simulation2D::m_sim_elements.
|
overrideprotectedvirtualinherited |
Implements Simulation.
Definition at line 147 of file Simulation2D.cpp.
References ASSERT, Simulation2D::m_cache, and Simulation2D::m_sim_elements.
|
overrideprivatevirtualinherited |
Implements Simulation.
Definition at line 157 of file Simulation2D.cpp.
References Simulation2D::m_sim_elements, and Simulation::result().
|
overrideprivatevirtualinherited |
Implements Simulation.
Definition at line 166 of file Simulation2D.cpp.
References Simulation::initSimulationElementVector(), Simulation2D::m_sim_elements, and Simulation::transferResultsToIntensityMap().
|
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(), DepthProbeSimulation::createUnitConverter(), OffSpecSimulation::createUnitConverter(), SimulationToPython::defineDetector(), SimulationToPython::defineDetectorPolarizationAnalysis(), SimulationToPython::defineDetectorResolutionFunction(), SimulationToPython::defineGISASBeam(), SimulationToPython::defineMasks(), SimulationToPython::defineOffSpecBeam(), SimulationToPython::defineSpecularScan(), Simulation2D::generateSimulationElements(), Simulation::getBeamIntensity(), Simulation::getChildren(), DepthProbeSimulation::initialize(), SpecularSimulation::initialize(), DepthProbeSimulation::initSimulationElementVector(), initSimulationElementVector(), OffSpecSimulation::initSimulationElementVector(), SpecularSimulation::initSimulationElementVector(), intensityMapSize(), OffSpecSimulation::intensityMapSize(), Simulation2D::maskAll(), DepthProbeSimulation::normalize(), SpecularSimulation::normalize(), prepareSimulation(), Simulation2D::prepareSimulation(), SpecularSimulation::prepareSimulation(), Simulation::removeDetectorResolutionFunction(), Simulation2D::removeMasks(), result(), OffSpecSimulation::result(), Simulation::setAnalyzerProperties(), Simulation::setBeamIntensity(), DepthProbeSimulation::setBeamParameters(), OffSpecSimulation::setBeamParameters(), 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 DepthProbeSimulation::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(), DepthProbeSimulation::generateSingleThreadedComputation(), Simulation2D::generateSingleThreadedComputation(), SpecularSimulation::generateSingleThreadedComputation(), Simulation::setSample(), and DepthProbeSimulation::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 DepthProbeSimulation::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 DepthProbeSimulation::generateSingleThreadedComputation(), Simulation2D::generateSingleThreadedComputation(), SpecularSimulation::generateSingleThreadedComputation(), and Simulation::setOptions().
|
inlineprotectedinherited |
Definition at line 121 of file Simulation.h.
References Simulation::m_progress.
Referenced by DepthProbeSimulation::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().
|
inlineprivatevirtualinherited |
Checks the distribution validity for simulation.
Reimplemented in SpecularSimulation, OffSpecSimulation, and DepthProbeSimulation.
Definition at line 135 of file Simulation.h.
Referenced by Simulation::addParameterDistribution().
|
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(), DepthProbeSimulation::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 DepthProbeSimulation::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(), DepthProbeSimulation::initialize(), 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().
|
protectedinherited |
Definition at line 94 of file Simulation2D.h.
Referenced by Simulation2D::addBackgroundIntensity(), Simulation2D::addDataToCache(), Simulation2D::generateSingleThreadedComputation(), initSimulationElementVector(), OffSpecSimulation::initSimulationElementVector(), Simulation2D::moveDataFromCache(), Simulation2D::normalize(), Simulation2D::rawResults(), result(), Simulation2D::setRawResults(), OffSpecSimulation::transferDetectorImage(), and OffSpecSimulation::transferResultsToIntensityMap().
|
protectedinherited |
Definition at line 95 of file Simulation2D.h.
Referenced by Simulation2D::addDataToCache(), initSimulationElementVector(), OffSpecSimulation::initSimulationElementVector(), and Simulation2D::moveDataFromCache().
|
privateinherited |
Definition at line 100 of file Simulation2D.h.
Referenced by Simulation2D::generateSimulationElements(), Simulation2D::numberOfSimulationElements(), and Simulation2D::prepareSimulation().
|
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().