BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
IFormFactorPolyhedron ()=delete | |
IFormFactorPolyhedron (const NodeMeta &meta, const std::vector< double > &PValues) | |
~IFormFactorPolyhedron () | |
double | bottomZ (const IRotation &rotation) const override final |
double | topZ (const IRotation &rotation) const override final |
complex_t | evaluate_for_q (cvector_t q) const override final |
complex_t | evaluate_centered (cvector_t q) const |
double | volume () const override final |
double | radialExtension () const override final |
void | assert_platonic () const |
IFormFactorBorn * | clone () const override=0 |
void | setAmbientMaterial (const Material &) override |
complex_t | evaluate (const WavevectorInfo &wavevectors) const override |
Eigen::Matrix2cd | evaluatePol (const WavevectorInfo &wavevectors) const override |
IFormFactor * | createSlicedFormFactor (ZLimits limits, const IRotation &rot, kvector_t translation) const |
virtual void | setSpecularInfo (std::unique_ptr< const ILayerRTCoefficients >, std::unique_ptr< const ILayerRTCoefficients >) |
virtual const Material * | material () const |
std::vector< const Material * > | containedMaterials () const |
virtual void | transferToCPP () |
virtual void | accept (INodeVisitor *visitor) const =0 |
virtual std::string | treeToString () const |
void | registerChild (INode *node) |
virtual std::vector< const INode * > | getChildren () const |
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 | |
void | setPolyhedron (const PolyhedralTopology &topology, double z_bottom, const std::vector< kvector_t > &vertices) |
bool | canSliceAnalytically (const IRotation &rot) const override |
virtual Eigen::Matrix2cd | evaluate_for_q_pol (cvector_t q) const |
SlicingEffects | computeSlicingEffects (ZLimits limits, const kvector_t &position, double height) const |
virtual IFormFactor * | sliceFormFactor (ZLimits limits, const IRotation &rot, kvector_t translation) const |
Static Protected Member Functions | |
static double | BottomZ (const std::vector< kvector_t > &vertices, const IRotation &rotation) |
static double | TopZ (const std::vector< kvector_t > &vertices, const IRotation &rotation) |
Protected Attributes | |
std::unique_ptr< IShape > | mP_shape |
const size_t | m_NP |
std::vector< double > | m_P |
Private Attributes | |
std::unique_ptr< Polyhedron > | pimpl |
const INode * | m_parent {nullptr} |
std::string | m_name |
std::unique_ptr< ParameterPool > | m_pool |
A polyhedron, for form factor computation.
Definition at line 26 of file IFormFactorPolyhedron.h.
|
delete |
IFormFactorPolyhedron::IFormFactorPolyhedron | ( | const NodeMeta & | meta, |
const std::vector< double > & | PValues | ||
) |
The mathematics implemented here is described in full detail in a paper by Joachim Wuttke, entitled "Form factor (Fourier shape transform) of polygon and polyhedron.".
Definition at line 30 of file IFormFactorPolyhedron.cpp.
|
default |
|
finaloverridevirtual |
Returns the z-coordinate of the lowest point in this shape after a given rotation.
Reimplemented from IFormFactorBorn.
Definition at line 46 of file IFormFactorPolyhedron.cpp.
References IFormFactorBorn::BottomZ(), and pimpl.
|
finaloverridevirtual |
Returns the z-coordinate of the lowest point in this shape after a given rotation.
Reimplemented from IFormFactorBorn.
Definition at line 51 of file IFormFactorPolyhedron.cpp.
References pimpl, and IFormFactorBorn::TopZ().
Returns scattering amplitude for complex scattering wavevector q=k_i-k_f.
This method is public only for convenience of plotting form factors in Python.
Implements IFormFactorBorn.
Definition at line 56 of file IFormFactorPolyhedron.cpp.
References pimpl.
Definition at line 61 of file IFormFactorPolyhedron.cpp.
References pimpl.
|
finaloverridevirtual |
Returns the total volume of the particle of this form factor's shape.
Reimplemented from IFormFactor.
Definition at line 66 of file IFormFactorPolyhedron.cpp.
References pimpl.
|
finaloverridevirtual |
Returns the (approximate in some cases) radial size of the particle of this form factor's shape.
This is used for SSCA calculations
Implements IFormFactor.
Definition at line 70 of file IFormFactorPolyhedron.cpp.
References pimpl.
void IFormFactorPolyhedron::assert_platonic | ( | ) | const |
Assertions for Platonic solid.
Definition at line 77 of file IFormFactorPolyhedron.cpp.
References pimpl.
Referenced by FormFactorDodecahedron::onChange(), and FormFactorIcosahedron::onChange().
|
protected |
Called by child classes to set faces and other internal variables.
Definition at line 40 of file IFormFactorPolyhedron.cpp.
References pimpl.
Referenced by FormFactorAnisoPyramid::onChange(), FormFactorCantellatedCube::onChange(), FormFactorCone6::onChange(), FormFactorCuboctahedron::onChange(), FormFactorDodecahedron::onChange(), FormFactorIcosahedron::onChange(), FormFactorPyramid::onChange(), FormFactorTetrahedron::onChange(), and FormFactorTruncatedCube::onChange().
|
overridepure virtualinherited |
Returns a clone of this ISample object.
Implements IFormFactor.
Implemented in FormFactorSphereLogNormalRadius, FormFactorSphereGaussianRadius, FormFactorGaussSphere, FormFactorTruncatedSpheroid, FormFactorTruncatedSphere, FormFactorTruncatedCube, FormFactorTetrahedron, FormFactorSawtoothRippleLorentz, FormFactorSawtoothRippleGauss, FormFactorSawtoothRippleBox, FormFactorPyramid, FormFactorPrism6, FormFactorPrism3, FormFactorLongBoxLorentz, FormFactorLongBoxGauss, FormFactorIcosahedron, FormFactorHollowSphere, FormFactorHemiEllipsoid, FormFactorFullSpheroid, FormFactorFullSphere, FormFactorEllipsoidalCylinder, FormFactorDot, FormFactorDodecahedron, FormFactorCylinder, FormFactorCuboctahedron, FormFactorCosineRippleLorentz, FormFactorCosineRippleGauss, FormFactorCosineRippleBox, FormFactorCone6, FormFactorCone, FormFactorCantellatedCube, FormFactorBox, FormFactorAnisoPyramid, FormFactorBarLorentz, and FormFactorBarGauss.
|
inlineoverridevirtualinherited |
Passes the material in which this particle is embedded.
Implements IFormFactor.
Definition at line 40 of file IFormFactorBorn.h.
|
overridevirtualinherited |
Returns scattering amplitude for complex wavevectors ki, kf.
Implements IFormFactor.
Definition at line 31 of file IFormFactorBorn.cpp.
References IFormFactorBorn::evaluate_for_q(), and WavevectorInfo::getQ().
|
overridevirtualinherited |
Returns scattering amplitude for matrix interactions.
Reimplemented from IFormFactor.
Definition at line 36 of file IFormFactorBorn.cpp.
References IFormFactorBorn::evaluate_for_q_pol(), and WavevectorInfo::getQ().
|
overrideprotectedvirtualinherited |
Default implementation only allows rotations along z-axis.
Reimplemented from IFormFactor.
Definition at line 55 of file IFormFactorBorn.cpp.
References IRotation::zInvariant().
|
protectedvirtualinherited |
Returns scattering amplitude for complex scattering wavevector q=k_i-k_f in case of matrix interactions.
Default implementation calls evaluate_for_q(q) and multiplies with the unit matrix.
Definition at line 62 of file IFormFactorBorn.cpp.
References IFormFactorBorn::evaluate_for_q().
Referenced by IFormFactorBorn::evaluatePol().
|
protectedinherited |
Helper method for slicing.
Definition at line 67 of file IFormFactorBorn.cpp.
References IParameterized::getName(), anonymous_namespace{BoxCompositionBuilder.cpp}::height, ZLimits::lowerLimit(), OneSidedLimit::m_limitless, OneSidedLimit::m_value, BasicVector3D< T >::setZ(), ZLimits::upperLimit(), and BasicVector3D< T >::z().
Referenced by FormFactorAnisoPyramid::sliceFormFactor(), FormFactorBox::sliceFormFactor(), FormFactorCone::sliceFormFactor(), FormFactorCone6::sliceFormFactor(), FormFactorCuboctahedron::sliceFormFactor(), FormFactorCylinder::sliceFormFactor(), FormFactorEllipsoidalCylinder::sliceFormFactor(), FormFactorFullSphere::sliceFormFactor(), FormFactorFullSpheroid::sliceFormFactor(), FormFactorLongBoxGauss::sliceFormFactor(), FormFactorLongBoxLorentz::sliceFormFactor(), FormFactorPrism3::sliceFormFactor(), FormFactorPrism6::sliceFormFactor(), FormFactorPyramid::sliceFormFactor(), FormFactorTetrahedron::sliceFormFactor(), FormFactorTruncatedSphere::sliceFormFactor(), and FormFactorTruncatedSpheroid::sliceFormFactor().
|
staticprotectedinherited |
Calculates the z-coordinate of the lowest vertex after rotation.
Definition at line 103 of file IFormFactorBorn.cpp.
References ASSERT, and algo::min_value().
Referenced by IFormFactorBorn::bottomZ(), bottomZ(), and IFormFactorPrism::bottomZ().
|
staticprotectedinherited |
Calculates the z-coordinate of the highest vertex after rotation.
Definition at line 111 of file IFormFactorBorn.cpp.
References ASSERT, and algo::max_value().
Referenced by IFormFactorBorn::topZ(), topZ(), and IFormFactorPrism::topZ().
|
inherited |
Creates a (possibly sliced) form factor with the given rotation and translation.
Definition at line 35 of file IFormFactor.cpp.
References IFormFactor::canSliceAnalytically(), createTransformedFormFactor(), IParameterized::getName(), anonymous_namespace{IFormFactor.cpp}::ShapeIsContainedInLimits(), anonymous_namespace{IFormFactor.cpp}::ShapeOutsideLimits(), and IFormFactor::sliceFormFactor().
|
virtualinherited |
Sets reflection/transmission info.
Reimplemented in FormFactorDWBAPol, and FormFactorDWBA.
Definition at line 62 of file IFormFactor.cpp.
|
protectedvirtualinherited |
Actually slices the form factor or throws an exception.
Reimplemented in FormFactorTruncatedSpheroid, FormFactorTruncatedSphere, FormFactorTetrahedron, FormFactorPyramid, FormFactorPrism6, FormFactorPrism3, FormFactorLongBoxLorentz, FormFactorLongBoxGauss, FormFactorFullSpheroid, FormFactorFullSphere, FormFactorEllipsoidalCylinder, FormFactorCylinder, FormFactorCuboctahedron, FormFactorCone6, FormFactorCone, FormFactorBox, and FormFactorAnisoPyramid.
Definition at line 72 of file IFormFactor.cpp.
References IParameterized::getName().
Referenced by IFormFactor::createSlicedFormFactor().
|
inlinevirtualinherited |
Returns nullptr, unless overwritten to return a specific material.
Reimplemented in Particle, and Layer.
Definition at line 37 of file ISample.h.
Referenced by ISample::containedMaterials(), FormFactorCrystal::setAmbientMaterial(), FormFactorBAPol::setAmbientMaterial(), FormFactorDecoratorMaterial::setAmbientMaterial(), FormFactorDWBA::setAmbientMaterial(), FormFactorDWBAPol::setAmbientMaterial(), IFormFactorDecorator::setAmbientMaterial(), FormFactorCoreShell::setAmbientMaterial(), FormFactorWeighted::setAmbientMaterial(), and FormFactorDecoratorMaterial::setMaterial().
|
inherited |
Returns set of unique materials contained in this ISample.
Definition at line 23 of file ISample.cpp.
References INode::getChildren(), and ISample::material().
Referenced by MultiLayerUtils::ContainsCompatibleMaterials(), anonymous_namespace{ProcessedSample.cpp}::ContainsMagneticMaterial(), and SampleToPython::initLabels().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
pure virtualinherited |
Calls the INodeVisitor's visit method.
Implemented in FormFactorSphereLogNormalRadius, FormFactorSphereGaussianRadius, FormFactorGaussSphere, FormFactorDecoratorRotation, FormFactorDecoratorPositionFactor, FormFactorDecoratorMaterial, ParticleDistribution, ParticleCoreShell, ParticleComposition, Particle, MesoCrystal, FormFactorWeighted, FormFactorCrystal, FormFactorCoreShell, Crystal, Layer, FormFactorTruncatedSpheroid, FormFactorTruncatedSphere, FormFactorTruncatedCube, FormFactorTetrahedron, FormFactorSawtoothRippleLorentz, FormFactorSawtoothRippleGauss, FormFactorSawtoothRippleBox, FormFactorPyramid, FormFactorPrism6, FormFactorPrism3, FormFactorLongBoxLorentz, FormFactorLongBoxGauss, FormFactorIcosahedron, FormFactorHollowSphere, FormFactorHemiEllipsoid, FormFactorFullSpheroid, FormFactorFullSphere, FormFactorEllipsoidalCylinder, FormFactorDot, FormFactorDodecahedron, FormFactorCylinder, FormFactorCuboctahedron, FormFactorCosineRippleLorentz, FormFactorCosineRippleGauss, FormFactorCosineRippleBox, FormFactorCone6, FormFactorCone, FormFactorCantellatedCube, FormFactorBox, FormFactorAnisoPyramid, FTDistribution1DVoigt, FTDistribution1DCosine, FTDistribution1DTriangle, FTDistribution1DGate, FTDistribution1DGauss, FTDistribution1DCauchy, InterferenceFunctionTwin, InterferenceFunctionRadialParaCrystal, InterferenceFunctionNone, InterferenceFunctionHardDisk, InterferenceFunctionFinite3DLattice, InterferenceFunctionFinite2DLattice, InterferenceFunction3DLattice, InterferenceFunction2DSuperLattice, InterferenceFunction2DParaCrystal, InterferenceFunction2DLattice, InterferenceFunction1DLattice, SpecularSimulation, DepthProbeSimulation, FormFactorDWBAPol, FormFactorDWBA, FormFactorBAPol, Lattice, MisesGaussPeakShape, MisesFisherGaussPeakShape, LorentzFisherPeakShape, GaussFisherPeakShape, IsotropicLorentzPeakShape, IsotropicGaussPeakShape, SphericalDetector, SpecularDetector1D, FootprintSquare, FootprintGauss, Beam, GISASSimulation, PoissonNoiseBackground, ConstantBackground, MultiLayer, ParticleLayout, SampleProvider, SampleBuilderNode, HexagonalLattice, SquareLattice, BasicLattice, FormFactorBarLorentz, FormFactorBarGauss, FTDistribution2DVoigt, FTDistribution2DCone, FTDistribution2DGate, FTDistribution2DGauss, FTDistribution2DCauchy, FTDecayFunction2DVoigt, FTDecayFunction2DGauss, FTDecayFunction2DCauchy, FTDecayFunction1DVoigt, FTDecayFunction1DTriangle, FTDecayFunction1DGauss, FTDecayFunction1DCauchy, DistributionTrapezoid, DistributionCosine, DistributionLogNormal, DistributionGaussian, DistributionLorentz, DistributionGate, ResolutionFunction2DGaussian, ConvolutionDetectorResolution, Instrument, RectangularDetector, IsGISAXSDetector, DetectionProperties, OffSpecSimulation, ILayout, LayerRoughness, LayerInterface, RotationEuler, RotationZ, RotationY, RotationX, IdentityRotation, and IAbstractParticle.
Referenced by VisitNodesPostorder(), and VisitNodesPreorder().
|
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 |
Returns a vector of children (const).
Reimplemented in ParticleDistribution, ParticleCoreShell, ParticleComposition, Particle, MesoCrystal, Crystal, Layer, InterferenceFunctionRadialParaCrystal, InterferenceFunctionFinite3DLattice, InterferenceFunctionFinite2DLattice, InterferenceFunction3DLattice, InterferenceFunction2DSuperLattice, InterferenceFunction2DParaCrystal, InterferenceFunction2DLattice, InterferenceFunction1DLattice, SampleProvider, IParticle, IDetector, Beam, MultiLayer, ParticleLayout, LayerInterface, ConvolutionDetectorResolution, Instrument, and Simulation.
Definition at line 64 of file INode.cpp.
Referenced by INodeUtils::AllDescendantsOfType(), INodeUtils::ChildNodesOfType(), ISample::containedMaterials(), INode::copyNumber(), PostorderStrategy::first(), PreorderStrategy::next(), and PostorderStrategy::next().
|
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::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 52 of file IFormFactorPolyhedron.h.
Referenced by assert_platonic(), bottomZ(), evaluate_centered(), evaluate_for_q(), radialExtension(), setPolyhedron(), topZ(), and volume().
|
protectedinherited |
IShape object, used to retrieve vertices (which may be approximate in the case of round shapes).
For soft particles, this will be a hard mean shape.
Definition at line 68 of file IFormFactorBorn.h.
Referenced by IFormFactorBorn::bottomZ(), FormFactorCone::onChange(), FormFactorCylinder::onChange(), FormFactorEllipsoidalCylinder::onChange(), FormFactorFullSpheroid::onChange(), FormFactorHemiEllipsoid::onChange(), FormFactorHollowSphere::onChange(), FormFactorLongBoxGauss::onChange(), FormFactorLongBoxLorentz::onChange(), FormFactorTruncatedSphere::onChange(), FormFactorTruncatedSpheroid::onChange(), IProfileRectangularRipple::onChange(), ICosineRipple::onChange(), ISawtoothRipple::onChange(), FormFactorSphereGaussianRadius::onChange(), FormFactorSphereLogNormalRadius::onChange(), and IFormFactorBorn::topZ().
|
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().