SLD [ Intro | Pubs | RunInfo | Workbook | Software | SLACVX | Search ]

The SLD Event Display Additions Manual

Adding Relations

To define new relations among data in the SLD event display system, you generally just need to add a DSPUSRR bank. (If the data being related is connected in some very obscure way, it may be necessary to write a new "relations routine," but for most cases, the existing eight generic relations routines can do the job.)

In discussing relations, a key concept is the PARENT. A display object's parent is the Jazelle bank that contains the data from which the object was drawn. For example, the draw routine PHDTNUM draws numbers at the end of tracks based on the PHTRK banks. So each number's parent is the relevant PHTRK bank. The draw routine DSPDMCT draws monte carlo tracks based on the MCPART banks. So each track's parent is the relevant MCPART bank.

When the DSPUSRT constants are set up, the name of the parent bank is stored in PATH. Then, when the draw routine is called, each object gets the pointer to its parent bank stored into DSPOBJ%(PARENT). Thus, when it comes time to do relations, for each object the display system has the parent bank's name and pointer. (Parent and path gets a little more complicated for "repeat block objects." See "Repeat Block Objects in the SLD Event Display System" for details.)

A DSPUSRR bank is simply a way of defining how one can get from the parent of one object type to the parent of its related object type. For example, the third DSPUSRR bank in PHUDSP CONSTANT defines how one relates PHPARTs to PHTRKs.

The Contents of DSPUSRR

When you run your job, pull in your new relations by issuing the IDA command DSP USERDATA followed by the filename of the file that contains the DSPUSRR banks.

For each DSP USERDATA statement, you should get a message telling you that the relation names have been loaded. If you then do DSP SHOW RELations, you should see your new relation names. If your new relations definitions don't appear, check whether you've correctly spelled the constant file name.

If DSP SHOW RELations shows your new relation definitions, you have succeeded. You may do the new relations via a DSP REL command. If you are using the display in 3D interactive mode, you can do the new relations from the data selection menu.

If you get into trouble, check that PARENT has been properly set in the draw routines and that PATH has been correctly defined in the DSPUSRT constants.

Joseph Perl
25 September 1997