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