This is somewhat out of date
The following are essential “private” notes to sort out the call sequence used as data flows through DataStream processes and Core processes.
initialiseFile(Overloaded in mk5.cpp)
testForSync(Overloaded in mk5.cpp)
processdatafor sub integration
Mode::process“NUM BUFFERED FFTS” times for each FFT
processdatalooping over each baseline
MPI_Irecvand locks/unlocks mutexes
Mode::process does the main station based processing - fringe rotation, FFT, fractional delay correction etc. It is called once for each FFT time slice. After initial loop initialisation steps, it then loops over each recorded frequency. For each freq it setups up fringe rotation and post-F corrections (fractional delay correction etc). Then it loops over the actual recorded bands
looking for matches to the current frequency and does the FFT, applies the fringe rotation etc.