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

The SLD Event Display Additions Manual

Repeat Block Objects

In our discussions of adding objects and adding relations in the SLD event display system, the object's parent was always some bank of physics data. When we drew a monte carlo track, its parent was a MCPART bank. When we drew a Kal cluster, its parent was a KRBCLUS bank.

But some objects have as their parent not a whole bank but a single block. For example, the "MC hits individually pickable" (the ones that can highlight one at a time) have as their parent a specific POINTS block within the MCHITS bank. For such objects, PATH and PARENT require a more detailed specification.

Adding Repeat Block Object Types

As with ordinary display objects, the PATH one defines in the DSPUSRT bank is the Jazelle path to this object's parent. But since the parent is a particular block within a bank, the path now has two terms, a bank name and a block name. For example, the PATH to the "MC hits individually pickable" is MCHITS.POINTS.

The draw routine for a repeat block object sets PARENT a little differently than for an ordinary display object. Recall that for an ordinary display object, parent is set to the pointer to the Jazelle bank that contains the data being represented. For example, for PHDTNUM (the routine that draws numbers at the end of tracks based on the PHTRK banks), parent is set to the relevant PHTRK pointer.

For repeat block objects, we need a way to squeeze in an additional piece of data, namely the parent's repeat block index. To do this, the draw routine adds a DSPROBJ bank. It sets DSPOBJ%(PARENT) to point to this new DSPROBJ bank. It sets DSPROBJ%(PARENT) to the parent bank. And this leaves room to store the parent's repeat block index in DSPROBJ%(RBLOCK).

Adding Relations for Repeat Block Objects

Where repeat block objects are involved, RELTYPE can be one of the following two generic relations types.

Joseph Perl
25 September 1997