The two input-tables, which are used by the tracker, are the
output-table of the FTPC-(fast)-simulator (fcl_fppoint) and a parameter
table, which is called fpt_fptpar, whose values are set ''by hand''
making use of a KUIP macro.
In the main tracking routine of the tracker five differnt subroutines
are called. Their names are in the blue colored boxes in the above
picture. The subroutine fpt_init mainly reads in the values from the
table fpt_fptpar and passe the respective values to a common-block
called tracking-param.
Afterwards the subroutine fpt_tag is called, where each hit is tagged
with a value of the variable nrow(padplane, number of the resp. hit
of this padplane). It is worthwhile to keep this in mind, because
this will be the common way to denote the hits in the following
steps.
The next subroutine, fpt_find_first_last_planes, is a remnant of the
early days of the FTPC tracker: it evaluates out of the z-positions
of the hits the position of the padrows closest and farest apart from
the primary vertex on each side. Once the mechanical design of the
FTPCs is final, these values can be hard-wired. It is also possible,
to set the values by using the fpt_fptpar table.
Now the ''core'' of the program is reached: the subroutine
ftpc_trackfinder will sort out the hits from secondaries, select the
hits from primaries and will group them together to reconstructed
tracks. Calling the padrow(s) closest to the primary vertex first
padrow(s) and the one(s) farest apart last padrow(s), three different
cases can occur: (1) a primary track can be registered by the first
and the last padrow. (2) a primary track can be registered by the
first but not by the last padrow. (3) a primary track can be
registered by the last but not by the first padrow. The cases (1) and
(2) are treated by the subroutine fpt_forward_part; case (3) is
treated by the subroutine fpt_back_part. To find the hits between the
two considered padrows, in both cases the subroutine find_track_hits
is called. Actually find_track_hits is already called earlier,
viz. for deciding, if the first two hits belong to the same track.
The last subroutine (ftpc_filltable) is supposed to fill the output-table fpt_fptrack. In this table the tracking information as well as information from GSTAR and the FTPC-simulator is stored for further analysis. The table diag_cortr is filled successively in different subroutines. There information of the correctly reconstructed tracks is stored in order to optimize the tracking parameters.