next up previous contents index
Next: RPC service Up: The CEBAF Test Package Previous: Example End of Run   Contents   Index


Variable Registration System

There are separate calls for registering variables that are parameter constants, or event specific data. The reason for this is to allow variables to be grouped by function or ``class''. This is important because applications that are developed to communicate with the analyzer need the ability to build separate tables of variables for event data, parameters, test results, etc.

Internally, variable names are stored as a series of strings separated by periods. The first part of the name is the class, followed by the name followed by an optional attribute (class.name[.attribute]). (Attributes are usually not used in the definition files described in section 6.2) The class names for what has been discussed so far are event, parm, and test. For example, the variable proton is stored internally as parm.proton. It is important to note that in the source code, one continues to use the variable name proton. Similarly, in the input files for parameters, tests and histograms, the variable name without the class may be generally used. When these files are interpreted, assumptions are made about the variable class by context rules. The assumptions may be overridden by writing out the variable name with the class identifier included.

When a variable is registered, a number of attributes of this variable are saved along with the pointer to the actual value of the variable. These attributes are


next up previous contents index
Next: RPC service Up: The CEBAF Test Package Previous: Example End of Run   Contents   Index
Mohammad Ahmed 2003-07-23