*-- Author : S.Burke SUBROUTINE FFTRUE(JTRUE) ********************************************************************** * * * Fill the TRUE array from the track JTRUE * * * ********************************************************************** INTEGER FFCHG *KEEP,FKNPL. * * Per-track values can go in H1WORK; note that LTRUE and LFIRST must * be set at least per event. * * This is about 36k words long; the remaining common blocks are * about 3.6k in total. Some of this could be in /H1WORK/, but the * blocks would have to be reorganised. * * /FKPROJ/ * /FKFILT/ * /FKSMTH/ * /FKINT/ * /FKRSID/ * /FKTRUE/ * /FKDBG/ *KEEP,FFSTEE. *KEEP,FKCONS. *KEEP,FKTRUE. *KEEP,BCS. *KEEP,STFUNCT. * index of element before row number IROW * index of L'th element of row number IROW * L'th integer element of the IROW'th row of bank with index IND * L'th real element of the IROW'th row of bank with index IND *KEND. ********************************************************************** * Find the starting track bank (if it exists) INDFS = NLINK('FS ',0) * Find the track with the right STR number * This should be impossible, but ... * Find the simulated track and vertex banks * Get the track parameters at the vertex ICHG = FFCHG(IPDG) * Can be a gamma (if secondaries are stacked), which screws up FKTRAN * Assemble a KF-type state vector CALL FKNORM(S,IFAIL) * Translate to each plane in succession CALL FKTRAN(DZ,Z,S,TRUE(1,JPL),DTRAN) * Use FRPF/FRRF banks if available CALL FFXTRP(JTRUE,S) *