ISUB3 to reference
the beginning of the Drift chamber section of the track list.
This usage requires the user to know which subsystem corresponds to
which subtype. This document proposes an alternate, more intuitive
system.
S, Track = T and Item = I,
is given by TRK(TRKSUB(S,T)+I). For example,
TRK(TRKSUB(3,5)+7) gives the momentum of the 5th track
in the track list.
Under the new pointer system, the pointers (commonly called some variation on
ISUBn) would have standardized names defined by which subsystem
that the pointer references. Added to these pointers would
be the offsets needed to access the individual data elements. Each
of the offsets is a mnemonic for the data it references. For example
to get the charge of a particle in the track identification block,
one would use the offset id_ichrg.
The subsystem
level pointers for the TRKLST common block follow.
id_ptr ! Track identification block
cdc_ptr ! Spare for Central Drift Chamber
vd_ptr ! Spare for vertex detector
mdc_ptr ! Main Drift Chamber track
tof_ptr ! TOF counter information
sc_ptr ! Shower counter information
mu_ptr ! Muon counter information
dedx_ptr ! dE/dx information
vcn_ptr ! Vertex constrained track fit
dcdat_ptr ! Drift Chamber data pointers
scdat_ptr ! Shower counter data pointers
projdc_ptr ! Proj. coordinates of DC tracks
sec_ptr ! Secondary vertex information
Under this system, the same information as in the example above would be
accessed by
mdc_ptr = trksub(mdc_sub,5)
Ptrack = TRK(mdc_ptr+mdc_p)
Similarly, the pointer names for EVLST would be
vid_ptr ! vertex identification block
sim_ptr ! simple vertex determination
bmp_ptr ! beam position
cnf_ptr ! vertex constrained fit vtx block
spr_ptr ! spare
nprng_ptr ! N-prong vertex list
secv_ptr ! secondary vertex block
tagd_ptr ! tagged D block
The element level pointers are documented in
trktype.inc and
vtxtype.inc. Compare these with the names in
trklst.