|
|
||
|
|
||
|
Welcome to X26A Information For Users X26A Recent News X26A Beamtime Schedule X26A Contact Information X26A Configuration Info X26A Beamline Status X26A Downloads X26A Computing X26A Publications X26A Science Highlights X26A Acknowledgement NSLS WebSite NSLS PASS BNL WebSite BNL Visitor's Guide X27A Microprobe CARS at the APS |
Controlling the Array Detector
On the right there are some other options that can be useful. For the Array you can define up to 10 Regions of Interest (ROIs) per detector element. The ROIs 0-4 and 5-9 buttons let you look at how the ROIs are defined for each detector. Remember that the nergy calibration for each detector will be different. But one useful thing here is that also shown is the number of background channels being used for background subtraction in that ROI. Typically the value is 0, meaning that the individual channel at each side of the ROI is used. Occasionally though, particularly where a peak suffers from strong peak overlap, you may not want to do a background subtraction at all. Setting these values to -1 will accomplish that. The button labeled "Acquisition time" is also useful. It'll show you a window showing the real, live, and percent dead time for each individual detector element. The next three buttons show you the individual multi-channel analyzer (MCA) plots for the detector elements. "Combined Plots" superimposes all 9 traces in a single window. The other two buttons allow you to look at individual channels. In these individual plots you'll see the XRF spectra that is being acquired, the elapsed time and dead time on the left, and regions of interest (ROI) that have been defined on the bottom. ROI's are also shown directly on the spectra as sections defined by two red vertical lines. When you first open this window the default view is in a linear vertical scale and showing all 2048 channels. “Right clicking” in the spectrum window can change this. This opens a second window where you define a logarithmic scale and limit the number of channels displayed. Typically we don't use this view to look at individual channels. Compared to Mark Rivers' IDL or Python versions of the MCA display, this is difficult to use practically, but it can come in handy as a monitor when you have a number of IDL windows open doing other things. Remember that all these programs, whether MEDM or IDL clients, are completely interactive through EPICS. For example, any ROI's defined in the IDL MCA or changes in acquisition time per spectra are immediately passed to the VME crate's memory and updates the MEDM MCA display.
Operating the Vortex-EX Silicon Drift Detector
Once the soft IOC for the Vortex is running the detector will be available anywhere on the private subnet for the beamline. You can open the MEDM control for it by selecting the "MCA Electronics" drop-down on the X26A Beamline Control window, and then selecting "Vortex" from the list. You'll notice this adl window is very similar to that for the 9-element array and the functionality is essentially identical. The Vortex will also be viewable from the IDL MCA and Widget Scan programs as the PV variable X26ASaturn:mca1, and just like with the array this PV name is case sensitive. I discuss these IDL programs in more detail below, but quickly if you wanted to view the Vortex from the IDL MCA routine you can simply select "Foreground", after which you'll see another drop down list with "Open detector". Select that and then enter "X26ASaturn.mca1" into the field. If you're running the MED program from IDL, clicking on the SDD button will open the Vortex in the MCA program, but you'll need to control it using the MCA's "On, Off, and Erase" buttons, rather than those from the MED control. For widget scan, you can collect data using the Vortex as an ROI scan. Selecting ROI scan will automatically enter the PV name for the detector in the "MCA PVName" field.
The IDL MCA Routines Alright, let's get to IDL and open up an MCA window. By now you should already have an IDL session open by having double clicked on the IDL 6.1 icon that's on the desktop. This will open up the IDL programming window. Those of you that have purchased IDL for windows should be comfortable with the interface. I'll take a minute to describe it for you others (you know who you are). You'll notice that IDL displays a number of sub-windows; in the upper right the raw code for any program that is loaded is shown; in the large window in the middle echo's of any commands you type and any text based responses from the IDL program are displayed; the window below this will display a list of the variables that are loaded in the program and what their current values are; at the very bottom there's a command line window (next to the "IDL>" prompt) where you'll be typing any text based commands. So to get the MCA widget running what we would have done in the past is type "MCA" in this window and hit <ENTER>. Now what opens here in this case is the raw MCA program for operating A SINGLE DETECTOR ELEMENT! This is an important point to keep in mind, particularly since most of our long time users were so accustomed to this from the days when we primarily used a single element Si(Li) detector. Problem is, with the array detector the Start and Stop buttons only operate and save spectra for a single element as well. Not what you want when you're using an array detector (but it IS what you want for something like our Vortex detector...confused now aren't you). So for the array in particular rather than type "MCA", what we'll do is type “MED” and hit enter. I'll discuss the subtle differences below, but for those of you that will be running the MCA program from your own computers to do data procssing, fitting, etc., you'll still be using the "MCA" routine.
The MCA and MED Widgets
Now, let's say I wanted to open a single detector element to collect data. I would in this case enter the MCA Detector PVName (it's EPICS variable name) after I select "Open detector". A small pop-up dialog window should open and in the box I would enter, say, "X26ASaturn:mca1" if I wanted to collect data from our SDD or maybe "X26A:med:mca5" if I wanted to collect data from detector element #5 in our Ge array detector. Obviously, for the array having to do this for each element would be cumbersome. That's where the MED Control widget comes in. This little, unimposing window automatically selects input from the array detector and allows you to control all the detector elements simultaneously. "Start", "stop", "erase", and setting the acquire time (in real time seconds) applies to all detector elements at the same time. The buttons numbered 1-9 on the left let you select which detector element is being currently displayed in the MCA display widget. So the upshot is, if you're using the MED detector, control spectrum collection from the MED Control widget. The button labeled "SDD" will open the Vortex in the MCA program for you to oggle shameless. The only thing to be aware of when doing this is that the "Save Spectra" button only saves the spectra for the array, not the SDD. To do that simply use the File->Save As option directly from the MCA window the SDD is collecting in. There are two other menu choices on the MED widget that are useful to know about. See that one that's labeled "Options"? There should be four choices here. The first one lets you select whether the Start button on the MED widget erases the spectrum that has been collecting. I usually recommend that it's best to leave this set to No. We've had users lose spectra when this is set to Yes inadvertently. The second option is to create a points list. This is covered thuroughly on the section of the FAQ dealing with the xanes_scan widget, but we use it here as well if you want to do an MCA List Scan. The syntax is identical. You save a series of points using the Save Stage Widget (hey...actually that's the last choice under options...go figure), list them in the points list, and then under options you can choose "Start an MCA list scan". The routine will then move to each point on the list, start the MCA and acquire for however long you have the acquire time set to, and save each spectrum in sequence using the savestage name as the file name. The last option on the menu is "ScanAbort!" Sounds ominous don't it? You see when you're using the widget_scan routine you'll come across instances where the Abort button doesn't quite abort a scan. This usually happens when there's been a beam dump and the scan is waiting for beam to return...but you....in your incessant haste, wish to abort the scan instead. It's all complicated...do loops and the like. So this choice sets an EPICS IpUnidig bin to low that the routine will monitor while it's in the loop. If it sees this bit set, it will abort....for sure...REALLY!!
Acquisition and Elapsed Time Sections So let's look at some of the components of the MCA and MED widgets. Most of these are pretty straight forward. Along the left hand side of the MCA display you'll see a number of boxed in sections. For a single element detector, the Acquisition section allows us to turn the data acquisition "On" or "Off", and "Erase" clears the spectra that's being displayed in the window. As I said above, you won't want to do this when using an array detector. With the array use the "Start", "Stop", and "Erase" buttons on the MED Control. The Elapsed Time section gives us a digital reading of the elapsed "Real Time" and "Live Time" for that detector element. In the MED Control the elapsed time is the elapsed real time only. There is a bug related to the maximum dwell time you need to be aware of, however. The maxium preset dwell time per pixel you'll be able to tell the med to count for is 1700 seconds. You can collect spectra for longer than 1700 seconds, but you'll need to stop the MED manually, it won't stop on its own. This is due to a "bug" in the drivers for our DXP spectrometers. The preset time registers in the DXP-2X are 32 bits long, and are programmed in terms of ticks of the onboard clock. the clock tick time is 400 nanoseconds. So the maxiumum time you can count for is equal to 232 * 400x10-9 or 1717.987 seconds. If you unfortunately enter a lrager value the spectrometers will just blow past that number and keep counting forever.
ROIs Section
For the MED, how well this copy function works is based on how good the energy calibration is for that detector element. So it's still a good idea to cycle through the channels and double check that the ROI is where you want it. Once you've defined several ROIs in this way the "<" and ">" symbols on either side of the text box in the MCA Display will cycle through each ROI, with two red vertical lines being displayed on each side of the ROI in the display window to show which ROI is selected. Once selected in this manner you can use "Delete" to erase the ROI or look at the bottom of the widget screen to see how many counts have been collected on that peak and the rate at which counts are being accumulated in counts per second (CPS). It's not uncommon to accidently define multiple ROIs with the same name and same position. Be careful of this, since it can cause some grief when doing scans. The really neat thing about this being integrated into EPICS with IDL as the host is that as soon as you define the ROIs they become stored as EPICS variables, immediately available to all EPICS processes and retained in memory, even if you should reboot the system. So when you start setting up an IDL scan you'll find that all the ROI's, along with their names, are pre-defined for you...so you don't have to enter all these values yourself and if you decide to add an ROI on the fly, the IDL scan routines are immediately updated. You should now be able to define up to 32 ROI's for a single detector like our SDD and up to 10 ROIs per detector for the DXP driven array detector.
KLM Markers Section The KLM Markers section of the MCA Display allows you to look at energy calibration information for the spectrum displayed. For example, if you want to see where the Fe fluorescence lines are type "Fe Ka" in the text box and hit <ENTER>. You'll notice the text box change to display "Fe Ka1, b1" informing you that data is being shown for the Fe K-alpha1 and K-beta1 peaks and you'll see two vertical red lines displayed on the XRF spectra corresponding to the energies of those two peaks. If you press the "<" or ">" buttons on either side of the text box the widget will display fluorescence lines for elements of decreasing or increasing atomic number respectively. Keep in mind that for the MED detector each element has slightly different energy calibration, so you'll need to press "<" or ">" when you switch detector channels to get the KLM markers to update.
Display Section The Display section of the MCA widget allows you to change the physical appearance of the XRF spectra being displayed. To zoom in on a portion of the spectra left-click with the mouse on the section of interest and press the "<" or ">" buttons on either side of the word "Zoom" to zoom out or zoom in respectively. To slide the displayed spectra right or left once you've zoomed in follow the same procedure but press the buttons on either side of the word "Shift". You can also change the "Vertical scale" of the plot to be either "Linear" or "Logarithmic" using the drop down list in this section.
Channel Information Along the bottom of the widget are a series of windows that provide information about a particular selected portion of the XRF spectra displayed. Here you'll find a drop down list that allows you to change the units of any information displayed to be in terms of "Channel" number, "Energy" (in keV), or "d-spacing". Once a particular unit is selected the next series of windows show where the cursor is sitting, where the left and right markers of a selected ROI are located, and what the centroid and FWHM of that ROI are (all in the units you selected from the drop-down list). To the right you'll also find digital readouts of the total and net Counts and CPS for that selected area. Total counts are all the counts in the ROI selected, including background counts. Net counts have the background linearly subtracted. Don't be surprised if on occasion your net counts are negative. This can happen if the centroid of the peak is smaller than one of the background edges of your ROI. This happens alot when you have spectral overlaps. To see ROI count rates for all MED detector elements simultaneously select the ROIs buttons from the "9 Element Detector Control" MEDM screen.
Energy Calibration
File Saving and Format The MCA spectra are saved in ascii format. There are basically two ways to save the spectra, so pay attention here, they yield very different results. To save an individual MCA spectra from ONE DETECTOR ELEMENT, you can select "Save As" from the "File" menu selection and input the file name in the proper directory. For the MED detector, though, this DOESN'T save the data for all the other detector elements! So for the array detector, the proper way to save a spectra is to select "Save Spectra" from the MED Control widget. The two file formats are the same and the MCA program will read both. The only difference i that data saved using the MCA Display widget alone will contain only single column of data. That saved using the MED Control will contain a column for each detector element. A word of caution, though. The MCA display and the scanning routines aren't aware of what files are actually in the directory. So if you're switching between MCA scans and 1D/2D ROI scans you'll want to make sure the file names are different to prevent file overwrites. Once saved, these file can be directly displayed in ascii. The file example_mca.dat (in our downloads section) will give you a look at the file format. This is data collected from a single element detector, but the MED data is the same...just more of it. You'll see the following information in the header: VERSION: 3.1 ELEMENTS: 1 DATE: Apr 27, 2001 19:27:12.332 CHANNELS: 2048 ROIS: 3 REAL_TIME: 320.4299927 LIVE_TIME: 300.0000000 CAL_OFFSET: 5.4131848e-001 CAL_SLOPE: 9.2784809e-003 CAL_QUAD: 0.0000000e+000 TWO_THETA: 10.0000000 ROI_0_LEFT: 605 ROI_0_RIGHT: 656 ... Some things are self-explanatory (date, live_time, real_time, version,...). 'Channels' tells you that in our current MCA configuration we're saving 2048 channels worth of information. 'ROIS' tells you how many roi's you had defined for this spectra and farther down in the header you'll see a listing of what channel numbers (0-2047) had been defined as the left and right edges of that ROI (ROI_0_LEFT, ROI_0_RIGHT, ROI_1_LEFT, etc.). Two vitally important bits of information if you want to plot this spectra in a spreadsheet are the 'CAL_OFFSET' and 'CAL_SLOPE'. CAL_OFFSET tells you what the energy of the first channel number (Channel 0) is in KeV. In this example its value is 0.5413 KeV. The CAL_SLOPE then gives you the energy of each subsequent channel in KeV, in this example 0.00928 KeV. If you look at the data in the file you'll then see a single column of 2048 numbers. This is the raw data saved in each channel (0-2047). To plot it in you'll need to make a line graph where the first X value is 0.5413 and each subsequent value increases by 0.00928. You'll probably also want to change you're Y scaling to be logarithmic rather than linear. You may also see some "environment" variables saved such as scaler values for ion chamber and ring current or X, Y, Z, Mono motor positions.
In the next section you'll tell the MCA program what peaks to fit. Unlike the ROIs, here you have no limit on the number of peaks you can define. The first peak that will be listed will have no Label and the energy will be meaningless, like the line highlighted in blue in the example above. This is normal, what it's saying is that...OK here's a peak waiting to be defined by you! So let's define it. Highlight the peak (it'll be marked in blue), and in the Label box above enter the name of the peak you wish to fit. Again, follow our naming conventions (i.e. Fe Ka for iron k-alpha, Mn Kb for manganese k-beta, Pb La1 for lead L-alpha 1 etc.) After you've entered the name hit the Enter key and what you'll see is that the name of the line selected in blue will change to reflect this and that the information about this peak (energy, FWHM, etc.) will change to correspond to the values of any peak that the routine found at this position in your spectra. You'll also see that in your spectral display the peak will now be marked with a single green vertical line. If you would rather enter energies instead of the names of the fluorescence lines, just enter the number in the Label field and hit Enter. To add another peak now click on the Insert button. Now select this line (it'll be marked in blue) and enter its information. Repeat this procedure until all your peaks are defined. To change a peak simply select it (it'll be marked in blue) and change its Label. The buttons to the left allow you to manipulate the defined peak positions and should be self-explanatory. Once you've defined all your peaks you have the option of saving this list or recalling a previously saved list of peaks by selecting File and then either Write Peaks... or Read Peaks... from the menu.
The 'I Can't See My Spectrum' Bug
There is a bug that occasionally crops up,
mostly when you either try to display a file in the MCA window that isn't an
MCA spectra...usually someone accidentally selects a 1D or 2D scan...or you
start to open a file but then change your mind and don't pick anything. You
the try to select an MCA spectrum and nothing shows up. What has happened is
that the MCA has set all the program colors to black. In other words the
spectrum is black, the background is black, the roi's are black, etc. To fix
this just go to Display...Preferences in the menu and in the colors section
reset each of these colors to their proper values using the color sliders.
Installing The MCA Routine on your PC
First thing you need to do is download the most
recent version of the MCA IDL code from the CARS server. The files are TAR
compressed but WINZIP should be able to decompress them. Decompress them
into your IDL directory (you might want to make a subdirectory called MCA to
put them in) and make sure that IDL knows where this directory is
(File->Preferences->Path in IDL, then click on Add, add that directory and
select the check box to have all subdirectories searched). I think Mark's
TAR package doesn't include an mca.preferences file. I believe that the MCA
routine should create one but I've run into problems if it doesn't find an
initial one there, so download ours here (mca.preferences). It's a binary
file so make sure you download it as binary, not ascii.
In order for you to take advantage of all of the
MCA's parameters you'll now need to set several environment variables on
your PC. In Windows NT this is relatively easy (you'll want to do this while
logged in as Administrator optimally). Go to Control Panel
(Start->Settings->Control Panel) and double click on the System icon. Select
the Environment tab. Click on any of the system variables listed to tell
windows initially that you'll be defining a system variable. Now at the
bottom you see two boxes labeled Variable and Value. You're going to want to
define a series of variables for the MCA. These are (I'll give the variable
and the definition on each line in green):
JCPDS_PATH should be c:\idl\idl54\jcpds\ or
whatever directory you put it in.
MCA_HELP_COMMAND should be start http://cars.uchicago.edu/software/mca.html
MCA_PREFERENCES should be c:\idl\idl54\mca.preferences
or wherever you put this file.
XRF_PEAK_LIBRARY should be c:\idl\idl54\xrf_peak_library.txt
or wherever you put this file.
That's it, you should be set. On some systems
you may have to reboot. If you're running Windows 95/98 you'll need to edit
your config.sys file. Do a search for it on your system, it's typically in
your \windows\system directory. Then add the following three lines (you can
edit the file in notepad or wordpad, it's just ascii):
set JCPDS_PATH=c:\idl\idl54\jcpds\
set MCA_PREFERENCES=c:\idl\idl54\mca.preferences
set XRF_PEAK_LIBRARY=c:\idl\idl54\xrf_peak_library.txt
Edit the paths to the files so they're
appropriate to your specific directory structure. When you're done save the
file and reboot .
|
|
| Beamline X26A receives support the following organizations: | ||