00001 // Date : 30/05/2005 00002 // Author : N.Almeida (LIP) 00003 00004 00005 #ifndef DCCTBSRPBLOCK_HH 00006 #define DCCTBSRPBLOCK_HH 00007 00008 #include <iostream> 00009 #include <string> 00010 #include <vector> 00011 #include <map> 00012 #include <utility> 00013 00014 00015 #include "DCCBlockPrototype.h" 00016 00017 class DCCTBEventBlock; 00018 class DCCTBXtalBlock; 00019 class DCCTBDataParser; 00020 00021 class DCCTBSRPBlock : public DCCTBBlockPrototype { 00022 00023 public : 00024 00025 DCCTBSRPBlock( 00026 DCCTBEventBlock * dccBlock, 00027 DCCTBDataParser * parser, 00028 uint32_t * buffer, 00029 uint32_t numbBytes, 00030 uint32_t wordsToEnd, 00031 uint32_t wordEventOffset 00032 ); 00033 00034 00035 00036 protected : 00037 00038 void dataCheck(); 00039 00040 void increment(uint32_t numb); 00041 00042 enum srpFields{ 00043 BXMASK = 0xFFF, 00044 L1MASK = 0xFFF, 00045 BPOSITION_BLOCKID = 29, 00046 BLOCKID = 4 00047 }; 00048 00049 DCCTBEventBlock * dccBlock_; 00050 00051 00052 00053 }; 00054 00055 #endif