NuclearReflectivity

class nexus.NuclearReflectivity(experiment, sample, angles, time_start, time_stop, time_step, max_detuning=400, intensity_data=[], scaling='auto', background=0.0, offset=0.0, resolution=0.001, fit_weight=1.0, bunch_spacing=inf, residual=<nexus.clib.cnexus.Sqrt; proxy of <Swig Object of type 'Residual *'> >, coherence=False, print_progress=False, id='')

Bases: FitMeasurement

Constructor for the NuclearReflectivityEnergy class. Class to calculate the angular dependent and time-integrated resonant scattering intensity of the experiment while for one sample the gracing-incidence angle is changed.

Parameters:
  • id (string) – User identifier.

  • experiment (Experiment) – Experiment.

  • sample (Sample) – Sample of the Experiment for the calculation.

  • angles (list) – List of the angles.

  • time_start (float) – Start time for the integration (ns).

  • time_stop (float) – Stop time for the integration (ns).

  • time_step (float) – Step size for the time axis (ns).

  • max_detuning (float) – Maximum value of the energy detuning in units of the resonant linewidth. Set this value to speed up the calculation. If zero no maximum is applied. The FFT window is always auto.

  • intensity_data (list or ndarray) – Intensity data for fitting.

  • scaling (float or Var or string) – Intensity scaling factor for fitting. Default is auto.

  • background (float or Var or string) – Background for fitting. Default is 0.

  • or (offset (float) –

    class:Var): Angular offset of the model. Defualt is 0.

    New in version 1.1.0.

  • resolution (float or Var) – Resolution value for convolution.

  • fit_weight (float) – Relative weight for the cost function in multi measurement fitting.

  • bunch_spacing (float) – Spacing of subsequent X-ray bunches in time (nanoseconds).

  • residual (Residual) – Implementation of the residual calculation used for fitting.

  • coherence (bool) –

    Determines if the summation over the thickness and divergence distributions is performed coherently (True) or incoherently (False). Default is False.

    New in version 1.0.3.

  • print_progrees (bool) –

    Determines if the progress bar is printed. Default is False.

    New in version 1.1.2.

id

User identifier.

Type:

string

experiment

Experiment.

Type:

Experiment

sample

Sample of the Experiment for the calculation.

Type:

Sample

angles

List of the angles.

Type:

list

time_start

Start time for the integration (ns).

Type:

float

time_stop

Stop time for the integration (ns).

Type:

float

time_step

Step size for the time axis (ns).

Type:

float

max_detuning

Maximum value of the energy detuning in units of the resonant linewidth. Set this value to speed up the calculation. If zero no maximum is applied. The FFT window is always auto.

Type:

float

result

List of angle-dependent time-integrated intensity values in units of (\(\Gamma\)).

Type:

list

intensity_data

Intensity data for fitting.

Type:

list

data_size

Number of data points of experimental data.

Type:

int

scaling

Intensity scaling factor for fitting.

Type:

Var

background

Background for fitting.

Type:

Var

offset (float or

class:Var): Angular offset of the model. Defualt is 0.

New in version 1.1.0.

resolution

Resolution value for convolution. Default is 0.001 deg.

Type:

Var

resolution_kernel

weight of the Gaussian resolution same step size as detuning.

Type:

list

fit_weight

Relative weight for the cost function in multi measurement fitting.

Type:

float

bunch_spacing

Spacing of subsequent X-ray bunches in time (nanoseconds).

Type:

float

residual

Implementation of the residual calculation used for fitting.

Type:

Residual

coherence

Determines if the summation over the thickness and divergence distributions is performed coherently (True) or incoherently (False). Default is False.

New in version 1.0.3.

Type:

bool

print_progrees

Determines if the progress bar is printed. Default is False.

New in version 1.1.2.

Type:

bool

Calculate()

Calculates the class method. Also callable via operator ().

Returns:

Array of intensity values.

Return type:

ndarray

Plot(data=True, residuals=True, velocity=False, datacolor='black', theorycolor='r', theorywidth=2, datalinestyle='none', datamarker='+', datamarkersize=2, datafillstyle='full', legend=True, errors=False, errorcap=2, name=None)

Plot the NuclearReflectivity.

New in version 1.0.3.

Parameters:
  • data (bool) – Select if intensity_data should be plot.

  • residuals (bool) – Select if residuals from fit should be plot.

  • errors (bool) – select if error bars should be plot.

  • datacolor (string) – See matplotlib documentation.

  • theorycolor (string) – See matplotlib documentation.

  • theorywidth (float) – See matplotlib documentation.

  • datalinestyle (string) – See matplotlib documentation.

  • datamarker (string) – See matplotlib documentation.

  • datamarkersize (float) – See matplotlib documentation.

  • datafillstyle (string) – See matplotlib documentation.

  • legend (bool) – Select if legend should be plot when model and data are plot.

  • name (string) –

    If given, the plot is saved under this name.

    New in version 1.1.0.