next up previous contents
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 up previous contents
Next: A Word of Caution Up: Backtracking Previous: The GET_LINK DQF   Contents
sno Guest Acct 2009-09-09