ForwardSample
- class nexus.ForwardSample(layers, drive_detuning=[], function_time=None, id='')
Bases:
BasicSample
Constructor for
ForwardSample
.Added in version 2.0.0.
- Parameters:
layers (list) – List of Layer in order of beam propagation.
drive_detuning (list or ndarray) – Detuning values for a sample on a Moessbauer drive.
function_time (
FunctionTime
) – AFunctionTime
implementation of the user to describe sample motion. Must return the phase factor \(\phi(t) = k x(t)\), where \(k\) is the photon wave vector along beam direction and \(x(t)\) the sample motion along the beam propagation direction.id (string) – User identifier.
- layers
List of Layer in order of beam propagation.
- Type:
list
- drive_detuning
Detuning values for a sample on a Moessbauer drive.
- Type:
list or ndarray
- function_time
A
FunctionTime
implementation of the user to describe sample motion. Must return the phase factor \(\phi(t) = k x(t)\), where \(k\) is the photon wave vector along beam direction and \(x(t)\) the sample motion along the beam propagation direction.- Type:
- id
User identifier.
- Type:
string
- EffectiveThickness()
Returns the effective thickness \(t_{eff} = \sigma \sum_i \rho_{i} f^{LM}_i t_i\) of the sample in forward geometry, where \(\sigma\) is the nuclear cross section, \(\rho_{i}\) is the number density of the resonant nuclei in the i-th layer, \(f^{LM}_i\) is the Lamb Moessbauer factor of the i-th layer, \(t_i\) is the thickness of the layer i-th layer.
- Returns:
Effective thickness.
- Return type:
double
- ElectronicAmplitude(energy)
Calculates the electronic amplitude behind the sample.
- Parameters:
energy (float) – X-ray energy (eV)
- Returns:
Electronic amplitude.
- Return type:
complex
- ElectronicAmplitudeMatrix(energy)
Calculates the relative electronic amplitude matrix behind the sample.
- Parameters:
energy (float) – X-ray energy (eV)
- Returns:
Electronic amplitude.
- Return type:
complex
- ElectronicAmplitudeThickness(energy, thickness)
Calculates the electronic X-ray field amplitude in the sample at a given thickness value.
- Parameters:
energy (float) – X-ray energy (eV).
thickness (float) – Thickness value (nm).
- Returns:
Electronic field amplitude in the sample at the thickness value.
- Return type:
complex
- ElectronicFieldAmplitude(energy, num_points)
Calculates the electronic X-ray field amplitude in the sample.
- Parameters:
energy (float) – X-ray energy (eV).
num_points (int) – Number of points of the output.
- Returns:
Electronic field amplitude in the sample.
- Return type:
complex
- ElectronicFieldIntensity(energy, num_points)
Calculates the electronic X-ray field intensity in the sample.
- Parameters:
energy (float) – X-ray energy (eV).
num_points (int) – Number of points of the output.
- Returns:
Electronic field intensity.
- Return type:
float
- ElectronicIntensity(energy)
Calculates the electronic X-ray field intensity (transmission factor) behind the sample.
- Parameters:
energy (float) – X-ray energy (eV)
- Returns:
Electronic intensity (transmission factor).
- Return type:
float
- ElectronicIntensityThickness(energy, thickness)
Calculates the electronic X-ray field intensity (transmission factor) in the sample at a given thickness value.
- Parameters:
energy (float) – X-ray energy (eV).
thickness (float) – Thickness value (nm).
- Returns:
Electronic field intensity in the sample at the thickness value.
- Return type:
float
- Ids()
List with all layer id of the sample.
- Returns:
Layers ids.
- Return type:
list
- Interfaces()
A list with the positions of the layer interfaces.
- Returns:
Position of the Layer interfaces.
- Return type:
list
- LayerCenters()
A list with the center coordinates of all layers in the sample.
- Returns:
Position of the Layer centers.
- Return type:
list
- ObjectMatrix(isotope, detuning, calc_transitions)
Calculates the sample matrix - the product of all layer matrices.
- Parameters:
isotope (
MoessbauerIsotope
) – Moessbauer isotope.detuning (list or ndarray) – Detuning values of the calculation.
calc_transitions (bool) – Specifies if the nuclear transitions should be updated or not. Set this value to True.
- Returns:
List of complex 2x2 matrices.
- Return type:
list
- TotalThickness()
Calculates the total thickness of the sample.
- Returns:
Total thickness of the sample (nm).
- Return type:
float
- nexus.Air(length, id='')
Creates a
ForwardSample
type of air.Changed in version 2.0.0.
- Parameters:
length (float) – length of the air distance in meter.
id (string) – optional string identifier.
- Returns:
Sample object with material air.
- Return type:
- class nexus.SimpleSample(thickness, composition, density, isotope=None, abundance=0.0, lamb_moessbauer=0.0, hyperfine_sites=[], id='')
Bases:
ForwardSample
Creates a
ForwardSample
with only one layer and material. All needed instances are created automatically. The layer and material parameters can be assigned directly via theSimpleSample
attributes.Changed in version 2.0.0.
- Parameters:
thickness (float or
Var
) – Thickness of the layer (nm).composition (list) – Composition of the material in the format [[“element symbol” (string), relative atomic fraction (float)] , … ].
density (float or
Var
) – Density (g/cm 3).isotope (
MoessbauerIsotope
) – Moessbauer isotope.abundance (float or
Var
) – Isotope abundance (0 to 1).lamb_moessbauer (float or
Var
) – Lamb Moessbauer factor (0 to 1).hyperfine_sites (list) – List of
Hyperfine
sites assigned to the material.id (string) – user identifier.
- composition
Composition of the material in the format [[“element symbol” (string), relative atomic fraction (float)] , … ].
- Type:
list
- isotope
Moessbauer isotope.
- Type:
- id
user identifier.
- Type:
string
- layer
Layer instance of the
SimpleSample
.- Type:
- material
Material instance of the
SimpleSample
.- Type:
- Returns:
Sample object.
- Return type:
- EffectiveThickness()
Returns the effective thickness \(t_{eff} = \sigma \sum_i \rho_{i} f^{LM}_i t_i\) of the sample in forward geometry, where \(\sigma\) is the nuclear cross section, \(\rho_{i}\) is the number density of the resonant nuclei in the i-th layer, \(f^{LM}_i\) is the Lamb Moessbauer factor of the i-th layer, \(t_i\) is the thickness of the layer i-th layer.
- Returns:
Effective thickness.
- Return type:
double
- ElectronicAmplitude(energy)
Calculates the electronic amplitude behind the sample.
- Parameters:
energy (float) – X-ray energy (eV)
- Returns:
Electronic amplitude.
- Return type:
complex
- ElectronicAmplitudeMatrix(energy)
Calculates the relative electronic amplitude matrix behind the sample.
- Parameters:
energy (float) – X-ray energy (eV)
- Returns:
Electronic amplitude.
- Return type:
complex
- ElectronicAmplitudeThickness(energy, thickness)
Calculates the electronic X-ray field amplitude in the sample at a given thickness value.
- Parameters:
energy (float) – X-ray energy (eV).
thickness (float) – Thickness value (nm).
- Returns:
Electronic field amplitude in the sample at the thickness value.
- Return type:
complex
- ElectronicFieldAmplitude(energy, num_points)
Calculates the electronic X-ray field amplitude in the sample.
- Parameters:
energy (float) – X-ray energy (eV).
num_points (int) – Number of points of the output.
- Returns:
Electronic field amplitude in the sample.
- Return type:
complex
- ElectronicFieldIntensity(energy, num_points)
Calculates the electronic X-ray field intensity in the sample.
- Parameters:
energy (float) – X-ray energy (eV).
num_points (int) – Number of points of the output.
- Returns:
Electronic field intensity.
- Return type:
float
- ElectronicIntensity(energy)
Calculates the electronic X-ray field intensity (transmission factor) behind the sample.
- Parameters:
energy (float) – X-ray energy (eV)
- Returns:
Electronic intensity (transmission factor).
- Return type:
float
- ElectronicIntensityThickness(energy, thickness)
Calculates the electronic X-ray field intensity (transmission factor) in the sample at a given thickness value.
- Parameters:
energy (float) – X-ray energy (eV).
thickness (float) – Thickness value (nm).
- Returns:
Electronic field intensity in the sample at the thickness value.
- Return type:
float
- Ids()
List with all layer id of the sample.
- Returns:
Layers ids.
- Return type:
list
- Interfaces()
A list with the positions of the layer interfaces.
- Returns:
Position of the Layer interfaces.
- Return type:
list
- LayerCenters()
A list with the center coordinates of all layers in the sample.
- Returns:
Position of the Layer centers.
- Return type:
list
- ObjectMatrix(isotope, detuning, calc_transitions)
Calculates the sample matrix - the product of all layer matrices.
- Parameters:
isotope (
MoessbauerIsotope
) – Moessbauer isotope.detuning (list or ndarray) – Detuning values of the calculation.
calc_transitions (bool) – Specifies if the nuclear transitions should be updated or not. Set this value to True.
- Returns:
List of complex 2x2 matrices.
- Return type:
list
- TotalThickness()
Calculates the total thickness of the sample.
- Returns:
Total thickness of the sample (nm).
- Return type:
float