00001 #include "EventFilter/EcalRawToDigiDev/interface/DCCEBEventBlock.h"
00002 #include "EventFilter/EcalRawToDigiDev/interface/DCCTowerBlock.h"
00003 #include "EventFilter/EcalRawToDigiDev/interface/DCCEBTCCBlock.h"
00004 #include "EventFilter/EcalRawToDigiDev/interface/DCCEBSRPBlock.h"
00005 #include <sys/time.h>
00006
00007 #include <iomanip>
00008 #include <sstream>
00009
00010
00011 DCCEBEventBlock::DCCEBEventBlock( DCCDataUnpacker * u, EcalElectronicsMapper * m , bool hU, bool srpU, bool tccU, bool feU , bool memU) :
00012 DCCEventBlock(u,m,hU,srpU,tccU,feU,memU)
00013 {
00014
00015
00016 towerBlock_ = new DCCTowerBlock(u,m,this,feUnpacking_);
00017
00018
00019 srpBlock_ = new DCCEBSRPBlock(u,m,this,srpUnpacking_);
00020
00021
00022 tccBlock_ = new DCCEBTCCBlock(u,m,this,tccUnpacking_);
00023
00024
00025 }
00026
00027
00028
00029
00030 int DCCEBEventBlock::unpackTCCBlocks(){
00031
00032 if(tccChStatus_[0] != CH_TIMEOUT && tccChStatus_[0] != CH_DISABLED)
00033 return tccBlock_->unpack(&data_,&dwToEnd_);
00034 else return BLOCK_UNPACKED;
00035
00036 }