BornAgain
1.19.79
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Definition at line 30 of file MesoCrystalItem.h.
Public Member Functions | |
MesoCrystalItem (const MaterialItems *materials) | |
DoubleDescriptor | abundance () const |
ItemWithParticles * | basisParticle () const |
QVector< ItemWithParticles * > | containedItemsWithParticles () const override |
Return full hierarchical contained items with particles. More... | |
std::unique_ptr< MesoCrystal > | createMesoCrystal () const |
std::unique_ptr< IRotation > | createRotation () const |
nullptr only if "no rotation". Can contain identity! More... | |
std::unique_ptr< IParticle > | getBasis () const |
Lattice3D | getLattice () const |
std::unique_ptr< IFormFactor > | getOuterShape () const |
SelectionDescriptor< FormFactorItem * > | outerShape () const |
R3 | position () const |
VectorDescriptor | positionVector () const |
SelectionDescriptor< RotationItem * > | rotation () |
Returns selection descriptor for rotation methods. More... | |
void | serialize (Streamer &s) override |
void | setAbundance (double abundance) |
void | setBasis (ItemWithParticles *basis) |
void | setOuterShape (FormFactorItem *p) |
template<typename T > | |
T * | setOuterShapeType () |
void | setPosition (const R3 &position) |
void | setRawDataVectorA (const R3 &vector_a) |
void | setRawDataVectorB (const R3 &vector_b) |
void | setRawDataVectorC (const R3 &vector_c) |
void | setRotation (RotationItem *p) |
nullptr is allowed and sets to "no rotation" More... | |
VectorDescriptor | vectorA () const |
VectorDescriptor | vectorB () const |
VectorDescriptor | vectorC () const |
Protected Attributes | |
DoubleProperty | m_abundance |
VectorProperty | m_position |
SelectionProperty< RotationItem * > | m_rotation |
Private Attributes | |
SelectionProperty< ItemWithParticles * > | m_basisParticle |
const MaterialItems * | m_materials |
SelectionProperty< FormFactorItem * > | m_outerShape |
VectorProperty | m_vectorA |
VectorProperty | m_vectorB |
VectorProperty | m_vectorC |
|
explicit |
Definition at line 42 of file MesoCrystalItem.cpp.
References SelectionProperty< T >::init(), VectorProperty::init(), m_basisParticle, m_outerShape, m_vectorA, m_vectorB, m_vectorC, and nanometer.
|
inherited |
Definition at line 32 of file ItemWithParticles.cpp.
References ItemWithParticles::m_abundance.
Referenced by MesoCrystalForm::MesoCrystalForm(), ParticleCompositionForm::ParticleCompositionForm(), ParticleCoreShellForm::ParticleCoreShellForm(), ParticleForm::ParticleForm(), ParameterTreeBuilder::addParticle(), ParticleItem::createParticle(), ParticleCompositionItem::createParticleComposition(), ParticleCoreShellItem::createParticleCoreShell(), and ItemWithParticles::setAbundance().
ItemWithParticles * MesoCrystalItem::basisParticle | ( | ) | const |
Definition at line 132 of file MesoCrystalItem.cpp.
References SelectionProperty< T >::get(), and m_basisParticle.
Referenced by MesoCrystalForm::MesoCrystalForm(), containedItemsWithParticles(), SampleEditorController::createAndInitParticle(), and MesoCrystalForm::createBasisWidgets().
|
overridevirtual |
Return full hierarchical contained items with particles.
For example ParticleCompositionItem contains other items, ParticleItem doesn't.
Implements ItemWithParticles.
Definition at line 172 of file MesoCrystalItem.cpp.
References basisParticle(), and ItemWithParticles::containedItemsWithParticles().
std::unique_ptr< MesoCrystal > MesoCrystalItem::createMesoCrystal | ( | ) | const |
Definition at line 70 of file MesoCrystalItem.cpp.
References ItemWithParticles::createRotation(), Error, getBasis(), getLattice(), getOuterShape(), and ItemWithParticles::position().
Referenced by RealSpaceMesoCrystal::populateMesoCrystal().
|
inherited |
nullptr only if "no rotation". Can contain identity!
Definition at line 67 of file ItemWithParticles.cpp.
References SelectionProperty< T >::get(), ItemWithParticles::m_rotation, and RotationItem::rotation().
Referenced by createMesoCrystal(), ParticleItem::createParticle(), ParticleCompositionItem::createParticleComposition(), and ParticleCoreShellItem::createParticleCoreShell().
std::unique_ptr< IParticle > MesoCrystalItem::getBasis | ( | ) | const |
Definition at line 100 of file MesoCrystalItem.cpp.
References SelectionProperty< T >::get(), and m_basisParticle.
Referenced by createMesoCrystal(), and RealSpaceMesoCrystal::populateMesoCrystal().
Lattice3D MesoCrystalItem::getLattice | ( | ) | const |
Definition at line 95 of file MesoCrystalItem.cpp.
References m_vectorA, m_vectorB, and m_vectorC.
Referenced by createMesoCrystal(), and RealSpaceMesoCrystal::populateMesoCrystal().
std::unique_ptr< IFormFactor > MesoCrystalItem::getOuterShape | ( | ) | const |
Definition at line 117 of file MesoCrystalItem.cpp.
References FormFactorItem::createFormFactor(), and m_outerShape.
Referenced by createMesoCrystal(), and RealSpaceMesoCrystal::populateMesoCrystal().
SelectionDescriptor< FormFactorItem * > MesoCrystalItem::outerShape | ( | ) | const |
Definition at line 122 of file MesoCrystalItem.cpp.
References m_outerShape.
Referenced by MesoCrystalForm::MesoCrystalForm().
|
inherited |
Definition at line 42 of file ItemWithParticles.cpp.
References ItemWithParticles::m_position.
Referenced by createMesoCrystal(), ParticleItem::createParticle(), ParticleCompositionItem::createParticleComposition(), ParticleCoreShellItem::createParticleCoreShell(), and ItemWithParticles::setPosition().
|
inherited |
Definition at line 52 of file ItemWithParticles.cpp.
References ItemWithParticles::m_position.
Referenced by MesoCrystalForm::MesoCrystalForm(), ParticleCompositionForm::ParticleCompositionForm(), ParticleCoreShellForm::ParticleCoreShellForm(), ParticleForm::ParticleForm(), and ParameterTreeBuilder::addParticle().
|
inherited |
Returns selection descriptor for rotation methods.
Definition at line 57 of file ItemWithParticles.cpp.
References ItemWithParticles::m_rotation.
Referenced by MesoCrystalForm::MesoCrystalForm(), ParticleCompositionForm::ParticleCompositionForm(), ParticleCoreShellForm::ParticleCoreShellForm(), ParticleForm::ParticleForm(), and ParameterTreeBuilder::addRotation().
|
overridevirtual |
Implements ItemWithParticles.
Definition at line 57 of file MesoCrystalItem.cpp.
References Streamer::assertVersion(), ItemWithParticles::m_abundance, m_basisParticle, m_materials, m_outerShape, ItemWithParticles::m_position, ItemWithParticles::m_rotation, m_vectorA, m_vectorB, m_vectorC, and Serialize::rwProperty().
|
inherited |
Definition at line 37 of file ItemWithParticles.cpp.
References ItemWithParticles::abundance(), ItemWithParticles::m_abundance, and DoubleProperty::set().
void MesoCrystalItem::setBasis | ( | ItemWithParticles * | basis | ) |
Definition at line 137 of file MesoCrystalItem.cpp.
References m_basisParticle, and SelectionProperty< T >::set().
Referenced by SampleEditorController::setMesoCrystalBasis().
void MesoCrystalItem::setOuterShape | ( | FormFactorItem * | p | ) |
Definition at line 127 of file MesoCrystalItem.cpp.
References m_outerShape, and SelectionProperty< T >::set().
Referenced by setOuterShapeType().
T * MesoCrystalItem::setOuterShapeType |
Definition at line 70 of file MesoCrystalItem.h.
References setOuterShape().
|
inherited |
Definition at line 47 of file ItemWithParticles.cpp.
References ItemWithParticles::m_position, ItemWithParticles::position(), and VectorProperty::set().
void MesoCrystalItem::setRawDataVectorA | ( | const R3 & | vector_a | ) |
Definition at line 142 of file MesoCrystalItem.cpp.
References m_vectorA, and VectorProperty::set().
void MesoCrystalItem::setRawDataVectorB | ( | const R3 & | vector_b | ) |
Definition at line 147 of file MesoCrystalItem.cpp.
References m_vectorB, and VectorProperty::set().
void MesoCrystalItem::setRawDataVectorC | ( | const R3 & | vector_c | ) |
Definition at line 152 of file MesoCrystalItem.cpp.
References m_vectorC, and VectorProperty::set().
|
inherited |
nullptr is allowed and sets to "no rotation"
Definition at line 62 of file ItemWithParticles.cpp.
References ItemWithParticles::m_rotation, and SelectionProperty< T >::set().
VectorDescriptor MesoCrystalItem::vectorA | ( | ) | const |
Definition at line 157 of file MesoCrystalItem.cpp.
References m_vectorA.
Referenced by MesoCrystalForm::MesoCrystalForm().
VectorDescriptor MesoCrystalItem::vectorB | ( | ) | const |
Definition at line 162 of file MesoCrystalItem.cpp.
References m_vectorB.
Referenced by MesoCrystalForm::MesoCrystalForm().
VectorDescriptor MesoCrystalItem::vectorC | ( | ) | const |
Definition at line 167 of file MesoCrystalItem.cpp.
References m_vectorC.
Referenced by MesoCrystalForm::MesoCrystalForm().
|
protectedinherited |
Definition at line 56 of file ItemWithParticles.h.
Referenced by ItemWithParticles::ItemWithParticles(), ItemWithParticles::abundance(), serialize(), ParticleCompositionItem::serialize(), ParticleCoreShellItem::serialize(), ParticleItem::serialize(), and ItemWithParticles::setAbundance().
|
private |
Definition at line 65 of file MesoCrystalItem.h.
Referenced by MesoCrystalItem(), basisParticle(), getBasis(), serialize(), and setBasis().
|
private |
Definition at line 66 of file MesoCrystalItem.h.
Referenced by serialize().
|
private |
Definition at line 64 of file MesoCrystalItem.h.
Referenced by MesoCrystalItem(), getOuterShape(), outerShape(), serialize(), and setOuterShape().
|
protectedinherited |
Definition at line 57 of file ItemWithParticles.h.
Referenced by ItemWithParticles::ItemWithParticles(), ItemWithParticles::position(), ItemWithParticles::positionVector(), serialize(), ParticleCompositionItem::serialize(), ParticleCoreShellItem::serialize(), ParticleItem::serialize(), and ItemWithParticles::setPosition().
|
protectedinherited |
Definition at line 58 of file ItemWithParticles.h.
Referenced by ItemWithParticles::ItemWithParticles(), ItemWithParticles::createRotation(), ItemWithParticles::rotation(), serialize(), ParticleCompositionItem::serialize(), ParticleItem::serialize(), and ItemWithParticles::setRotation().
|
private |
Definition at line 61 of file MesoCrystalItem.h.
Referenced by MesoCrystalItem(), getLattice(), serialize(), setRawDataVectorA(), and vectorA().
|
private |
Definition at line 62 of file MesoCrystalItem.h.
Referenced by MesoCrystalItem(), getLattice(), serialize(), setRawDataVectorB(), and vectorB().
|
private |
Definition at line 63 of file MesoCrystalItem.h.
Referenced by MesoCrystalItem(), getLattice(), serialize(), setRawDataVectorC(), and vectorC().