Integration of HKL single crystal computations into EPICS using PyDevice
Explore the source record for details and available documents.
Engineering topics
Publications and source records attributed to Gofron, Kaz.
Explore the source record for details and available documents.
HKL-IOC is an open source EPICS IOC that performs real‑time crystallographic HKL calculations for diffractometers and scattering instruments. It integrates the Python hkl library with EPICS through PyDevice, exposing HKL calculations and diffractometer geometry transformations as standard EPICS process variables. This allows beamline and laboratory control systems to convert between motor positions and reciprocal‑space coordinates, configure diffractometer geometries, and drive scans directly in HKL space. The software is written in Python and designed to run alongside existing EPICS deployments without requiring changes to core EPICS components. It is intended for use at synchrotron and neutron scattering facilities, as well as laboratory X‑ray diffractometers, where reliable and reproducible HKL calculations are needed for experiment control, data collection, and automation. HKL-IOC is distributed under the GNU General Public License v3.0 (GPL‑3.0) and contributions and extensions for additional geometries and beamlines are welcomed.
TimePix3 is a 65k hybrid pixel readout chip with simultaneous Time-of-Arrival (ToA) and Time-over-Threshold (ToT) recording in each pixel*. The chip operates without a trigger signal with a sparse readout where only pixels containing events are read out. The flexible architecture allows 40 MHits/s/cm² readout throughput, using simultaneous readout and acquisition by sharing readout logic with transport logic of superpixel matrix formed using 2x4 structure. The chip ToA records 1.5625 ns time resolution. The X-ray and charged particle events are counted directly. However, indirect neutron counts use 6Li fission in a scintillator matrix, such as ZnS(Ag). The fission space-charge region is limited to 5-9 um. A photon from scintillator material excites a photocathode electron, which is further multiplied in dual-stack MCP. The neutron count event is a cluster of electron events at the chip. We report on the EPICS areaDetector** ADTimePix3 driver that controls Serval*** using json commands. The driver directs data to storage and to a real-time processing pipeline and configures the chip. The time-stamped data are stored in raw .tpx3 file format and passed through a socket where the clustering software identifies individual neutron events. The conventional 2D images are available as images for each exposure frame, and a preview is useful for sample alignment. The areaDetector driver allows integration of time-enhanced capabilities of this detector into SNS beamlines controls and unprecedented time resolution.
The temperature control of crystal optics is critical for ultrahigh resolution applications such as those used in meV-resolved Inelastic Scattering. Due to the low count rate and long acquisition time of these experiments, for 1-meV energy resolution, the absolute temperature stability of the crystal optics must be maintained below 4 mK to ensure the required stability of lattice constant, thereby ensuring the energy stability of the optics. Furthermore, the temperature control with sub-mK precision enables setting the absolute temperature of individual crystal, making it possible to align the reflection energy of each crystal’s rocking curve in sub-meV resolution thereby maximizing the combined efficiency of the crystal optics. In this contribution, we report the details of an EPICS control system using PT1000 sensors, Keithley 3706A 7.5 digits sensor scanner, and Wiener MPOD LV power supply for the analyzer crystals of the Inelastic X-ray Scattering (IXS) beamline 10-ID at NSLS-II**. We were able to achieve absolute temperature stability below 1 mK and sub-meV energy alignment for several asymmetrically cut analyzer crystals. The EPICS ePID record was used for the control of the power supplies based on the PT1000 sensor input that was read with 7.5 digits accuracy from the Keithley 3706A scanner. The system enhances the performance of the meV-resolved IXS spectrometer with currently a 1.4 meV total energy resolution and unprecedented spectral sharpness for studies of atomic dynamics in a broad range of materials.
ADTimePix3 is an open‑source EPICS areaDetector driver for TimePix3 pixel detectors from Advanced Scientific Instruments (ASI). It provides a complete control and data‑acquisition interface between EPICS and the Serval server, supporting both real detectors (single‑chip and 2×2 quad configurations) and the TimePix3 emulator. The driver configures measurements via an HTTP/JSON REST API and acquires data through high‑rate TCP streams for raw events, images, and histograms. It offers real‑time preview and accumulated images, Time‑of‑Flight histogram processing, pixel masking (including Binary Pixel Configuration files and hot‑pixel tools), extensive health and status monitoring, and integration with standard areaDetector plugins for file saving and downstream analysis. ADTimePix3 is designed for Linux 64‑bit systems (tested on Ubuntu and RHEL) and is distributed under an MIT license with additional institutional disclaimers, enabling reuse and extension in photon science beamlines and other TimePix3‑based experimental facilities.