Experiment

class nexus.Experiment(beam, objects, isotope=None, id='')

Constructor for Experiment class.

Parameters:
  • beam (Beam) – Beam object.

  • objects (list) –

    List of objects in the beam path.

  • isotope (MoessbauerIsotope) – Resonant isotope for measurements of nuclear scattering type.

  • id (string) – User identifier.

beam

Beam object.

Type:

Beam

objects

List of objects in the beam path.

Type:

list

isotope

Resonant isotope for measurements of nuclear scattering type.

Type:

MoessbauerIsotope

id

User identifier.

Type:

string

time_grid

List of times used for the calculation of moving samples.

New in version 1.0.4.

Type:

list

ElectronicAmplitude(energy)

Calculates the electronic scattering amplitude behind all objects. Analyzer objects have a default scattering_factor of 1+0j. So, an analyzer does not change the amplitude because no polarization information are used in electronic calculations. If you know the scattering factor of the analyzer you can set its scattering_factor manually. Alternatively, use the full polarization-dependent calculations in of the nuclear resonant mode (can also be used without resonant material).

Parameters:

energy (float) – X-ray energy in eV.

Returns:

electronic scattering amplitude.

Return type:

complex

Matrix(detunings, calc_transitions)

Calculates the detuning-dependent product of all object matrices, i.e. the transmission matrix behind all objects.

Parameters:
  • detunings (list or ndarray) – Detuning values for the calculation.

  • update_and_calc_transitions (bool) – True for calculation of the nuclear transitions.

Returns:

List of complex 2x2 arrays.

Return type:

list

Update()

Updates all dependencies of the experiment.