Accelerator Device Objects

Robert H. Olsen, L.T. Hoff
Brookhaven National Laboratory

A RHIC Accelerator Device Object is a logical abstraction which serves as a software view of a collection of collider control points known as parameters. A grammar has been defined which allows these parameters, along with code describing methods for acquiring and modifying them, to be specified efficiently in definition files. These definition files are processed to produce C++ source code and Makefiles. This source code is compiled to produce an object file which can be loaded into a front end computer. The loaded object serves as an Accelerator Device Object class definition. The collider will be controlled by applications which set and get the parameters in instances of this class using a suite of interface routines. Significant features of the grammar are described with details about the generated C++ code.