BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
Crystal Class Reference

Description

A crystal structure, defined by a Bravais lattice, a basis, and a position variance.

Computations are delegated to class ReMesocrystal.

Used in MesoCrystal, where it is given an outer shape.

Inheritance diagram for Crystal:

Public Member Functions

 Crystal (const IParticle &basis, const Lattice3D &lattice, double position_variance=0)
 
 ~Crystal () override
 
const IParticle * basis () const
 
std::string className () const final
 
Crystalclone () const override
 
const Lattice3Dlattice () const
 
std::vector< const INode * > nodeChildren () const override
 
std::vector< ParaMeta > parDefs () const final
 
double position_variance () const
 
Crystaltransformed (const IRotation *rotation, const R3 &translation) const
 

Constructor & Destructor Documentation

◆ Crystal()

Crystal::Crystal ( const IParticle &  basis,
const Lattice3D lattice,
double  position_variance = 0 
)

◆ ~Crystal()

Crystal::~Crystal ( )
override

Member Function Documentation

◆ basis()

const IParticle* Crystal::basis ( ) const

◆ className()

std::string Crystal::className ( ) const
final

◆ clone()

Crystal* Crystal::clone ( ) const
override

◆ lattice()

const Lattice3D* Crystal::lattice ( ) const

◆ nodeChildren()

std::vector<const INode*> Crystal::nodeChildren ( ) const
override

◆ parDefs()

std::vector<ParaMeta> Crystal::parDefs ( ) const
final

◆ position_variance()

double Crystal::position_variance ( ) const

◆ transformed()

Crystal* Crystal::transformed ( const IRotation *  rotation,
const R3 translation 
) const