BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
Slice (double thickness, const Material &material) | |
Slice (double thickness, const Material &material, const LayerRoughness &top_roughness) | |
Slice (const Slice &other) | |
Slice (Slice &&other) | |
Slice & | operator= (const Slice &other) |
~Slice () | |
void | setMaterial (const Material &material) |
Material | material () const |
double | thickness () const |
const LayerRoughness * | topRoughness () const |
complex_t | scalarReducedPotential (kvector_t k, double n_ref) const |
Eigen::Matrix2cd | polarizedReducedPotential (kvector_t k, double n_ref) const |
void | initBField (kvector_t h_field, double b_z) |
kvector_t | bField () const |
void | invertBField () |
Static Public Attributes | |
static constexpr double | Magnetic_Permeability = 4e-7 * M_PI |
Private Attributes | |
double | m_thickness |
Material | m_material |
kvector_t | m_B_field |
std::unique_ptr< LayerRoughness > | mP_top_roughness |
Data structure containing the data of a single slice, for calculating the Fresnel coefficients.
Slice::Slice | ( | double | thickness, |
const Material & | material | ||
) |
Slice::Slice | ( | double | thickness, |
const Material & | material, | ||
const LayerRoughness & | top_roughness | ||
) |
Definition at line 24 of file Slice.cpp.
Slice::Slice | ( | const Slice & | other | ) |
|
default |
Definition at line 45 of file Slice.cpp.
References m_B_field, m_material, m_thickness, and mP_top_roughness.
void Slice::setMaterial | ( | const Material & | material | ) |
Definition at line 58 of file Slice.cpp.
References m_material, and material().
Material Slice::material | ( | ) | const |
double Slice::thickness | ( | ) | const |
const LayerRoughness * Slice::topRoughness | ( | ) | const |
Definition at line 73 of file Slice.cpp.
References mP_top_roughness.
Return the potential term that is used in the one-dimensional Fresnel calculations.
Definition at line 78 of file Slice.cpp.
References m_material, M_PI, BasicVector3D< T >::mag(), Material::refractiveIndex(), and MaterialUtils::ScalarReducedPotential().
Eigen::Matrix2cd Slice::polarizedReducedPotential | ( | kvector_t | k, |
double | n_ref | ||
) | const |
Return the potential term that is used in the one-dimensional Fresnel calculations in the presence of magnetization.
Definition at line 84 of file Slice.cpp.
References m_B_field, m_material, M_PI, BasicVector3D< T >::mag(), MaterialUtils::PolarizedReducedPotential(), and Material::refractiveIndex().
void Slice::initBField | ( | kvector_t | h_field, |
double | b_z | ||
) |
Initializes the magnetic B field from a given ambient field strength H.
Definition at line 90 of file Slice.cpp.
References m_B_field, m_material, Magnetic_Permeability, Material::magnetization(), and BasicVector3D< T >::setZ().
|
inline |
void Slice::invertBField | ( | ) |
|
staticconstexpr |
Definition at line 58 of file Slice.h.
Referenced by initBField(), and ProcessedSample::initBFields().
|
private |
Definition at line 61 of file Slice.h.
Referenced by operator=(), and thickness().
|
private |
Definition at line 62 of file Slice.h.
Referenced by initBField(), material(), operator=(), polarizedReducedPotential(), scalarReducedPotential(), and setMaterial().
|
private |
cached value of magnetic induction
Definition at line 63 of file Slice.h.
Referenced by bField(), initBField(), invertBField(), operator=(), and polarizedReducedPotential().
|
private |
Definition at line 64 of file Slice.h.
Referenced by operator=(), Slice(), and topRoughness().