Next: A Word of Caution
Up: Backtracking
Previous: The GET_LINK DQF
Contents
The MCVX_BACKTRACK DQF
The MCVX_BACKTRACK DQF is used to backtrack from an MCVX through its incident
track link to an MCTK and hence to the MCVX that produced it. Here it applies a
test, which if failed, causes the backtrack to repeat. In this way the track
producing the initial MCVX can, if required, be backtracked to its source. The
DQF is used as follows:-
' _my_tk mcvx_backtrack _my_vx, '
' vertex_class, '
' test_type, '
' test_args; '
where:-
- _my_tk
- is another link, this time to an MCTK. If MCVX_BACKTRACK fails then the DQF
returns an undefined result and the normal rules for discarding n-tuple entries
apply. If you keep the entry then the link _my_tk will be zero in this case.
If the backtrack succeeds then _my_tk will be the MCTK leaving the MCVX, that
the backtracking located, which leads to the MCVX that was the start point for
the scan. For example, if scanning back from a sink vertex for a photon,
looking for its creation vertex,
_my_tk will be the track at the point at which the photon left its creation
vertex. Other photons may also be created at this vertex, so you need _my_tk
to identify the one you have backtracked.
- _my_vx
- is a link to the MCVX that is the starting point for the backtrack. It has to
be a link stored in the n-tuple (using GET_LINK) because, if the backtrack
succeeds, it is replaced by the vertex that was found. If the backtrack fails it
will get set to zero.
- vertex_class
- is the type of vertex class that the DQF is looking for. For example to look
for an interaction vertex, vertex_class should be $KMCVX_INT (or 3).
- test_type
- is the type of test to be applied. For all types of vertex class, test type 0
means any vertex of that class will do. If the test type is omitted, 0 is
assumed.
- test_args
- are additional parameters that may be required depending upon the test type.
Test type 0 requires no further parameters so, to backtrack until an interaction
vertex is found:-
' _my_tk mcvx_backtrack _my_vx, $KMCVX_INT; '
Rather than list here all the tests that MCVX_BACKTRACK provides, the user
should consult the specification section of:-
mcvx_backtrack.for
Next: A Word of Caution
Up: Backtracking
Previous: The GET_LINK DQF
Contents
sno Guest Acct
2009-09-09