3. Detectors#
3.1. Measurement Time#
Each kind of detector has a parameter that relates to the length of an individual measurement. For an electrometer, this might be called an averaging time, for a counter it might be called a count time or integration time, for an area detector or a camera it might be called an exposure time.
In this bsui profile, each such parameter of each detector in use is identified and configured in such a way that a single object is used to set the measurement time correctly for each detector in use.
This is done in a way that uses the same syntax as any of the motors
discussed in Section 2. Measurement times
are controlled by an object called dwell_time. To see the current
value of the measurement time:
dwell_time.position
and to set a new measurement time:
RE(mv(dwell_time, 0.5))
So, if you want to take a 5 second exposure on the Mythen (Section 3.3) detector and include the monitor (Section 3.2) signal, you could do:
RE(mv(dwell_time, 5))
RE(count([struck, mythen], 1))
Some of the alignment scans discussed in Section 4
as well as the XRR scan discussed in Section 5 will
either take a measurement time argument to the function call or will
set a default measurement time by setting the dwell_time parameter
accordingly.
3.2. Monitor#
The “monitor” refers to the scalar measuring input beam intensity. This might be a Bicron or an avalanche photodiode (APD). In either case, the signal is read using a Struck scalar/counter board in the VME crate in rack D, shown in Figure 3.1.
The Bicron uses channel 25 of the Struck, the APD uses channel 26.
Future tech!
The VME is legacy equipment. It’s only current use at BMM is for reading the XRD monitor signal. It would be nice to move away from the VME crate.
Fig. 3.1 The VME crate holding the Struck SIS36/38xx scalar/counter board.#
The measured monitor signal comes from the scattering of the incident beam from a sheet of plastic into the Bicron (or APD). This is shown in Figure 3.2.
Fig. 3.2 The incident beam assembly for the goniometer, showing the slits, the attenuator box, and the Bicron monitor.#
Either the Bicron or the APD is set as the monitor for the experiment. This is set by this command:
set_monitor('bicron')
The default is for the Bicron to be the monitor. The APD can be set
as the monitor by giving 'apd' as the argument to the
set_monitor() command.
The struck detectors can be measured by doing
RE(count([struck], 1))
This will display a table on screen showing the monitor counts under a
heading of monitor (i.e. not “Bicron” or “APD”).
The monitor will be included in the detector list for any alignment or measurement plan. That is, the monitor will always be included in any measurement.
3.3. Mythen#
Vendor web page for the Dectris Mythen2.
Should you find the Mythen IOC unresponsive, the solution is usually
to power cycle the Mythen controller and restart the IOC. The
controller can be power cycled using the power switch on the back side
of the small, black box shown in Figure 3.3.
The IOC is running on xf06bm-det-ioc1. ssh to that machine, then
use your BNL credentials to do
dzdo manage-iocs restart mythen-det2
Once restarted, you may need to restart bsui to connect to the IOC.
Fig. 3.3 (Left) The Mythen2 mounted on the delta arm of the goniometer. (Right) The Mythen controller secured to the table.#
Count on the Mythen:
RE(count([mythen], 1))
This will show a table on screen of the signals in the three ROIs.
ROIs:
ROI |
description |
|---|---|
|
The integral of the entire detector |
|
The direct beam, a tight ROI around the main signal |
|
The reflected beam, a wider ROI than |
The maximum count rate across all the strips of the Mythen is also
available as max_counts and is hinted, so will be included in the
on-screen table and available for plotting or other uses.
These scalars are individually accessible:
mythen.roi1.get() # the integral over mca_full
mythen.roi2.get() # the integral over mca_dir
mythen.roi3.get() # the integral over refl
mythen.max_counts.get()
There is also a fourth ROI, mythen.roi4 that is available but not
normally used.
Plot most recent exposure of the Mythen:
mythen.plot(N)
where the argument displays an ROI boundary. N=0 shows the
mca_full ROI boundaries. N=1 shows the dir ROI boundary. N=1
shows the refl ROI boundary.
Todo
Discuss the HDF5 files and how to find them. Discuss using data from HDF5 and from Tiled.
3.4. Eiger#
Notes on the Eiger from the main beamline manual
Future tech!
Integrate the Eiger and use it for pole figure measurements.
Fig. 3.4 The Eiger2S 4M detector.#
3.5. Pilatus#
Dectris Pilatus 100K. Note that we have an older model of this detector.
Note
Compared to the Eiger, our Pilatus is older and smaller, has fewer features, and is more complicated to integrate. The Pilatus is still useful, though, and will be fully supported by the goniometer profile.
Fig. 3.5 The Pilatus 100K detector.#
3.6. Optical Cameras#
Note
Optical cameras, currently USB, moving to gigE.