FixedObject

class nexus.FixedObject(factor=1 + 0j, matrix=array([[0. + 0.j, 0. + 0.j], [0. + 0.j, 0. + 0.j]]), id='')

Bases: NxObject

Constructor for a FixedObject. A FixedObject is an object in the beam path without any energy dependence.

Parameters:
  • scattering_factor (complex) – Electronic scattering factor of the object.

  • matrix (ndarray) – Fixed (detuning-independent) 2x2 complex object matrix. Corresponds to a layer/sample/object matrix type.

  • id (string) – User identifier.

scattering_factor

Electronic scattering factor of the object.

Type:

complex

matrix

Fixed (detuning-independent) 2x2 complex object matrix. Corresponds to a layer/sample/object matrix type.

Type:

ndarray

id

User identifier.

Type:

string

ElectronicAmplitude(energy)

Returns the relative electronic amplitude behind the fixed object. Corresponds to the electronic scattering factor.

Parameters:

energy (float) – no dependence

Returns:

electronic scattering factor set during initialization

Return type:

complex

ElectronicAmplitudeMatrix(energy)

Electronic scattering matrix of the fixed object.

Parameters:

energy (float) – Not used.

Returns:

2x2 scattering matrix.

Return type:

list

ObjectMatrix(isotope, detuning, calc_transitions=True)

Returns the detuning-independent object matrix. Corresponds to a layer matrix type.

Parameters:
  • isotope (MoessbauerIsotope) – Moessbauer isotope of the experiment

  • detuning (ndarray or list) – n-dimensional array with detuning values

Returns:

n-dimensional array of 2x2 complex arrays. All entries are the same for a fixed object.

Return type:

LayerMatrix2

Examples

Define a FixedObject.

factor = 0.876-0.965j

mat = np.array([[0.5, 0.5j],
                [-0.5j, 0.5]],
                dtype=complex)

fixed_object = nx.FixedObject(factor, mat, "my object")

print(fixed_object)