BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Gaussian IProfile1D; its Fourier transform standardizedFT(q) is a Gaussian starting at standardizedFT(0)=1.
Definition at line 87 of file Profiles1D.h.
Public Member Functions | |
Profile1DGauss (double omega) | |
Profile1DGauss (std::vector< double > P) | |
void | checkNodeArgs () const |
Raises exception if a parameter value is invalid. More... | |
std::string | className () const final |
Returns the class name, to be hard-coded in each leaf class that inherits from INode. More... | |
Profile1DGauss * | clone () const override |
std::unique_ptr< IDistribution1DSampler > | createSampler () const override |
double | decayFT (double q) const override |
Returns Fourier transform of the distribution scaled as decay function f(x)/f(0). More... | |
double | decayLength () const |
virtual std::vector< const INode * > | nodeChildren () const |
Returns all children. More... | |
std::vector< const INode * > | nodeOffspring () const |
Returns all descendants. More... | |
double | omega () const |
std::vector< ParaMeta > | parDefs () const final |
Returns the parameter definitions, to be hard-coded in each leaf class. More... | |
virtual std::string | pythonConstructor () const |
Creates the Python constructor of this class (or derived classes) More... | |
double | qSecondDerivative () const override |
Returns the negative of the second order derivative in q space around q=0. More... | |
double | standardizedFT (double q) const override |
Returns Fourier transform of the normalized distribution; is a decay function starting at standardizedFT(0)=1. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Protected Attributes | |
const double & | m_omega |
std::vector< double > | m_P |
Profile1DGauss::Profile1DGauss | ( | std::vector< double > | P | ) |
Definition at line 91 of file Profiles1D.cpp.
References INode::checkNodeArgs().
Referenced by clone().
Profile1DGauss::Profile1DGauss | ( | double | omega | ) |
Definition at line 97 of file Profiles1D.cpp.
References IProfile1D::omega().
|
inherited |
Raises exception if a parameter value is invalid.
Definition at line 27 of file INode.cpp.
References ASSERT, RealLimits::check(), INode::className(), INF, RealLimits::limited(), RealLimits::limitless(), INode::m_P, ParaMeta::name, RealLimits::nonnegative(), INode::parDefs(), ParaMeta::vMax, and ParaMeta::vMin.
Referenced by BarGauss::BarGauss(), BarLorentz::BarLorentz(), Bipyramid4::Bipyramid4(), Box::Box(), CantellatedCube::CantellatedCube(), Cone::Cone(), ConstantBackground::ConstantBackground(), CosineRippleBox::CosineRippleBox(), CosineRippleGauss::CosineRippleGauss(), CosineRippleLorentz::CosineRippleLorentz(), Cylinder::Cylinder(), DistributionCosine::DistributionCosine(), DistributionGate::DistributionGate(), DistributionGaussian::DistributionGaussian(), DistributionLogNormal::DistributionLogNormal(), DistributionLorentz::DistributionLorentz(), DistributionTrapezoid::DistributionTrapezoid(), Dodecahedron::Dodecahedron(), EllipsoidalCylinder::EllipsoidalCylinder(), FootprintGauss::FootprintGauss(), FootprintSquare::FootprintSquare(), FuzzySphere::FuzzySphere(), GaussSphere::GaussSphere(), HemiEllipsoid::HemiEllipsoid(), HollowSphere::HollowSphere(), HorizontalCylinder::HorizontalCylinder(), Icosahedron::Icosahedron(), LongBoxGauss::LongBoxGauss(), LongBoxLorentz::LongBoxLorentz(), PlatonicOctahedron::PlatonicOctahedron(), PlatonicTetrahedron::PlatonicTetrahedron(), Prism3::Prism3(), Prism6::Prism6(), Profile1DCauchy::Profile1DCauchy(), Profile1DCosine::Profile1DCosine(), Profile1DGate::Profile1DGate(), Profile1DGauss(), Profile1DTriangle::Profile1DTriangle(), Profile1DVoigt::Profile1DVoigt(), Profile2DCauchy::Profile2DCauchy(), Profile2DCone::Profile2DCone(), Profile2DGate::Profile2DGate(), Profile2DGauss::Profile2DGauss(), Profile2DVoigt::Profile2DVoigt(), Pyramid2::Pyramid2(), Pyramid3::Pyramid3(), Pyramid4::Pyramid4(), Pyramid6::Pyramid6(), RotationEuler::RotationEuler(), RotationX::RotationX(), RotationY::RotationY(), RotationZ::RotationZ(), SawtoothRippleBox::SawtoothRippleBox(), SawtoothRippleGauss::SawtoothRippleGauss(), SawtoothRippleLorentz::SawtoothRippleLorentz(), Sphere::Sphere(), Spheroid::Spheroid(), TruncatedCube::TruncatedCube(), TruncatedSphere::TruncatedSphere(), and TruncatedSpheroid::TruncatedSpheroid().
|
inlinefinalvirtual |
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
Implements INode.
Definition at line 93 of file Profiles1D.h.
|
overridevirtual |
Implements IProfile1D.
Definition at line 102 of file Profiles1D.cpp.
References Profile1DGauss(), and IProfile1D::m_omega.
|
overridevirtual |
Implements IProfile1D.
Definition at line 124 of file Profiles1D.cpp.
References IProfile1D::m_omega.
|
overridevirtual |
Returns Fourier transform of the distribution scaled as decay function f(x)/f(0).
Implements IProfile1D.
Definition at line 113 of file Profiles1D.cpp.
References IProfile1D::m_omega, and M_TWOPI.
|
inlineinherited |
|
virtualinherited |
Returns all children.
Reimplemented in ISimulation2D, ISimulation, ParticleCoreShell, ParticleComposition, Particle, MesoCrystal, IParticle, Crystal, MultiLayer, Layer, LayerInterface, ParticleLayout, InterferenceRadialParaCrystal, InterferenceFinite3DLattice, InterferenceFinite2DLattice, Interference3DLattice, Interference2DSuperLattice, Interference2DParaCrystal, Interference2DLattice, Interference1DLattice, ConvolutionDetectorResolution, IDetector, and Beam.
Definition at line 56 of file INode.cpp.
Referenced by NodeUtils::AllDescendantsOfType(), NodeUtils::ChildNodesOfType(), ISampleNode::containedMaterials(), and INode::nodeOffspring().
|
inherited |
Returns all descendants.
Definition at line 61 of file INode.cpp.
References INode::nodeChildren().
|
inlineinherited |
Definition at line 41 of file Profiles1D.h.
References IProfile1D::m_omega.
Referenced by Profile1DCauchy::Profile1DCauchy(), Profile1DCosine::Profile1DCosine(), Profile1DGate::Profile1DGate(), Profile1DGauss(), Profile1DTriangle::Profile1DTriangle(), and Profile1DVoigt::Profile1DVoigt().
|
inlinefinalvirtual |
Returns the parameter definitions, to be hard-coded in each leaf class.
Reimplemented from INode.
Definition at line 95 of file Profiles1D.h.
References INF.
|
virtualinherited |
Creates the Python constructor of this class (or derived classes)
Reimplemented in Profile1DVoigt.
Definition at line 39 of file Profiles1D.cpp.
References ASSERT, INode::className(), IProfile1D::m_omega, INode::m_P, and Py::Fmt::printFunction().
|
overridevirtual |
Returns the negative of the second order derivative in q space around q=0.
Implements IProfile1D.
Definition at line 119 of file Profiles1D.cpp.
References IProfile1D::m_omega.
|
overridevirtual |
Returns Fourier transform of the normalized distribution; is a decay function starting at standardizedFT(0)=1.
Implements IProfile1D.
Definition at line 107 of file Profiles1D.cpp.
References IProfile1D::m_omega.
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
protectedinherited |
Definition at line 54 of file Profiles1D.h.
Referenced by Profile1DCauchy::clone(), clone(), Profile1DGate::clone(), Profile1DTriangle::clone(), Profile1DCosine::clone(), Profile1DVoigt::clone(), Profile1DCauchy::createSampler(), createSampler(), Profile1DGate::createSampler(), Profile1DTriangle::createSampler(), Profile1DCosine::createSampler(), Profile1DCauchy::decayFT(), decayFT(), Profile1DTriangle::decayFT(), Profile1DVoigt::decayFT(), IProfile1D::decayLength(), IProfile1D::omega(), IProfile1D::pythonConstructor(), Profile1DVoigt::pythonConstructor(), Profile1DCauchy::qSecondDerivative(), qSecondDerivative(), Profile1DGate::qSecondDerivative(), Profile1DTriangle::qSecondDerivative(), Profile1DCosine::qSecondDerivative(), Profile1DVoigt::qSecondDerivative(), Profile1DCauchy::standardizedFT(), standardizedFT(), Profile1DGate::standardizedFT(), Profile1DTriangle::standardizedFT(), Profile1DCosine::standardizedFT(), and Profile1DVoigt::standardizedFT().
|
protectedinherited |
Definition at line 63 of file INode.h.
Referenced by IFootprintFactor::IFootprintFactor(), INode::checkNodeArgs(), IProfile1D::pythonConstructor(), IProfile2D::pythonConstructor(), IFormFactor::pythonConstructor(), Profile1DVoigt::pythonConstructor(), and Profile2DVoigt::pythonConstructor().