diff --git a/Config_ZonePlate.md b/Config_ZonePlate.md new file mode 100644 index 0000000..df320f5 --- /dev/null +++ b/Config_ZonePlate.md @@ -0,0 +1,93 @@ +# Zone Plate +This file contains the zone plate and OSA settings. + +**activeOSA**::
+ String corresponding to the name (defined in **OSAs**) of the currently selected OSA. + +**activeZonePlate**::
+ String corresponding to the name (defined in **zonePlates**) of the currently selected zone plate. + +**autoFocusDeadBand**::
+ 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.
+ **Default**: 0.5 + +**dOsa**::
+ Double value defines the Z-distance between the OSA and the focal plane of the zone plate. + +**distance_exitSlit_OSA**::
+ 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**::
+ 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**::
+ 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" + } + ] +``` \ No newline at end of file