BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
A reprocessed MesoCrystal.
Definition at line 29 of file ReMesocrystal.h.
Public Member Functions | |
ReMesocrystal (const Lattice3D &lattice, const IReParticle &basis, const ReParticle &outer_shape, double position_variance=0.0) | |
~ReMesocrystal () override | |
double | bottomZ (const IRotation *rotation) const override |
Returns the z-coordinate of the lowest point in this shape after a given rotation. More... | |
ReMesocrystal * | clone () const override |
double | radialExtension () const override |
Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations. More... | |
void | setAmbientMaterial (const Material &material) override |
Passes the material in which this particle is embedded. More... | |
complex_t | theFF (const WavevectorInfo &wavevectors) const override |
Returns scattering amplitude for complex wavevectors ki, kf. More... | |
SpinMatrix | thePolFF (const WavevectorInfo &wavevectors) const override |
Returns scattering amplitude for matrix interactions. More... | |
double | topZ (const IRotation *rotation) const override |
Returns the z-coordinate of the lowest point in this shape after a given rotation. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
double | volume () const override |
Returns the total volume of the particle of this form factor's shape. More... | |
Private Member Functions | |
void | calculateLargestReciprocalDistance () |
complex_t | debyeWallerFactor (const R3 &q_i) const |
Private Attributes | |
IReParticle * | m_basis |
Lattice3D | m_lattice |
double | m_max_rec_length |
ReParticle * | m_outer_shape |
The outer shape of this mesocrystal. More... | |
double | m_position_variance |
ReMesocrystal::ReMesocrystal | ( | const Lattice3D & | lattice, |
const IReParticle & | basis, | ||
const ReParticle & | outer_shape, | ||
double | position_variance = 0.0 |
||
) |
Definition at line 21 of file ReMesocrystal.cpp.
References calculateLargestReciprocalDistance().
Referenced by clone().
|
override |
Definition at line 31 of file ReMesocrystal.cpp.
References m_basis, and m_outer_shape.
|
overridevirtual |
Returns the z-coordinate of the lowest point in this shape after a given rotation.
Implements IReParticle.
Definition at line 47 of file ReMesocrystal.cpp.
References ReParticle::bottomZ(), and m_outer_shape.
|
private |
Definition at line 101 of file ReMesocrystal.cpp.
References Lattice3D::basisVectorA(), Lattice3D::basisVectorB(), Lattice3D::basisVectorC(), m_lattice, m_max_rec_length, and M_PI.
Referenced by ReMesocrystal().
|
inlineoverridevirtual |
Implements IReParticle.
Definition at line 35 of file ReMesocrystal.h.
References ReMesocrystal(), m_basis, m_lattice, m_outer_shape, and m_position_variance.
|
private |
Definition at line 111 of file ReMesocrystal.cpp.
References m_position_variance.
Referenced by theFF(), and thePolFF().
|
overridevirtual |
Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations.
Implements IReParticle.
Definition at line 42 of file ReMesocrystal.cpp.
References m_outer_shape, and ReParticle::radialExtension().
|
inlineoverridevirtual |
Passes the material in which this particle is embedded.
Reimplemented from IReParticle.
Definition at line 40 of file ReMesocrystal.h.
References m_basis, and IReParticle::setAmbientMaterial().
|
overridevirtual |
Returns scattering amplitude for complex wavevectors ki, kf.
Implements IReParticle.
Definition at line 57 of file ReMesocrystal.cpp.
References debyeWallerFactor(), WavevectorInfo::getQ(), m_basis, m_lattice, m_max_rec_length, m_outer_shape, Lattice3D::reciprocalLatticeVectorsWithinRadius(), IReParticle::theFF(), ReParticle::theFF(), Lattice3D::unitCellVolume(), and WavevectorInfo::vacuumLambda().
|
overridevirtual |
Returns scattering amplitude for matrix interactions.
Reimplemented from IReParticle.
Definition at line 79 of file ReMesocrystal.cpp.
References debyeWallerFactor(), WavevectorInfo::getQ(), m_basis, m_lattice, m_max_rec_length, m_outer_shape, Lattice3D::reciprocalLatticeVectorsWithinRadius(), ReParticle::theFF(), IReParticle::thePolFF(), Lattice3D::unitCellVolume(), and WavevectorInfo::vacuumLambda().
|
overridevirtual |
Returns the z-coordinate of the lowest point in this shape after a given rotation.
Implements IReParticle.
Definition at line 52 of file ReMesocrystal.cpp.
References m_outer_shape, and ReParticle::topZ().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
overridevirtual |
Returns the total volume of the particle of this form factor's shape.
Reimplemented from IReParticle.
Definition at line 37 of file ReMesocrystal.cpp.
References m_outer_shape, and ReParticle::volume().
|
private |
Definition at line 60 of file ReMesocrystal.h.
Referenced by ~ReMesocrystal(), clone(), setAmbientMaterial(), theFF(), and thePolFF().
|
private |
Definition at line 59 of file ReMesocrystal.h.
Referenced by calculateLargestReciprocalDistance(), clone(), theFF(), and thePolFF().
|
private |
Definition at line 63 of file ReMesocrystal.h.
Referenced by calculateLargestReciprocalDistance(), theFF(), and thePolFF().
|
private |
The outer shape of this mesocrystal.
Definition at line 61 of file ReMesocrystal.h.
Referenced by ~ReMesocrystal(), bottomZ(), clone(), radialExtension(), theFF(), thePolFF(), topZ(), and volume().
|
private |
Definition at line 62 of file ReMesocrystal.h.
Referenced by clone(), and debyeWallerFactor().