BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Types | |
enum | EDetectorArrangement { GENERIC , PERPENDICULAR_TO_SAMPLE , PERPENDICULAR_TO_DIRECT_BEAM , PERPENDICULAR_TO_REFLECTED_BEAM , PERPENDICULAR_TO_REFLECTED_BEAM_DPOS } |
using | const_iterator = const SimulationAreaIterator & |
Public Member Functions | |
RectangularDetector (size_t nxbins, double width, size_t nybins, double height) | |
RectangularDetector (const RectangularDetector &other) | |
RectangularDetector * | clone () const override |
void | accept (INodeVisitor *visitor) const final |
~RectangularDetector () | |
void | init (const Beam &beam) override |
void | setPosition (const kvector_t normal_to_detector, double u0, double v0, const kvector_t direction=kvector_t(0.0, -1.0, 0.0)) |
void | setPerpendicularToSampleX (double distance, double u0, double v0) |
void | setPerpendicularToDirectBeam (double distance, double u0, double v0) |
void | setPerpendicularToReflectedBeam (double distance, double u0=0.0, double v0=0.0) |
void | setDirectBeamPosition (double u0, double v0) |
double | getWidth () const |
double | getHeight () const |
size_t | getNbinsX () const |
size_t | getNbinsY () const |
kvector_t | getNormalVector () const |
double | getU0 () const |
double | getV0 () const |
kvector_t | getDirectionVector () const |
double | getDistance () const |
double | getDirectBeamU0 () const |
double | getDirectBeamV0 () const |
EDetectorArrangement | getDetectorArrangment () const |
Axes::Units | defaultAxesUnits () const override |
RectangularPixel * | regionOfInterestPixel () const |
void | setDetectorParameters (size_t n_x, double x_min, double x_max, size_t n_y, double y_min, double y_max) |
void | removeMasks () |
const DetectorMask * | detectorMask () const override |
void | addMask (const IShape2D &shape, bool mask_value=true) |
void | maskAll () |
const RegionOfInterest * | regionOfInterest () const override |
void | setRegionOfInterest (double xlow, double ylow, double xup, double yup) |
void | resetRegionOfInterest () override |
std::vector< size_t > | active_indices () const |
std::unique_ptr< DetectorContext > | createContext () const |
void | addAxis (const IAxis &axis) |
const IAxis & | getAxis (size_t index) const |
size_t | dimension () const |
size_t | axisBinIndex (size_t index, size_t selected_axis) const |
size_t | totalSize () const |
void | setAnalyzerProperties (const kvector_t direction, double efficiency, double total_transmission) |
void | setDetectorResolution (const IDetectorResolution &p_detector_resolution) |
void | setResolutionFunction (const IResolutionFunction2D &resFunc) |
void | applyDetectorResolution (OutputData< double > *p_intensity_map) const |
void | removeDetectorResolution () |
const IDetectorResolution * | detectorResolution () const |
std::unique_ptr< OutputData< double > > | createDetectorMap () const |
const DetectionProperties & | detectionProperties () const |
OutputData< double > * | createDetectorIntensity (const std::vector< SimulationElement > &elements) const |
size_t | numberOfSimulationElements () const |
std::vector< const INode * > | getChildren () const override |
void | iterate (std::function< void(const_iterator)> func, bool visit_masks=false) const |
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 | |
IPixel * | createPixel (size_t index) const override |
std::string | axisName (size_t index) const override |
size_t | indexOfSpecular (const Beam &beam) const override |
void | swapContent (RectangularDetector &other) |
size_t | getGlobalIndex (size_t x, size_t y) const |
void | clear () |
virtual std::unique_ptr< IAxis > | createAxis (size_t index, size_t n_bins, double min, double max) const |
Protected Attributes | |
const size_t | m_NP |
std::vector< double > | m_P |
Private Member Functions | |
void | setDistanceAndOffset (double distance, double u0, double v0) |
void | initNormalVector (const kvector_t central_k) |
void | initUandV (double alpha_i) |
void | setDataToDetectorMap (OutputData< double > &detectorMap, const std::vector< SimulationElement > &elements) const |
Private Attributes | |
kvector_t | m_normal_to_detector |
double | m_u0 |
double | m_v0 |
kvector_t | m_direction |
double | m_distance |
double | m_dbeam_u0 |
double | m_dbeam_v0 |
EDetectorArrangement | m_detector_arrangement |
kvector_t | m_u_unit |
kvector_t | m_v_unit |
DetectorMask | m_detector_mask |
std::unique_ptr< RegionOfInterest > | m_region_of_interest |
CloneableVector< IAxis > | m_axes |
DetectionProperties | m_detection_properties |
std::unique_ptr< IDetectorResolution > | mP_detector_resolution |
const INode * | m_parent {nullptr} |
std::string | m_name |
std::unique_ptr< ParameterPool > | m_pool |
A flat rectangular detector with axes and resolution function.
Definition at line 26 of file RectangularDetector.h.
|
inherited |
Definition at line 38 of file IDetector.h.
Enumerator | |
---|---|
GENERIC | |
PERPENDICULAR_TO_SAMPLE | |
PERPENDICULAR_TO_DIRECT_BEAM | |
PERPENDICULAR_TO_REFLECTED_BEAM | |
PERPENDICULAR_TO_REFLECTED_BEAM_DPOS |
Definition at line 29 of file RectangularDetector.h.
RectangularDetector::RectangularDetector | ( | size_t | nxbins, |
double | width, | ||
size_t | nybins, | ||
double | height | ||
) |
Rectangular detector constructor.
nxbins | Number of bins (pixels) in x-direction |
width | Width of the detector in mm along x-direction |
nybins | Number of bins (pixels) in y-direction |
height | Height of the detector in mm along y-direction |
Definition at line 24 of file RectangularDetector.cpp.
References anonymous_namespace{BoxCompositionBuilder.cpp}::height, IDetector2D::setDetectorParameters(), IParameterized::setName(), and anonymous_namespace{BoxCompositionBuilder.cpp}::width.
Referenced by clone().
RectangularDetector::RectangularDetector | ( | const RectangularDetector & | other | ) |
Definition at line 32 of file RectangularDetector.cpp.
References IParameterized::setName().
|
default |
|
overridevirtual |
Implements IDetector2D.
Definition at line 44 of file RectangularDetector.cpp.
References RectangularDetector().
|
inlinefinalvirtual |
Calls the INodeVisitor's visit method.
Implements INode.
Definition at line 48 of file RectangularDetector.h.
|
overridevirtual |
Inits detector with the beam settings.
Reimplemented from IDetector.
Definition at line 49 of file RectangularDetector.cpp.
References Beam::getAlpha(), Beam::getCentralK(), initNormalVector(), and initUandV().
void RectangularDetector::setPosition | ( | const kvector_t | normal_to_detector, |
double | u0, | ||
double | v0, | ||
const kvector_t | direction = kvector_t(0.0, -1.0, 0.0) |
||
) |
Definition at line 57 of file RectangularDetector.cpp.
References GENERIC, m_detector_arrangement, m_direction, m_distance, m_normal_to_detector, m_u0, m_v0, and BasicVector3D< T >::mag().
Referenced by StandardSimulations::RectDetectorGeneric().
void RectangularDetector::setPerpendicularToSampleX | ( | double | distance, |
double | u0, | ||
double | v0 | ||
) |
Definition at line 68 of file RectangularDetector.cpp.
References m_detector_arrangement, PERPENDICULAR_TO_SAMPLE, and setDistanceAndOffset().
Referenced by StandardSimulations::RectDetectorPerpToSample().
void RectangularDetector::setPerpendicularToDirectBeam | ( | double | distance, |
double | u0, | ||
double | v0 | ||
) |
Definition at line 74 of file RectangularDetector.cpp.
References m_detector_arrangement, PERPENDICULAR_TO_DIRECT_BEAM, and setDistanceAndOffset().
Referenced by StandardSimulations::RectDetectorPerpToDirectBeam().
void RectangularDetector::setPerpendicularToReflectedBeam | ( | double | distance, |
double | u0 = 0.0 , |
||
double | v0 = 0.0 |
||
) |
Definition at line 80 of file RectangularDetector.cpp.
References m_detector_arrangement, PERPENDICULAR_TO_REFLECTED_BEAM, and setDistanceAndOffset().
Referenced by StandardSimulations::RectDetectorPerpToReflectedBeam(), and StandardSimulations::RectDetectorPerpToReflectedBeamDpos().
void RectangularDetector::setDirectBeamPosition | ( | double | u0, |
double | v0 | ||
) |
Definition at line 86 of file RectangularDetector.cpp.
References m_dbeam_u0, m_dbeam_v0, m_detector_arrangement, and PERPENDICULAR_TO_REFLECTED_BEAM_DPOS.
Referenced by StandardSimulations::RectDetectorPerpToReflectedBeamDpos().
double RectangularDetector::getWidth | ( | ) | const |
Definition at line 93 of file RectangularDetector.cpp.
References IDetector::getAxis(), IAxis::getMax(), and IAxis::getMin().
Referenced by regionOfInterestPixel().
double RectangularDetector::getHeight | ( | ) | const |
Definition at line 99 of file RectangularDetector.cpp.
References IDetector::getAxis(), IAxis::getMax(), and IAxis::getMin().
Referenced by regionOfInterestPixel().
size_t RectangularDetector::getNbinsX | ( | ) | const |
Definition at line 105 of file RectangularDetector.cpp.
References IDetector::getAxis(), and IAxis::size().
size_t RectangularDetector::getNbinsY | ( | ) | const |
Definition at line 110 of file RectangularDetector.cpp.
References IDetector::getAxis(), and IAxis::size().
kvector_t RectangularDetector::getNormalVector | ( | ) | const |
Definition at line 115 of file RectangularDetector.cpp.
References m_normal_to_detector.
double RectangularDetector::getU0 | ( | ) | const |
Definition at line 120 of file RectangularDetector.cpp.
References m_u0.
double RectangularDetector::getV0 | ( | ) | const |
Definition at line 125 of file RectangularDetector.cpp.
References m_v0.
kvector_t RectangularDetector::getDirectionVector | ( | ) | const |
Definition at line 130 of file RectangularDetector.cpp.
References m_direction.
double RectangularDetector::getDistance | ( | ) | const |
Definition at line 135 of file RectangularDetector.cpp.
References m_distance.
double RectangularDetector::getDirectBeamU0 | ( | ) | const |
Definition at line 140 of file RectangularDetector.cpp.
References m_dbeam_u0.
double RectangularDetector::getDirectBeamV0 | ( | ) | const |
Definition at line 145 of file RectangularDetector.cpp.
References m_dbeam_v0.
RectangularDetector::EDetectorArrangement RectangularDetector::getDetectorArrangment | ( | ) | const |
Definition at line 150 of file RectangularDetector.cpp.
References m_detector_arrangement.
|
overridevirtual |
return default axes units
Reimplemented from IDetector.
Definition at line 155 of file RectangularDetector.cpp.
RectangularPixel * RectangularDetector::regionOfInterestPixel | ( | ) | const |
Definition at line 160 of file RectangularDetector.cpp.
References IDetector::getAxis(), getHeight(), IAxis::getMin(), getWidth(), anonymous_namespace{BoxCompositionBuilder.cpp}::height, m_normal_to_detector, m_u0, m_u_unit, m_v0, m_v_unit, IDetector2D::regionOfInterest(), and anonymous_namespace{BoxCompositionBuilder.cpp}::width.
Referenced by RectangularConverter::RectangularConverter().
|
overrideprotectedvirtual |
Creates an IPixel for the given OutputData object and index.
Implements IDetector2D.
Definition at line 184 of file RectangularDetector.cpp.
References IDetector::axisBinIndex(), IDetector::getAxis(), IAxis::getBin(), Bin1D::getBinSize(), anonymous_namespace{BoxCompositionBuilder.cpp}::height, Bin1D::m_lower, m_normal_to_detector, m_u0, m_u_unit, m_v0, m_v_unit, and anonymous_namespace{BoxCompositionBuilder.cpp}::width.
|
overrideprotectedvirtual |
Returns the name for the axis with given index.
Implements IDetector.
Definition at line 200 of file RectangularDetector.cpp.
|
overrideprotectedvirtual |
Returns index of pixel that contains the specular wavevector.
If no pixel contains this specular wavevector, the number of pixels is returned. This corresponds to an overflow index.
Implements IDetector2D.
Definition at line 213 of file RectangularDetector.cpp.
References ASSERT, IAxis::contains(), IDetector::dimension(), BasicVector3D< T >::dot(), IAxis::findClosestIndex(), Beam::getAlpha(), IDetector::getAxis(), IDetector2D::getGlobalIndex(), Beam::getPhi(), Beam::getWavelength(), m_distance, m_normal_to_detector, m_u0, m_u_unit, m_v0, m_v_unit, IDetector::totalSize(), BasicVector3D< T >::unit(), and vecOfLambdaAlphaPhi().
|
protected |
swap function
|
private |
Definition at line 235 of file RectangularDetector.cpp.
References m_distance, m_u0, and m_v0.
Referenced by setPerpendicularToDirectBeam(), setPerpendicularToReflectedBeam(), and setPerpendicularToSampleX().
|
private |
Definition at line 248 of file RectangularDetector.cpp.
References GENERIC, m_detector_arrangement, m_distance, m_normal_to_detector, PERPENDICULAR_TO_DIRECT_BEAM, PERPENDICULAR_TO_REFLECTED_BEAM, PERPENDICULAR_TO_REFLECTED_BEAM_DPOS, PERPENDICULAR_TO_SAMPLE, BasicVector3D< T >::setZ(), BasicVector3D< T >::unit(), and BasicVector3D< T >::z().
Referenced by init().
|
private |
Definition at line 276 of file RectangularDetector.cpp.
References BasicVector3D< T >::cross(), BasicVector3D< T >::dot(), m_dbeam_u0, m_dbeam_v0, m_detector_arrangement, m_direction, m_distance, m_normal_to_detector, m_u0, m_u_unit, m_v0, m_v_unit, BasicVector3D< T >::mag(), PERPENDICULAR_TO_REFLECTED_BEAM_DPOS, and BasicVector3D< T >::unit().
Referenced by init().
|
inherited |
Sets detector parameters using angle ranges.
Definition at line 35 of file IDetector2D.cpp.
References IDetector::addAxis(), IDetector::clear(), and IDetector::createAxis().
Referenced by IsGISAXSDetector::IsGISAXSDetector(), StandardSimulations::IsGISAXSSimulation1(), StandardSimulations::IsGISAXSSimulation2(), RectangularDetector(), Simulation2D::setDetectorParameters(), and SphericalDetector::SphericalDetector().
|
inherited |
Removes all masks from the detector.
Definition at line 74 of file IDetector2D.cpp.
References IDetector2D::m_detector_mask, and DetectorMask::removeMasks().
Referenced by Simulation2D::removeMasks().
|
overridevirtualinherited |
Returns detector masks container.
Implements IDetector.
Definition at line 93 of file IDetector2D.cpp.
References IDetector2D::m_detector_mask.
|
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 79 of file IDetector2D.cpp.
References DetectorMask::addMask(), DetectorMask::initMaskData(), and IDetector2D::m_detector_mask.
Referenced by Simulation2D::addMask(), and IDetector2D::maskAll().
|
inherited |
Put the mask for all detector channels (i.e. exclude whole detector from the analysis)
Definition at line 85 of file IDetector2D.cpp.
References IDetector2D::addMask(), IDetector::dimension(), IDetector2D::m_detector_mask, and DetectorMask::removeMasks().
Referenced by Simulation2D::maskAll().
|
overridevirtualinherited |
Returns region of interest if exists.
Implements IDetector.
Definition at line 43 of file IDetector2D.cpp.
References IDetector2D::m_region_of_interest.
Referenced by OffSpecularConverter::addDetectorYAxis(), IDetector2D::IDetector2D(), and regionOfInterestPixel().
|
inherited |
Sets rectangular region of interest with lower left and upper right corners defined.
Definition at line 48 of file IDetector2D.cpp.
References DetectorMask::initMaskData(), IDetector2D::m_detector_mask, and IDetector2D::m_region_of_interest.
Referenced by Simulation2D::setRegionOfInterest().
|
overridevirtualinherited |
Resets region of interest making whole detector plane available for the simulation.
Implements IDetector.
Definition at line 54 of file IDetector2D.cpp.
References DetectorMask::initMaskData(), IDetector2D::m_detector_mask, and IDetector2D::m_region_of_interest.
|
inherited |
Returns vector of unmasked detector indices.
Definition at line 60 of file IDetector2D.cpp.
References SimulationArea::begin(), and SimulationArea::end().
Referenced by DetectorContext::setup_context().
|
inherited |
Definition at line 69 of file IDetector2D.cpp.
Referenced by Simulation2D::prepareSimulation().
|
protectedinherited |
Calculate global index from two axis indices.
Definition at line 98 of file IDetector2D.cpp.
References IDetector::dimension(), IDetector::getAxis(), IAxis::size(), and IDetector::totalSize().
Referenced by indexOfSpecular(), and SphericalDetector::indexOfSpecular().
|
inherited |
Definition at line 39 of file IDetector.cpp.
References IAxis::clone(), IDetector::m_axes, and CloneableVector< T >::push_back().
Referenced by IDetector2D::setDetectorParameters(), and SpecularDetector1D::SpecularDetector1D().
|
inherited |
Definition at line 54 of file IDetector.cpp.
References IDetector::dimension(), and IDetector::m_axes.
Referenced by UnitConverterSimple::addDetectorAxis(), OffSpecularConverter::addDetectorYAxis(), IDetector::createDetectorMap(), createPixel(), SphericalDetector::createPixel(), anonymous_namespace{Simulation.cpp}::detHasSameDimensions(), IDetector2D::getGlobalIndex(), getHeight(), getNbinsX(), getNbinsY(), getWidth(), indexOfSpecular(), SphericalDetector::indexOfSpecular(), DetectorMask::initMaskData(), RegionOfInterest::RegionOfInterest(), and regionOfInterestPixel().
|
inherited |
Returns actual dimensionality of the detector (number of defined axes)
Definition at line 44 of file IDetector.cpp.
References IDetector::m_axes.
Referenced by IDetector::axisBinIndex(), IDetector::createDetectorMap(), SimulationToPython::defineDetector(), anonymous_namespace{Simulation.cpp}::detHasSameDimensions(), IDetector::getAxis(), IDetector2D::getGlobalIndex(), indexOfSpecular(), SphericalDetector::indexOfSpecular(), DetectorMask::initMaskData(), IDetector::iterate(), IDetector2D::maskAll(), OffSpecularConverter::OffSpecularConverter(), RectangularConverter::RectangularConverter(), SimulationArea::SimulationArea(), SphericalConverter::SphericalConverter(), and IDetector::totalSize().
|
inherited |
Calculate axis index for given global index.
Definition at line 61 of file IDetector.cpp.
References IDetector::dimension(), and IDetector::m_axes.
Referenced by createPixel(), and SphericalDetector::createPixel().
|
inherited |
Returns total number of pixels.
Definition at line 87 of file IDetector.cpp.
References IDetector::dimension(), and IDetector::m_axes.
Referenced by IDetector2D::getGlobalIndex(), IsGISAXSDetector::indexOfSpecular(), indexOfSpecular(), SphericalDetector::indexOfSpecular(), and SimulationArea::SimulationArea().
|
inherited |
Sets the polarization analyzer characteristics of the detector.
Definition at line 98 of file IDetector.cpp.
References IDetector::m_detection_properties, and DetectionProperties::setAnalyzerProperties().
|
inherited |
Sets the detector resolution.
Definition at line 104 of file IDetector.cpp.
References IDetectorResolution::clone(), IDetector::mP_detector_resolution, and INode::registerChild().
Referenced by IDetector::IDetector(), and IDetector::setResolutionFunction().
|
inherited |
Definition at line 111 of file IDetector.cpp.
References IDetector::setDetectorResolution().
|
inherited |
Applies the detector resolution to the given intensity maps.
Definition at line 117 of file IDetector.cpp.
References IDetector::detectorMask(), IDetector::iterate(), IDetector::mP_detector_resolution, SimulationAreaIterator::roiIndex(), and OutputData< T >::setRawDataVector().
Referenced by IDetector::createDetectorIntensity().
|
inherited |
Removes detector resolution function.
Definition at line 137 of file IDetector.cpp.
References IDetector::mP_detector_resolution.
|
inherited |
Returns a pointer to detector resolution object.
Definition at line 142 of file IDetector.cpp.
References IDetector::mP_detector_resolution.
Referenced by SimulationToPython::defineDetectorResolutionFunction().
|
inherited |
Returns empty detector map in given axes units.
Definition at line 162 of file IDetector.cpp.
References IDetector::dimension(), IDetector::getAxis(), and IDetector::regionOfInterest().
Referenced by IDetector::createDetectorIntensity().
|
inlineinherited |
Returns detection properties.
Definition at line 93 of file IDetector.h.
References IDetector::m_detection_properties.
Referenced by SimulationToPython::defineDetectorPolarizationAnalysis(), Simulation2D::generateSimulationElements(), anonymous_namespace{SpecularSimulation.cpp}::generateSimulationElements(), and DetectorContext::setup_context().
|
inherited |
Returns new intensity map with detector resolution applied.
Map will be cropped to ROI if ROI is present.
Definition at line 148 of file IDetector.cpp.
References IDetector::applyDetectorResolution(), IDetector::createDetectorMap(), IDetector::mP_detector_resolution, and IDetector::setDataToDetectorMap().
|
inherited |
Returns number of simulation elements.
Definition at line 189 of file IDetector.cpp.
References IDetector::iterate().
|
overridevirtualinherited |
Returns a vector of children (const).
Reimplemented from INode.
Definition at line 196 of file IDetector.cpp.
References IDetector::m_detection_properties, and IDetector::mP_detector_resolution.
|
inherited |
Definition at line 201 of file IDetector.cpp.
References SimulationArea::begin(), IDetector::dimension(), and SimulationArea::end().
Referenced by IDetector::applyDetectorResolution(), Simulation::convertData(), GISASSimulation::intensityMapSize(), IDetector::numberOfSimulationElements(), and IDetector::setDataToDetectorMap().
|
protectedinherited |
Definition at line 49 of file IDetector.cpp.
References IDetector::m_axes.
Referenced by IDetector2D::setDetectorParameters().
|
protectedvirtualinherited |
Generates an axis with correct name and default binning for given index.
Reimplemented in IsGISAXSDetector.
Definition at line 76 of file IDetector.cpp.
References IDetector::axisName().
Referenced by IDetector2D::setDetectorParameters().
|
privateinherited |
Definition at line 179 of file IDetector.cpp.
References SimulationAreaIterator::elementIndex(), IDetector::iterate(), and SimulationAreaIterator::roiIndex().
Referenced by IDetector::createDetectorIntensity().
|
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(), 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(), 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 101 of file RectangularDetector.h.
Referenced by createPixel(), getNormalVector(), indexOfSpecular(), initNormalVector(), initUandV(), regionOfInterestPixel(), and setPosition().
|
private |
Definition at line 102 of file RectangularDetector.h.
Referenced by createPixel(), getU0(), indexOfSpecular(), initUandV(), regionOfInterestPixel(), setDistanceAndOffset(), and setPosition().
|
private |
position of normal vector hitting point in detector coordinates
Definition at line 102 of file RectangularDetector.h.
Referenced by createPixel(), getV0(), indexOfSpecular(), initUandV(), regionOfInterestPixel(), setDistanceAndOffset(), and setPosition().
|
private |
direction vector of detector coordinate system
Definition at line 103 of file RectangularDetector.h.
Referenced by getDirectionVector(), initUandV(), and setPosition().
|
private |
distance from sample origin to the detector plane
Definition at line 104 of file RectangularDetector.h.
Referenced by getDistance(), indexOfSpecular(), initNormalVector(), initUandV(), setDistanceAndOffset(), and setPosition().
|
private |
Definition at line 105 of file RectangularDetector.h.
Referenced by getDirectBeamU0(), initUandV(), and setDirectBeamPosition().
|
private |
position of direct beam in detector coordinates
Definition at line 105 of file RectangularDetector.h.
Referenced by getDirectBeamV0(), initUandV(), and setDirectBeamPosition().
|
private |
Definition at line 106 of file RectangularDetector.h.
Referenced by getDetectorArrangment(), initNormalVector(), initUandV(), setDirectBeamPosition(), setPerpendicularToDirectBeam(), setPerpendicularToReflectedBeam(), setPerpendicularToSampleX(), and setPosition().
|
private |
Definition at line 107 of file RectangularDetector.h.
Referenced by createPixel(), indexOfSpecular(), initUandV(), and regionOfInterestPixel().
|
private |
Definition at line 108 of file RectangularDetector.h.
Referenced by createPixel(), indexOfSpecular(), initUandV(), and regionOfInterestPixel().
|
privateinherited |
Definition at line 89 of file IDetector2D.h.
Referenced by IDetector2D::addMask(), IDetector2D::detectorMask(), IDetector2D::maskAll(), IDetector2D::removeMasks(), IDetector2D::resetRegionOfInterest(), and IDetector2D::setRegionOfInterest().
|
privateinherited |
Definition at line 90 of file IDetector2D.h.
Referenced by IDetector2D::IDetector2D(), IDetector2D::regionOfInterest(), IDetector2D::resetRegionOfInterest(), and IDetector2D::setRegionOfInterest().
|
privateinherited |
Definition at line 126 of file IDetector.h.
Referenced by IDetector::addAxis(), IDetector::axisBinIndex(), IDetector::clear(), IDetector::dimension(), IDetector::getAxis(), and IDetector::totalSize().
|
privateinherited |
Definition at line 127 of file IDetector.h.
Referenced by IDetector::detectionProperties(), IDetector::getChildren(), IDetector::IDetector(), and IDetector::setAnalyzerProperties().
|
privateinherited |
Definition at line 128 of file IDetector.h.
Referenced by IDetector::applyDetectorResolution(), IDetector::createDetectorIntensity(), IDetector::detectorResolution(), IDetector::getChildren(), IDetector::IDetector(), IDetector::removeDetectorResolution(), and IDetector::setDetectorResolution().
|
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().