#include <Iterator.h>

Public Member Functions | |
| Iterator (int fmt=formatSpadic10Optic) | |
| ~Iterator () | |
| void | setFormat (int fmt) |
| int | getFormat () const |
| void | setBoardId (unsigned id) |
| void | resetBoardId () |
| bool | isBoardId () const |
| unsigned | getBoardId () const |
| bool | assign (void *buf, unsigned sz) |
| bool | nextBuffer (sp605::Board *brd, double tmout=1.) |
| bool | next (double tmout=1.) |
| bool | at_the_end () const |
| bool | isSpadicMsg () const |
| sp605::Message & | msg () |
| void | setSpadicId (unsigned id) |
| unsigned | getSpadicId () const |
| bool | isRocMsg () const |
| roc::Message & | rocmsg () |
| uint64_t | getMsgFullTime () const |
| double | getMsgFullTimeD () const |
| void | printMessage () |
Protected Types | |
| enum | IteratorMessageKind { kindNone, kindRoc, kindSpadic } |
| enum | { MaxGroupId = 2, MaxSpadicId = 4 } |
Protected Member Functions | |
| void | allocateInterm () |
Protected Attributes | |
| sp605::Board * | fBoard |
| pointer on board object - source of buffers | |
| int | fFormat |
| format of data in binary buffer | |
| void * | fBuffer |
| assigned buffer | |
| unsigned | fBufferLen |
| length of assigned buffer | |
| unsigned | fBufferPos |
| current position | |
| void * | fInterm |
| intermediate memory for messages | |
| unsigned | fIntermSize |
| allocated size of intermediate memory | |
| unsigned | fIntermFill |
| filled number of bytes in intermediate buffer | |
| unsigned | fSP605Id |
| current identifier of the SP605 board | |
| IteratorMessageKind | fKind |
| kind of the current message | |
| sp605::Message | fMsg |
| content of current message | |
| unsigned | fLastEpoch [MaxSpadicId][MaxGroupId] |
| value of last epoch for each spadic/group id combination | |
| unsigned | fLastSenderId |
| last id, that was taken from buffer in intermediate buffer | |
| unsigned | fSpadicId |
| current id of spadic chip | |
| roc::Message | fRocMsg |
| roc message, used to decode SYNC/AUX/SYS messages | |
| unsigned | fLastRocEpoch |
| last seen ROC epoch | |
Definition at line 12 of file Iterator.h.
anonymous enum [protected] |
Definition at line 17 of file Iterator.h.
enum sp605::Iterator::IteratorMessageKind [protected] |
Definition at line 15 of file Iterator.h.
| sp605::Iterator::Iterator | ( | int | fmt = formatSpadic10Optic |
) |
Definition at line 9 of file Iterator.cxx.
References fLastEpoch.
| sp605::Iterator::~Iterator | ( | ) |
Definition at line 30 of file Iterator.cxx.
References fInterm.
| void sp605::Iterator::allocateInterm | ( | ) | [protected] |
Definition at line 60 of file Iterator.cxx.
References fInterm, fIntermFill, and fIntermSize.
Referenced by next().
| bool sp605::Iterator::assign | ( | void * | buf, | |
| unsigned | sz | |||
| ) |
Assigns directly raw buffer
Definition at line 35 of file Iterator.cxx.
References fBuffer, fBufferLen, fBufferPos, and fKind.
Referenced by main(), and nextBuffer().
| bool sp605::Iterator::at_the_end | ( | ) | const [inline] |
Check if current buffer is at the end
Definition at line 67 of file Iterator.h.
References fBufferLen, and fBufferPos.
| unsigned sp605::Iterator::getBoardId | ( | ) | const [inline] |
Definition at line 55 of file Iterator.h.
References fSP605Id, and isBoardId().
| int sp605::Iterator::getFormat | ( | ) | const [inline] |
Definition at line 50 of file Iterator.h.
References fFormat.
| uint64_t sp605::Iterator::getMsgFullTime | ( | ) | const |
Time, returned in nanoseconds
Definition at line 262 of file Iterator.cxx.
References fLastEpoch, fLastRocEpoch, fMsg, fRocMsg, sp605::Message::getGroup(), sp605::Message::getMsgFullTime(), roc::Message::getMsgFullTime(), sp605::Message::getSpadicNumber(), isRocMsg(), and isSpadicMsg().
| double sp605::Iterator::getMsgFullTimeD | ( | ) | const |
Definition at line 270 of file Iterator.cxx.
References fLastEpoch, fLastRocEpoch, fMsg, fRocMsg, sp605::Message::getGroup(), sp605::Message::getMsgFullTimeD(), roc::Message::getMsgFullTimeD(), sp605::Message::getSpadicNumber(), isRocMsg(), and isSpadicMsg().
| unsigned sp605::Iterator::getSpadicId | ( | ) | const [inline] |
| bool sp605::Iterator::isBoardId | ( | ) | const [inline] |
| bool sp605::Iterator::isRocMsg | ( | ) | const [inline] |
Specific for ROC message methods
Definition at line 79 of file Iterator.h.
References fKind.
Referenced by getMsgFullTime(), getMsgFullTimeD(), and printMessage().
| bool sp605::Iterator::isSpadicMsg | ( | ) | const [inline] |
Specific for Spadic message methods
Definition at line 71 of file Iterator.h.
References fKind.
Referenced by getMsgFullTime(), getMsgFullTimeD(), and printMessage().
| sp605::Message& sp605::Iterator::msg | ( | ) | [inline] |
Definition at line 72 of file Iterator.h.
References fMsg.
| bool sp605::Iterator::next | ( | double | tmout = 1. |
) |
Extract next message from the buffer
Definition at line 70 of file Iterator.cxx.
References allocateInterm(), roc::Message::assign(), sp605::Message::assign(), fBoard, fBuffer, fBufferLen, fBufferPos, fFormat, fInterm, fIntermFill, fIntermSize, fKind, fLastEpoch, fLastRocEpoch, fLastSenderId, fMsg, roc::formatOptic2, sp605::formatSpadic10Direct, sp605::formatSpadic10Optic, fRocMsg, fSP605Id, sp605::Message::getEpoch(), roc::Message::getEpochNumber(), sp605::Message::getGroup(), getSpadicId(), sp605::Message::getSpadicNumber(), sp605::Message::isEpoch(), roc::Message::isEpochMsg(), kindNone, nextBuffer(), roc::Message::setRocNumber(), setSpadicId(), and sp605::Message::setSpadicNumber().
Referenced by main().
| bool sp605::Iterator::nextBuffer | ( | sp605::Board * | brd, | |
| double | tmout = 1. | |||
| ) |
Extract next buffer from the board
Definition at line 45 of file Iterator.cxx.
References assign(), fFormat, base::Board::getMsgFormat(), and base::Board::getNextBuffer().
Referenced by next().
| void sp605::Iterator::printMessage | ( | ) |
Definition at line 278 of file Iterator.cxx.
References fMsg, fRocMsg, isRocMsg(), isSpadicMsg(), sp605::Message::printData(), and roc::Message::printData().
Referenced by main().
| void sp605::Iterator::resetBoardId | ( | ) | [inline] |
Definition at line 53 of file Iterator.h.
References fSP605Id.
| roc::Message& sp605::Iterator::rocmsg | ( | ) | [inline] |
Definition at line 80 of file Iterator.h.
References fRocMsg.
| void sp605::Iterator::setBoardId | ( | unsigned | id | ) | [inline] |
Definition at line 52 of file Iterator.h.
References fSP605Id.
| void sp605::Iterator::setFormat | ( | int | fmt | ) | [inline] |
Definition at line 49 of file Iterator.h.
References fFormat.
| void sp605::Iterator::setSpadicId | ( | unsigned | id | ) | [inline] |
sp605::Board* sp605::Iterator::fBoard [protected] |
pointer on board object - source of buffers
Definition at line 19 of file Iterator.h.
Referenced by next().
void* sp605::Iterator::fBuffer [protected] |
unsigned sp605::Iterator::fBufferLen [protected] |
length of assigned buffer
Definition at line 24 of file Iterator.h.
Referenced by assign(), at_the_end(), and next().
unsigned sp605::Iterator::fBufferPos [protected] |
current position
Definition at line 25 of file Iterator.h.
Referenced by assign(), at_the_end(), and next().
int sp605::Iterator::fFormat [protected] |
format of data in binary buffer
Definition at line 21 of file Iterator.h.
Referenced by getFormat(), next(), nextBuffer(), and setFormat().
void* sp605::Iterator::fInterm [protected] |
intermediate memory for messages
Definition at line 27 of file Iterator.h.
Referenced by allocateInterm(), next(), and ~Iterator().
unsigned sp605::Iterator::fIntermFill [protected] |
filled number of bytes in intermediate buffer
Definition at line 29 of file Iterator.h.
Referenced by allocateInterm(), and next().
unsigned sp605::Iterator::fIntermSize [protected] |
allocated size of intermediate memory
Definition at line 28 of file Iterator.h.
Referenced by allocateInterm(), and next().
IteratorMessageKind sp605::Iterator::fKind [protected] |
kind of the current message
Definition at line 33 of file Iterator.h.
Referenced by assign(), isRocMsg(), isSpadicMsg(), and next().
unsigned sp605::Iterator::fLastEpoch[MaxSpadicId][MaxGroupId] [protected] |
value of last epoch for each spadic/group id combination
Definition at line 36 of file Iterator.h.
Referenced by getMsgFullTime(), getMsgFullTimeD(), Iterator(), and next().
unsigned sp605::Iterator::fLastRocEpoch [protected] |
last seen ROC epoch
Definition at line 41 of file Iterator.h.
Referenced by getMsgFullTime(), getMsgFullTimeD(), and next().
unsigned sp605::Iterator::fLastSenderId [protected] |
last id, that was taken from buffer in intermediate buffer
Definition at line 37 of file Iterator.h.
Referenced by next().
sp605::Message sp605::Iterator::fMsg [protected] |
content of current message
Definition at line 35 of file Iterator.h.
Referenced by getMsgFullTime(), getMsgFullTimeD(), msg(), next(), and printMessage().
roc::Message sp605::Iterator::fRocMsg [protected] |
roc message, used to decode SYNC/AUX/SYS messages
Definition at line 40 of file Iterator.h.
Referenced by getMsgFullTime(), getMsgFullTimeD(), next(), printMessage(), and rocmsg().
unsigned sp605::Iterator::fSP605Id [protected] |
current identifier of the SP605 board
Definition at line 31 of file Iterator.h.
Referenced by getBoardId(), isBoardId(), next(), resetBoardId(), and setBoardId().
unsigned sp605::Iterator::fSpadicId [protected] |
current id of spadic chip
Definition at line 38 of file Iterator.h.
Referenced by getSpadicId(), and setSpadicId().
1.7.1