Private
Public Access
11
1

Move Zone Plate config to separate page

2022-10-17 15:38:25 +02:00
parent 5a38f7897c
commit 28a228d7c2

@@ -157,7 +157,7 @@ Each of these settings files is described in a section below.
 [Topup](#topup)
**zonePlateConfigFileName**::<BR>
&emsp;[Zone Plate](#zone-plate)
&emsp;[Zone Plate](Config_ZonePlate)
## Axis
Definition of coordinate axes names to be referenced by positioners with the **axisName** setting.
@@ -504,96 +504,3 @@ See source:trunk/PixelatorController/config/topup.json for an example.
&emsp;Float value defines the delay (in seconds) between when the topup signal stops and when stxm measurements resume.<BR>
&emsp;**Default**: 0
## Zone Plate
This file contains the zone plate and OSA settings.
**activeOSA**::<BR>
&emsp;String corresponding to the name (defined in **OSAs**) of the currently selected OSA.
**activeZonePlate**::<BR>
&emsp;String corresponding to the name (defined in **zonePlates**) of the currently selected zone plate.
**autoFocusDeadBand**::<BR>
&emsp;Double value that defines the energy difference (from value at last focus) needed to trigger a movement of the zone plate Z-axis to compensate for the change in zone plate focus length. Units match the "energy" positioner.<BR>
&emsp;**Default**: 0.5
**dOsa**::<BR>
&emsp;Double value defines the Z-distance between the OSA and the focal plane of the zone plate.
**distance_exitSlit_OSA**::<BR>
&emsp;Double value defines distance between the secondary source (i.e. exit slits) and the OSA. This is used for optical geometry calculations to position the zone plate correctly.
**OSAs**::<BR>
&emsp;JSON array of structures describing the set of OSA objects to be made available to select between. Each structure contains the following fields:
* "diameter" : JSON structure with fields:
* "unit" : String defining the physical unit
* "value" : Double value defining the diameter of the OSA aperture
* "name" : String label
Further name-value pairs included in the structure will be included in the _/entry*/instrument/order_selecting_aperture/_ section of the NeXus data file.
Example:
```json
"OSAs" : [
{
"diameter" : {
"unit" : "μm",
"value" : 50.0
},
"name" : "OSA 50"
},
{
"diameter" : {
"unit" : "μm",
"value" : 70.0
},
"name" : "OSA 70"
}
]
```
**zonePlates**::<BR>
&emsp;JSON array of structures describing the set of OSA objects to be made available to select between. Each structure must contain the following mandatory fields:
* "name" : String label
* "b" : array of floats defining coefficients of a polynomial that describe the energy dependent focal length of the zone plate (assuming infinite source distance). The first value is the constant of the polynomial and the next is the coefficient of of the energy, then the coefficient of the energy squared, etc. The length of the array is not limited, though a linear function (i.e. only the second value of "b" is non-zero) is typically sufficient.
* "outer_diameter" : diameter of the outer edge of the zone plate
* "outermost_zone_width" : width of the zone at the outer edge of the zone plate
* "central_stop_diameter" : JSON structure with fields:
* "unit" : String defining units
* "value" : Double value defining diameter of the central stop
* "zone_material" : String label describing the material that the zone walls are made of
Further name-value pairs included in the structure will be included in the _/entry*/instrument/zone_plate/_ section of the NeXus data file.
Example:
```json
"zonePlates" : [
{
"b" : [ 0, 6.8750 ],
"central_stop_diameter" : {
"unit" : "μm",
"value" : 75
},
"central_stop_material" : "Pb",
"central_stop_thickness" : 500,
"fabrication" : "etched",
"geometry" : {
"class" : "NXgeometry",
"translation" : {
"class" : "NXtranslation",
"distances" : [ 0.0, 0.0, -35.0 ]
}
},
"mask_material" : "mask",
"mask_thickness" : 400,
"name" : "ZonePlate B",
"outer_diameter" : 240,
"outermost_zone_width" : 35,
"support_membrane_material" : "membrane",
"support_membrane_thickness" : 300,
"zone_height" : 200,
"zone_material" : "Pt",
"zone_support_material" : "none"
}
]
```