# A model for magnetic reflectivity¶

The model described here is work in progress and this is only intended as a first draft of the model. It is not intended for general use.

## Changes necessary¶

Implement faster calculation of multilayers - make use of repetition unit

## Changes done¶

Perhaps the angle theta_m should be relative the quantization axis of the probe. That is as described above for the photon case but an offset of 90 deg for the neutron case. Then we do not have to “turn” the magnetization when refining.

There should probably be two dd_m parameters one dd_ml and one dd_mu so that also depletion in both the lower and upper layer can be modeled.

Neutron reflectivity calcs should be included.

Remove the slicing parameter from the instrument. - Done

Should perhaps define the magnetic roughness as the convolution between the chemical roughness and the magnetic roughness. This is to my opinion more physically reasonable. So sigma_m_real = sqrt(sigma_c2+ sigma_m2) - Done

magdens should be renamed to resdens.

A new parameter called resmag should be included to say how much of the total magnetic moment comes from the resonant magnetic species. - Done

Make a more ordered way to present the parameters in the reflectivity plugin. - Done

Include a separate slicing criterion for the off-diagonal components - Done.

Implement inline c coding of the reflectivity calculations to improve the speed. - Done it is about 3.5 faster than the previous python implementation.

## Layer Parameters¶

### Optical constants¶

- f
The ordinary (tabualted) scattering length. For example

`fp.Fe`

for pure Fe,`0.5*fp.Fe + fp.O*0.5`

for FeO (this should be in atomic percent).- b
The neutron scattering length, inserted as for f

- xs_ai
The absorption cross section for neutrons.

- fr
The resonant part of the scattering length (corrections to f close to an absorption edge). Note that this constant is scaled with magdens before added to f. Note that ftot=f+resdens*fr. This is the opposite as to the definition by Stephanov and Shina, thus fr = -(F11+F1-1)

- fm1
The XMCD scattering term. Responsible for circular dichroism. fm1=F11-F1-1.

- fm2
The XMLD scattering term. Responsible for linear dichroism. fm2=2F10-(F11+F1-1)

### Densities¶

- dens
The atomic density of the material in questions in units of atoms/AA3. The density of Fe is calculated as 2/2.8663

- resmag
The density of the magnetic species relative to the resonant species.

- resdens
The relative density of the resonant atomic species. In FeO (and a scattering length as defined above) it would correspond to 0.5.

### Non-magnetic layer parameters¶

- d
The thickness of the layer.

- sigma_c
The chemical/structural roughness.

### Magnetic parameters¶

- sigma_m
The magnitude of the magnetic roughness.

- mag
The magnetic moment of the resonant species. This is a scaling factor of the fm1 and fm2 parameters.

- phi_m
The in-plane angle of the magnetization. An angle of zero is along the photon beam directions and 90 perpendicular to it.

- theta_m
Angle of the magnetic moment relative to the surface of the sample. An angel of 0 corresponds to a in-plane magnetized sample and an angle of 90 deg means an perpendicular magnetized sample.

- dmag_l
The relative change of the magnetization of the lower interface.

- dmag_u
The relative enhancement of the magnetization of the upper interface.

- dd_l
The shift of the magnetic moment profile for the lower interface.

- dd_u
The shift of the magnetic moment profile for the upper interface.

- sigma_ml
The magnetic part of the roughness of the lower interface layer.

- sigma_mu
The magnetic part of the roughness of the upper interface layer.

## Stack Parameters¶

## Sample Parameters¶

### Control flags¶

- slicing
If yes the model will use roughness values and slice the sld profile up as given by the layer parameters. Otherwise the layers will only be boxes compress: If yes and slicing also is yes the model will merge layers with similar optical densities.

### Slicing Parameters¶

- slice_depth
This is the size of each layer that the model slices up the model into.

- sld_buffer
An extra buffer added below …

- sld_delta
To come..

- sld_mult
To Come…

### Compression parameters¶

- dsld_max
Steps smaller than this parameter will be merged into thicker layers. This applies to the diagonal parts of the susceptibility matrix. The units are electrons.

- dsld_offdiag_max
Same as dsld_max but this one applies to the off diagonal components.

- dang_max
Not used and should be removed.