/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DYBDAQ_RECORD_PARSER_H 00002 #define DYBDAQ_RECORD_PARSER_H 00003 00004 #include <stdint.h> 00005 00006 namespace DybDaq { 00007 00008 class RecordBuffer; 00009 00010 class RecordParser 00011 { 00012 public : 00013 00014 RecordParser(); 00015 virtual ~RecordParser(); 00016 00017 bool ready() { return m_ready; } 00018 bool onlyRpc() { return (m_nPmtDet==0); } 00019 bool onlyPmt() { return (m_hasRpc==0); } 00020 bool farSite() { return (m_site==2); } 00021 00022 int site() { return m_site; } 00023 int nPmtDet() { return m_nPmtDet; } 00024 int hasRpc() { return m_hasRpc; } 00025 uint32_t mask() { return m_mask; } 00026 00027 bool getRunParams(RecordBuffer* record, bool timeAlignment); 00028 bool isPmtEvent(RecordBuffer* record); 00029 bool isRpcEvent(RecordBuffer* record); 00030 00031 int recordType(RecordBuffer* record); 00032 00033 bool earlier(RecordBuffer* r1, RecordBuffer* r2); 00034 00035 00036 private : 00037 00038 void initTimeShift(); 00039 00040 uint32_t marker(RecordBuffer* record); 00041 00042 int m_site; 00043 int m_nPmtDet; 00044 int m_hasRpc; 00045 uint32_t m_mask; 00046 uint32_t m_run; 00047 bool m_ready; 00048 }; 00049 00050 } // namespace DybDaq 00051 #endif