NuclearReflectivityEnergy
- class nexus.NuclearReflectivityEnergy(experiment, sample, angles, detuning, intensity_data=[], scaling='auto', background=0.0, offset=0.0, resolution=0.001, fit_weight=1.0, residual=<nexus.clib.cnexus.Sqrt; proxy of <Swig Object of type 'Residual *'> >, time_gate=[], coherence=False, print_progress=False, id='')
Bases:
FitMeasurement
Constructor for the
NuclearReflectivityEnergy
class. Class to calculate the angular-dependent and energy-integrated total scattering intensity of the experiment while for one sample the gracing-incidence angle is changed.- Parameters:
id (string) – User identifier.
experiment (
Experiment
) – Experiment.sample (
GrazingSample
) –Sample whose angle is changed.
Changed in version 2.0.0: changed from old
Sample
class toGrazingSample
.angles (list) – List of the angles.
detuning (list or ndarray) – Detuning values for the calculation.
intensity_data (list or ndarray) – Intensity data for fitting.
scaling (float or
Var
or string) – Intensity scaling factor for fitting. Default isauto
.background (float or
Var
or string) – Background for fitting. Default is0
.offset (float or
Var
) –Angular offset of the model. Default is
0
.Added 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.
residual (
Residual
) – Implementation of the residual calculation used for fitting.time_gate (list) –
An empty or two element list. If a two element list is passed these two values [start, stop] are taken as a time gating. The spectrum is Fourier transformed, the time gate is applied, and time response is transformed back to a spectrum. This does not give a time gated Moessbauer spectrum. Given in ns.
Added in version 1.0.1.
coherence (bool) –
Determines if the summation over the thickness and divergence distributions is performed coherently (
True
) or incoherently (False
). Default isFalse
.Added in version 1.0.3.
print_progrees (bool) –
Determines if the progress bar is printed. Default is
False
.Added in version 1.2.0.
- id
User identifier.
- Type:
string
- experiment
Experiment.
- Type:
- sample
Sample whose angle is changed.
Changed in version 2.0.0: changed from old
Sample
class toGrazingSample
.- Type:
- angles
List of the angles.
- Type:
list
- detuning
Detuning values for the calculation.
- Type:
list or ndarray
- result
List of angle-dependent energy-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
- 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
- time_gate
An empty or two element list. If a two element list is passed these two values [start, stop] are taken as a time gating. The spectrum is Fourier transformed, the time gate is applied, and time response is transformed back to a spectrum. This does not give a time gated Moessbauer spectrum. Given in ns.
Added in version 1.0.1.
- Type:
list
- coherence
Determines if the summation over the thickness and divergence distributions is performed coherently (
True
) or incoherently (False
). Default isFalse
.Added in version 1.0.3.
- Type:
bool
- print_progrees
Determines if the progress bar is printed. Default is
False
.Added in version 1.2.0.
- Type:
bool
- Calculate()
Calculates the class method. Also callable via operator
()
.- Returns:
Array of intensity values.
- Return type:
ndarray
- Cost()
Get the cost function of the measurement
\[cost = \frac{1}{n} \sum_i r(y_i, \hat{y}_i)\]Added in version 2.0.0.
- Returns:
cost function value.
- Return type:
float
- MeanSquaredError()
Get the mean squared error (MSE) of the measurement
\[cost = \frac{1}{n} \sum_i (y_i - \hat{y}_i)^2\]Added in version 2.0.0.
- Returns:
MSE value.
- Return type:
float
- Plot(data=True, residuals=True, datacolor='black', theorycolor='r', theorywidth=2, datalinestyle='none', datamarker='+', datamarkersize=2, datafillstyle='full', legend=True, errors=False, errorcap=2, name=None)
Plot the
NuclearReflectivityEnergy
.Added in version 1.0.3.
Changed in version 1.2.0.
- Parameters:
data (bool) – Select if
intensity_data
should be plot.residuals (bool) – Select if
residuals
from fit 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.
errors (bool) – Select if error bars should be plot.
errorcap (float) – See matplotlib documentation (
capsize
).name (string) –
If given, the plot is saved under this name.
Added in version 1.1.0.
- Velocity()
Returns the velocity detuning of the measurement in units of mm/s.
- Returns:
Velocity detuning (mm/s).
- Return type:
ndarray