Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.atnf.csiro.au/vlbi/dokuwiki/doku.php/difx/difx_call_sequence
Дата изменения: Unknown Дата индексирования: Mon Apr 11 01:28:47 2016 Кодировка: IBM-866 Поисковые слова: cfht telescope |
The following are essential тАЬprivateтАЭ notes to sort out the call sequence used as data flows through DataStream processes and Core processes.
DataStream::execute
DataStream::initialiseMemoryBuffer
DataStream::launchNewFileReadThread
or DataStream::launchNewNetworkReadThread
DataStream::loopfileread
or DataStream::loopnetworkread
loopfileread
loops overDataStream::openfile
initialiseFile
(Overloaded in mk5.cpp)DataStream::diskToMemory
read
(System call)testForSync
(Overloaded in mk5.cpp)Core::Core
Core::execute
pthread_create
calling launchNewProcessThread
loopprocess
processdata
for sub integration Mode::process
тАЬNUM BUFFERED FFTSтАЭ times for each FFTprocessdata
looping over each baselineCore::receivedata
MPI_Irecv
and locks/unlocks mutexesMode::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
for(int j=0;j<numrecordedbands;j++)
looking for matches to the current frequency and does the FFT, applies the fringe rotation etc.