N U C L E A R I N S T R U M E N T S A N D M E T H O D S 86 (I97O) 4 5 - 5 4 ;
© NORTH-HOLLAND
PUBLISHING
CO.
N U C L E A R D A T A A C Q U I S I T I O N W I T H A LARGE 2nd G E N E R A T I O N C O M P U T E R * J. C. HIEBERT, C. C. HAMILTON, T. H. SATHRE and R. C. ROGERS
Cyclotron Institute, Texas A & M University, College Station, Texas 77843, U.S.A. Received 8 May 1970 and in revised form 5 June 1970 An IBM 7094 computer system is used for real-time data acquisition at the Texas A&M Variable Energy Cyclotron (TAMVEC) facility. The IBSYS monitor has been modified to support a multiprogramming environment in which data acquisition func-
tions are handled automatically while the user either monitors the data acquisition or analyzes previously acquired data. The heart of the acquisition system is a control interface, in which an experiment is configured under software control.
1. Introduction The on-line computer has become a standard feature in virtually all accelerator laboratories. The choice as to which computer is installed is based on a complex set of criteria and the variety of installed machines is great~). In the present case, a university-owned IBM 7094 system became available to T A M V E C when a third generation computer system was installed in the university's Data Processing Center. The challenge of utilizing the power of the 7094 in a real-time data acquisition environment together with a lack of funds for procuring a new computer system led to the project reported herein. The rationale of computer-controlled data acquisition has been well established in the literature2). One of the goals which has proven particularly difficult to achieve has been to utilize the analysis and logical decision capabilities of the computer to conduct conceptually different experiments. At least one of the experiments 3) presently in progress at T A M V E C would not have been considered if the 7094 system had not been installed. Even so, this type of progress is one of scale and not really a matter of a conceptually new experiment.
To facilitate the data acquisition and on-line data analysis functions, two major modifications have been made to the 7094. Two independent, fully buffered data channels have been added to the system through the incorporation of an IBM 7286 Direct Data Channel 4, 5). Each channel operates in the cycle-steal mode and provides two-way, 36 bit parallel data transmission between core storage and an external device at rates up to 250K words/sec. The second modification has been to convert the 7094 Storage Cell Clock into an externally addressed Storage Cell IncrementerS). This provides the multichannel analyzer function in any selected portion of the 7094 memory in a cycle-steal mode. 2.2. INPUT-OUTPUT CAPABILITIES 2.2.1. Direct data channels In addition to the two-way data transmission, the 7286 channels each have 36 input and 36 output sense lines. The sense lines are strobed or read in parallel, independent of data transmission through the channel. Thus, the sense lines are used to monitor or set conditions in either the display or the data acquisition interface without interrupting data transmission through either interface. Each channel in the 7286 communicates with the C P U through three different interrupts. The completion of a read or write operation generates a command word trap indicating that a channel needs a new command. Two separate interrupt lines are available to the external devices serviced by each channel. Only one of these external interrupts is used on a channel since the sense lines are used to determine the source of the external interrupts. All interrupts can be enabled or disabled under program control.
2. Hardware 2.1. SYSTEM DESCRIPTION
An IBM 7094 data processing system has been modified to provide data acquisition functions in addition to its well-known analysis capabilities. The 7094 is a 36 bit word parallel arithmetic and internal data path computer with a 32 768 word memory and a 2.18 psec cycle time. The T A M V E C configuration is shown in fig. 1. Off-line card, print, and plot operations are handled by an IBM 1401 computer linked to the 7094 through four switchable tape drives. The lower half of fig. 1 represents a typical 7094/1401 batch processing system.
2.2.2. Storage cell incrementer This feature provides an external interface to the 7094 central processing unit and memory. The interface accepts a 16 bit address plus an initiate signal.
* Work supported in part by the U. S. Atomic Energy Commission.
45
NUCLEAR INSTRUMENTS &METHODS A JOURNAL
ON ACCELERATORS,
AND TECHNIQUES
EDITOR:
INSTRUMENTATION
IN N U C L E A R
K. S I E G B A H N -
VOLUME
PHYSICS
UPPSALA
86
SEPTEMBER 1970
q~C
NORTH-HOLLAND
PUBLISHING
COMPANY
--
AMSTERDAM
NUCLEAR DATA ACQUISITION WITH A 2ND GENERATION COMPUTER
ware, the setup of an experiment in the interface is accomplished under program control. The operation of the system is discussed in some detail in the following sections. 2.3.1. Data input devices The interface will service eight analog-to-digital converters. Geoscience Model 8050 converters are being used, providing 13 bit resolution with a 50 M H z clock. Several modifications were made to the converters to provide outputs from the A D C for every linear signal gated into the input; whether off-scale, rejected because the A D C was busy, or actually digitized. A commercially available scaler system 6) contains 16 individual 24 bit, 30 M H z sealers which are controlled and read through the data acquisition interface. An auxiliary 36 bit register is also provided for any event descriptors which might be needed to define a particular event. 2.3.2. ADC buffer registers The contents of A D C registers and the auxiliary register enter the interface through buffer registers. The buffers provide a setup mode in which all A D C to buffer data and control operations function but no transmission through the interface is generated. To select an A D C for computer acquisition a manual selection must be accompanied by a software select. This protects the cyclotron experiment from any mechanical errors of the next user who may be checking out A D C operations prior to going on-line. The buffer unit contains routing switches for tagging A D C events when several independent experiments are being conducted simultaneously. Comparison switches are used in multi-parameter experiments where the array size is too large for real time sorting in the computer memory. By setting the comparison switches to a subset of the array, those events which fall within the subset are routed to the incrementer for real time sorting while all events go through channel D for storage on tape. 2.3.3. Experiment control The setup and subsequent operation of a particular experiment is defined by initializing a set of registers in the interface. Fig. 2 shows the logic and data paths through the interface. The configuration of a particular experiment is determined in the word content registers (WCTR's). The W C T R specifies the contents of a word to be transferred, where it will be transferred, and the conditions for transfer. It is preset with the addresses of the input units required to complete an
47
event. If the complete description of an event required more than one 36 bit word, then two or more W C T R ' s can be used and the word group register is preset to require ready signals from all of the selected W C T R ' s prior to initiating a computer store sequence. Several examples will illustrate the setup of experiments in the interface. 1. A two-parameter experiment such as a two detector telescope for particle identification is configured by requiring A D C ' s 3 and 4 (or any other pair) in a WCTR. When the two A D C buffer registers are loaded, the W C T R conditions are met and the data is gated through to the appropriate output buffer register. 2. A multiple two-parameter experiment such as an (e,e'y) reaction with two particle detectors in coincidence with a single Ge(Li) is in progressT). The 7-ray pulses might be routed to A D C no. 1 while the particle detectors feed A D C ' s 2 and 3, respectively. Since two particle-gamma coincidence experiments are running simultaneously two W C T R ' s are used. One W C T R is preset for A D C nos. 1 and 2 and the other requires A D C nos. 1 and 3. In this experiment all three A D C ' s are started after either a 123 or a 123 coincidence event. The A D C buffer register corresponding to the detector not in coincidence will be set to "0" by the off-scale logic and the sorting program can test and route the data accordingly. 3. A three-body breakup experiment utilizing 192 plastic scintillator-photomultiplier detectors is also in progress3). The detectors are grouped into two sets. A and B, of 96 detectors each. An event is characterized by a coincidence between a detector in group A and one in group B. Each detector is identified in its group by a 16 bit binomial code. Thus, an event is described by two A D C outputs giving energy information and two 16 bit codes which carry the scattering angle information. The interface is configured with the two A D C ' s required in WCTR no. I and the 32 bit identification code is routed to the auxiliary register which is required in W C R T no. 2. The word group register is programmed to require both W C T R ' s before the data is gated to the 7286. In this case two words will be read into memory for each event. The format register corresponding to an input buffer register determines the data path to memory. A format register is preset to route the corresponding data to the incrementer path or to one of the four available positions in a word read through the 7286. The four positions allow for either one, two, or three descriptors to be entered to memory in one computer word. Setting up the interface for an experiment requires that the necessary word content registers, format
48
J . c . HIEBERT et al.
.9 e~
,
oi e~ ~-10
o
o
-~..
~
"ITJITII registers, and the word group register be preset. In conventional one and two parameter experiments this can be accomplished in F O R T R A N subroutines as discussed in section 3.5.1. 2.3.4. The incrementer patch The incrementer patch connects the A D C buffer
register bits to the incrementer address lines in any desired combination. Normally this operation is carried out under program control using the channel D sense lines. An assembly language program is available to the user through several F O R T R A N C A L L statements which patch A D C ' s to the incrementer. The P A C H I T entry requires as arguments the number of the selected
N U C L E A R DATA A C Q U I S I T I O N W I T H A 2 N D G E N E R A T I O N C O M P U T E R
ADC, the number of bits to be patched, whether the ADC is to be used in a dependent or independent mode, and whether to store off scale events. After patching an ADC the C K I N T entry is made. The program, using the sense lines in channel D, sets ones in the ADC buffer which results in an increment cycle to the highest memory location assigned to the ADC. Then the buffer register is set to zero, incrementing the lowest memory location assigned. The two locations are then checked to insure that the two operations were properly carried out. Appropriate messages are printed on-line indicating the status of the check. For a two-parameter experiment the four corners of the array are checked through an analogous entry. The memory locations assigned to the incrementer always start from the top of core. If an experiment required four independent ADC's, each digitizing over 2048 channels, then the top 4096 memory locations are required. The first A D C patched will increment in the top 1024 memory locations. The 11 active bit positions in the corresponding buffer are patched to the HalfWord through 29 memory address lines and the "bias" bit in the buffer is patched to each of the 2 1 ° - 2 1 4 memory address lines. The next ADC is identically patched except for the 2 l° memory address line being patched to a "zero" bit in the buffer. The third ADC has the 21° line biased and the 211 line zeroed while the fourth ADC has both these lines zeroed. When a particular ADC runs down setting the corresponding WCTR, the buffer contents and bias information are gated through the patch to the incrementer buffer register. Data transfer through the interface is under the control of a 10 MHz clock. A 1 #s period is broken into 10 clock periods labeled TO through T9. The input buffers are loaded at TO, the WCTR scan started at T2, ADC's are released at T5, output buffer loaded at T6, computer cycle requested at T7, and input buffers released at T8. The interface with its 1 MHz data transmission capability, is capable of handling any experiments presently contemplated. 2.3.5. Implementation Physically, the data acquisition interface including ADC's and scalers is mounted in four 19" frames. Dual in-line package T T L integrated circuits have been used throughout. Initially, printed circuit cards were fabricated at the institute to form the basic modules for the interface. Midway through the project IC trays were incorporated to economize on space and improve system reliability. Using the trays also makes the correction of fabrication errors and future modifications
49
and improvements much easier to handle. The interface utilizes approximately 3900 IC packages, 3400 discrete components and required about 87000 solder or wirewrap connections. An interface status board is provided for a visual check of the interface operation. The state of each word content register, each format register and the word group register is displayed such that a user can verify the setup of an experiment. Input and output buffer registers are also displayed and are used primarily for checking out the data transfer paths through the interface. Other interface logic states are displayed for diagnostic purposes. 2.4. THE DISPLAY FACILITY The importance of a cathode ray tube display in a computer based data acquisition system has been well documented2). The display system developed at TAMVEC is typical in that it provides point and vector plotting modes and utilizes a light pen for usermachine interaction. The display scope is a 21 inch ITT KM105 with a 10" x 10" plotting area, a 12 ps jump scan time, and 1024 addressable points in both directions. When a display is initiated a display buffer containing individual display commands is formed in the 7094 memory. The CPU issues a channel command sequence and is then free for other activity. The channel transmits the individual display commands to the display control interface on a demand-response basis. The last command in the buffer is recognized in the interface and a frame rate limiting circuit inhibits the response until the frame period exceeds 33 ms. The last response results in a channel trap and the CPU is momentarily required to reissue the channel command sequence. The display unit requires 27 bits of information to plot random points. These provide 3 bits of intensity control, 4 bits of interface control, and 10 bits each of x and y addressing. The display unit is the slowest link in the data path, limiting the display rate to 80000 points per second. It is also possible to plot in the "chained" mode in which a single display command contains two y addresses and the interface starts the x address at zero and increments x by one after each point is plotted. This mode reduces by a factor of two the number of memory fetches required per display frame. The ITT LP303 light pen operates in a manual plus software enable mode. The thumb-operated microswitch cannot be used to interrupt the CPU unless the light pen interrupt latch has been enabled through a
50
J . C . H I E B E R T et al.
user program. One operation of the microswitch produces a finder circle which the pen projects on the CRT screen. A second closure of the switch completes the enabling of the pen and it generates an interrupt within 1 /~s of a point illuminated within the finder circle. When the C P U responds the finder circle is extinguished indicating to the user that the coordinates of the point were entered in the light pen service area of core. 2.4.1. Multiprogramming support hardware The display interface contains several hardware functions required to support the multiprogramming environment. These functions include a 500 Hz interval timer, the console function keyboard, a set of data entry switches, and the light pen register. The operation of these hardware functions will be discussed in section 3.3. All control operations, whether enable, preset, read, or reset are conducted through the channel C sense lines and operate independently of display activities. Any interrupt on channel C results in two sense instructions which gate the interrupt latches on the store sense lines and then read their status. The trap handling routine then tests for the source(s) of the interrupt and branches accordingly. 2.4.2. Buffer memory Because of the substantial trap handling routine which is executed after each display frame, a random point display of 1024 points uses 15-20% of the available memory cycles. A small satellite computer 8) is being installed to serve as an external buffer memory which will drive the display unit. Ultimately, it is hoped that all display software can be transferred to the satellite computer with only raw data passing through channel C to the satellite in a single burst. This addition should return essentially all the present display load on the 7094 to the active data acquisition and analysis tasks.
3. The operating system 3.1. OBJECTIVES The cyclotron computer system (CYCOSYS) has been created by modifying a subset of the IBM operating system for the 7094, IBSYS9). The modifications to IBSYS were made with three major goals in mind. A. The operating system will be capable of supporting on-line data acquisition and analysis concurrently. B. It will provide the necessary functions such that all analysis programs can be written in F O R T R A N IV.
C. The system will provide experiment support through assembly language acquisition programs. Only a single cyclotron experiment is performed online at a given time so the objective of the system is to allow the user to analyze data while on-line in order to evaluate the progress of an experiment and to reduce the amount of off-line time required for data analysis. The latter point is crucial since the amount of off-line time available decreases steadily as more users switch to on-line data acquisition. The overriding consideration in increasing the research productivity of laboratory personnel is the ease of access to the system. This means, among other things, that the user should be able to configure and execute an experiment together with the analysis without having to resort to assembly language programming. The weakest link with the present system is in the configuration of experiments. The most common acquisition modes, such as multiplexed single parameter and two-parameter experiments have been programmed and are available through F O R T R A N CALL statements. It is anticipated that a library of more complex acquisition programs will be built up in time. A great strength of CYCOSYS is the ease with which the analysis tasks can be added. The overlap capabilities together with common data areas allow the user to swap programs into core with unrestricted availability, on a symbolic basis, of common information. It has thereby proven relatively simple to incorporate previously running off-line analysis programs into an on-line job. 3.2. THE MULTIPROGRAMMING ENVIRONMENT
The system monitor is the permanently resident portion of CYCOSYS. It schedules input/output requests, process interrupts, and controls the activity of the multiprogramming units. From 1-8 tasks (multiprogramming units) may be defined and supported concurrently. Each task may contain up to 32 defined subprograms. Since only one task can be executing at any instant the assigned task number also specifies the priority of the task. The data acquisition program is always assigned the highest task number in use in order that the acquisition functions will be executed with highest priority. Subprograms defined within a task will be performed sequentially according to priority when requested. A subprogram is references by number (I-32) which also indicates the relative priority within the task. Requests for subprograms which cannot be executed immediately are stacked and remembered by the
N U C L E A R DATA A C Q U I S I T I O N W I T H A 2 N D G E N E R A T I O N C O M P U T E R
monitor. Subprogram requests can be entered to the monitor in three ways. The user can execute any subprogram in real time, subject to priority, by entering the task and subprogram numbers through the function keyboard. A timer request can be executed to initiate a subprogram after a specified time interval. Finally, a subprogram can enter a request for any other subprogram. A special set of monitor service routines have been included in the CYCOSYS monitor to provide the multiprogramming functions. These subroutines are available to the user through CALL statements. The define and delete function macros are used to specify the current tasks and subprograms within the tasks. The queue function macro is the means by which a running program enters a request for another subprogram. Timer service routines are available for entering program requests after a specified time interval. The request may be either one-time or repeating at the specified interval. 3.3. OPERATOR-PROGRAMCOMMUNICATIONS To determine the course of data acquisition and analysis in real time the user needs a rapid means of entering program requests into the system. For this purpose, the 7094 console keys can be used as a function keyboard. Keys 1, 2 and 3 are used to designate the task (0-7) selected and keys 4-35 correspond to subprograms 1-32 respectively. After depressing the appropriate keys the user presses the console interrupt button whereby the keys are read and the subprogram request is entered. When this subprogram gains priority it is loaded, if not resident, and executed. A set of data entry switches has also been provided to permit the real time entry of numerical data without having to punch a card. Assembly language subroutines are available to the user which enable the data entry interrupt and respond to the interrupt by reading the switches into the user program area. When the satellite computer is integrated into the display facility it will also replace the data entry switches. An electronic data terminal 1°) on the satellite provides keyboard input and output of alphanumeric information. 3.4. DISPLAY PROGRAMS The display facility is essential to monitoring the course of an experiment and to the on-line analysis of data. A display software package 11) has been incorporated in CYCOSYS to permit the user to generate and control displays through a series of F O R T R A N CALL statements. Rather than package a particular
51
set of display modes, i.e., contour, isometric, and planar functions, the display software is modeled after the typical plotting packages. The set of display subroutines enables the user to tailor a particular display mode to his needs with a minimum programming effort. The display subroutines contain various entries which permit display generation under conditions which require either minimizing the amount of core required or the amount of time required. At the lowest level, the PLOTP entry can be called to build a single plot command word in the display buffer for a given intensity, plot mode, and coordinates. When all command words are constructed in this way, the IOPLOT entry is made to initiate channel activity. At a higher level, the user may construct arrays of x and y coordinate pairs to be displayed. Through a single entry in the display subroutines the buffer is filled and the display is started. At this level separate entries are available for generating random point plots, chained point plots, and vector plots. In addition, entries are available to origin and scale displays, to update and delete points in a display, to change the intensity of points, and to generate display axes. The light pen service routines are also available through CALL statements.
CYCOSYS MONITOR (2K) MULTICHANNEL ANALYZER MEMORY (4K) DISPLAY 8K
__
RANGE
BUFFER (IK) TABLE
LIBRARY SUBROUTINES
(IOK)
16K SETUP
I
DE v s
E+OE
ACQUISITION
DISPLAY AND LIGHT PEN FUNCTIONS
/J
E~ '¢" DE ACQUISITION
. PARTICLE TYPE ACQUISITION
IDENTIFIED PARTfCLE ACQUISITION
@J
24K
ANALYSIS FUNCTIONS
(IO K) 32K
I/0
BUFFERS
(IK)
TIME
Fig. 3. Core storage allocation for a particle identification experiment. Below point A in the figure various programs are overlaid as the experiment proceeds. Points B and C are origin points for subordinate links.
52
J . C . H I E B E R T et al.
3.5. A N OPERATIONAL EXAMPLE
This section describes the operation of the system by presenting one of the current acquisition and analysis jobs. The experiment is one of nuclear spectroscopy wherein (p,d) and (p,t) reactions are studied simultaneously using a three detector telescope. All particles of interest are stopped in the first two detectors and fast reject circuitry is initiated by the third detector to block elastic proton events prior to digitization in the ADC's. A block diagram showing the memory allocation as the experiment proceeds is given in fig. 3. The first 18K of core is permanently resident. No special efforts have been made to reduce the size of this area which includes 4096 locations for the analyzer memory. The remaining 14K of core is overlaid as required. Successive overlays are shown from left to right in fig. 3. 3.5.1. Interface setup After the job is loaded the first link is read into core and the D E F I N E subroutine is executed. This subroutine defines all subprograms within each task for the current job. This initializes the task control blocks which are part of the system monitor, thereby enabling the multiprogramming functions of the system. Before returning control to the monitor D E F I N E issues a request for the SETUP subprogram. SETUP is the user's F O R T R A N routine which makes the appropriate entries in the assembly language program SETINT through which the actual interface setup is executed. SETUP prints the on-line message, T U R N O N SELECTED A D C ' s A N D E N T E R SETUP D A T A I N R E A D E R . The user enters three integer numbers on a card indicating the physical unit numbers of the dE and E detector A D C ' s and whether or not to store off-scale events. If A D C ' s 1 and 3 are chosen, the following message is printed. M A N U A L L Y SELECT A D C ' s 1 A N D 3. 2P VIA 7286 1S SETUP. A D C 1 IS T H E D E ADC. In this configuration the front end electronics must strobe the A D C ' s whenever an event is recorded in detectors 1 and 2 but not in the reject detector. After both A D C ' s have run down the interface will route the event to memory in a single word through channel D. 3.5.2. Experimental initialization Three different modes of data acquisition are available to set up for particle identification. Normally the two parameter acquisition link will be selected first to generate a dE vs E + d E array in memory. This link contains a display subroutine which generates a contour plot of the data array compacted to 32 × 128.
A short run in this mode is useful for determining whether the detectors and front end electronics are operating properly and separating the different particle types. Each of the acquisition modes contain F O R T R A N routines to initiate and stop data acquisition and an assembly language sorting routine. To initiate dE vs E + d E two parameter acquisition the on-line message, E N T E R R U N C A R D A N D SET A D C C O M P R E S SION TO 8 : 1, is printed. The user is reminded to set the A D C compression switches so each A D C actually presents 128 channels (7 bits) of information to the interface. He also enters run parameters such as run number, date, and title through the card reader. The subroutine then clears the data array and prints, PRESS START TO B E G I N D A T A A C Q U I S I T I O N . After the pause the assembly language sorting routine is entered whereby the data channel is set to read 400 words, the A D C ' s and scalers are enabled, and the cyclotron beam stop is removed. This completes the initialization and control returns to the monitor. The sorting routine is constructed so as to be part of the system monitor's trap handling routine. When 400 events have been read through channel D a command word trap is generated. The trap handler disables all other interrupts, restarts the channel with a second 400 word array designated, sorts the first 400 events into the analyzer memory, and then re-enables all interrupts. If no interrupts are outstanding, control is returned to the task running at the time of the initial interrupt. This gives the data acquisition function priority over all other multiprogramming functions. The sorting time per event is approximately 65 ps in this mode. If this were the actual experiment rather than calibration and checkout, the incrementer would be used since it requires half the array-size and sorts each event in 4.4 ps. To terminate data acquisition the user requests the proper subprogram through the function keyboard. This subroutine sets a parameter in the sorting routing and then waits for the next channel D trap. The sorting routine does not restart the channel and after completing the sort "posts" the wait, allowing the termination subroutine to continue. The A D C ' s are disabled and the cyclotron beam stop is placed in the beam line. The next acquisition mode is a single parameter E + d E experiment to generate an energy calibration. This link is loaded subsequent to a display and light pen link which is used by this and the last two acquisition links. In an experiment with 30 MeV protons, the 500 pm dE and 1500 pm E detector stack does not stop protons above about 18 MeV, leaving the (p,d) spec-
NUCLEAR
DATA
ACQUISITION
WITH
trum quite clean for deuterons above 18 MeV. D a t a is taken for known states in a residual nucleus and the peak channels are selected from a display of the data, using the light pen. Kinematic data are entered via the card reader and a linear fit is made for energy vs channel number. Next a range vs channel number table is calculated for deuterons using a stopping power formula t 2). At this time the final initialization experiment can be loaded. This experiment accumulates a "thickness" spectrum based on a range-table lookup13). In the sorting routine each event is analyzed by looking up the range for both E and E+dE. The thickness is calculated by the relation
A 2ND
I00,
3.5.3. Identified particle acquisition The final acquisition routine accumulates four 1024 channel spectra containing protons, deuterons, tritons, and heavier particles, respectively. In sorting each event the "thickness" is calculated and compared with the preset values to determine particle type. The proper total energy channel in the appropriate particle spectrum is then incremented. Approximately 100 ps per I
I
I
I
t
I00
10
64
128
192
256
520
~,84
I
I
~ J J J I I
I
O0
60
40
2(3
a ..J
_) - 8oo
I
I
L I +
448
512
640
320
64
128
192 256 320 384 448
512 576 640 704 768 8,52 896 960
1024
CHANNEL NUMBER Fig. 5. Energy spectra taken simultaneously in the 142Nd+p reactions at 30 MeV at a laboratory angle of 24°. The energy gain is roughly 30 keV/channel. event is required to accumulate these spectra. Fig. 5 shows a case where the deuteron and triton spectra have been separated. Since the acquisition of data at a single angle may take several hours, a checkpointing routine is called every ten minutes through a timer request entered at the start of acquisition. The checkpointing of all run parameters, scaler data, and the sorted data array in memory to a magnetic tape prevents the loss of a substantial amount of data through either operator error or hardware failure.
1
O d l,l >-
0
I
53
"~Nd (p,d)'"'Nd
and a dE detector thickness spectrum (fig. 4) is generated. This technique allows adequate separation of protons, deuterons, and tritons. After the data acquisition is complete the light pen is used to select channel numbers which separate the particle types. These numbers are stored in a common area in the permanently resident core and are used by the final acquisition program.
I ~[
I
COMPUTER
"'Nd (p,t)"°Nd
V = R(E + dE) - R(E),
~ooo
GENERATION
576
CHANNEL NUMBER Fig. 4. A "thickness" spectrum of particles emitted in 142Nd+p induced reactions at 30 MeV.
3.5.4. Data analysis When accumulating the identified particle energy spectra, approximately I l K memory locations are available for the analysis of previously acquired data. This area is origined at point C in fig. 3. The analysis routines are configured in some 20 separate links required to accomplish the data analysis.
54
J . c . HIEBERT et al.
One set of p r o g r a m s is used to generate and u p d a t e the energy calibration. A k n o w n spectrum is used for the initial calibration. As subsequent spectra are a c c u m u l a t e d the peak locations are checked against the calibration to either u p d a t e the calibration or to measure the reaction Q-values. A f t e r peaks in a spectrum have been identified backg r o u n d s u b t r a c t i o n can be p e r f o r m e d using the light pen. A skewed G a u s s i a n peak fitting routine is used to accurately d e t e r m i n e p e a k locations and areas. Finally, differential cross sections are calculated and a n g u l a r distributions are assembled in tables for each reaction. Theoretical predictions o f the a n g u l a r distributions c a n n o t at present be run on-line b u t typical cases can be stored either on t a p e or cards a n d c o m p a r e d with e x p e r i m e n t on the d i s p l a y scope. The on-line analysis is crucial to the evaluation o f the progress o f an experiment. Q u e s t i o n a b l e d a t a points are detected quickly a n d can be r e t a k e n if desired. The r a p i d c o m p a r i s o n o f e x p e r i m e n t against t h e o r y is invaluable in d e t e r m i n i n g the future course o f an experiment. 4. Conclusion The T A M V E C d a t a acquisition system has been designed to p r o v i d e the user with a facility which is general, flexible, a n d m a k e s it as simple as possible for him to design and c o n d u c t an experiment. The s o f t w a r e - c o n t r o l l e d interface is unique; the objective being to minimize the possibility o f discrepancies between the h a r d w a r e a n d the software. The user will have to brave some assembly language p r o g r a m m i n g when he configures an experiment which has n o t been a t t e m p t e d previously. The p r o g r a m s which initialize the interface and sort raw d a t a m u s t be written in assembly language. W i t h a library o f current examples and s u p p o r t f r o m the systems p r o g r a m m e r , this should n o t be t o o odious a task. All other p r o g r a m s can be written in F O R T R A N . T o date, the response o f users w h o have w o r k e d on other c o m p u t e r installations has been m o s t positive with respect to the ease o f i n c o r p o r a t i n g the analysis functions. A n y p r o g r a m s which have been run as b a t c h j o b s can be readily i n c o r p o r a t e d in a real-time acquisition j o b . Thus, the system provides the m e a n s for d y n a m i c interaction between the user a n d the e x p e r i m e n t as it progresses. Hopefully, this will lead
to m o r e efficient use of accelerator time a n d o f the physicists' time. In the long run, we are aiming at a system whose potential is readily available to the users and will p r o v i d e the s u p p o r t for i n n o v a t i o n s in nuclear d a t a acquisition. We would like to t h a n k M. R. Richter for his p a r t in the initial design o f the software modifications. The efforts o f E. Johnson, I B M F e d e r a l Systems Division, H o u s t o n , in designing and assisting our staff in installing the h a r d w a r e modifications to the 7286 a n d 7094 were crucial to the success o f the entire project. The s u p p o r t o f the C y c l o t r o n Institute staff on the various facets o f the project is gratefully a c k n o w l e d g e d . References 1) H. W. Fulbright, Proc. Skytop Conf. Computer systems in experimental nuclear physics (1969) p. 582. "~) See, for example: Proc. Conf. Automatic acquisition and reduction of nuclear data (Karlsruhe, 1964) EANDC(E)53"S"; Proc. Skytop Conf. Computer systems in experimental nuclear physics (1969) EANDC (U.S.) 121u; H. L. Gelernter, J. Birnbaum, M. Mikelsons, J. D. Russell, F. Cochrane, D. Groff, J. E. Schofield and D. A. Bromley, Nucl. Instr. and Meth. 54 (1967) 77; J. F. Mollenauer, IBM J. Res. Develop. 13 (1969) 87. 3) D. P. Saylor, J. A. McIntyre, J. D. Bronson, J. M. Burns, J. G. Rogers, R. S. Schilling and E. E. Vezey, Nucl. Instr. and Meth., to be published. 4) The IBM 7286 unit was originally part of the NASA-Houston Real Time Computer Complex and was graciously given to Texas A&M University by IBM. ~) Engineering analysis and design services for modifications to the 7286 and to provide the externally addressed incrementer were performed by the IBM Federal Systems Division under contract with Texas A&M University. These modifications were made by Cyclotron Institute personnel. 6) LeCroy Research Systems Corp., 1 Hayes St., EImsford, N.Y., U.S.A. 7) D. H. Youngblood, R. L. Kozub and J. C. Hill, Phys. Letters, to be published. 8) The NOVA computer, Data General Corp., Southboro, Mass., U.S.A. 9) IBM 7090/7094 IBSYS Operating System, Version 13, Monitor, IBM Systems Reference Library Form C28-6248-7. 10) TI Series 720, Texas Instruments Industrial Products Division, Houston, Texas, U.S.A. la) W. Curry, Jr., TAMVEC Engineering Note 1020 Rev. A, unpublished. 12) C. F. Williamson, J. P. Boujot and J. Picard, CEA-R-3042 (1966). 13) R. Hird and R. W. Ollerhead, Nucl. Instr. and Meth. 71 (1969) 231.