00001 #include "EventFilter/EcalRawToDigiDev/interface/DCCEEEventBlock.h"
00002 #include "EventFilter/EcalRawToDigiDev/interface/DCCFEBlock.h"
00003 #include "EventFilter/EcalRawToDigiDev/interface/DCCSCBlock.h"
00004 #include "EventFilter/EcalRawToDigiDev/interface/DCCEETCCBlock.h"
00005 #include "EventFilter/EcalRawToDigiDev/interface/DCCEESRPBlock.h"
00006 #include <sys/time.h>
00007
00008 #include <iomanip>
00009 #include <sstream>
00010
00011
00012 DCCEEEventBlock::DCCEEEventBlock( DCCDataUnpacker * u,EcalElectronicsMapper * m, bool hU, bool srpU, bool tccU, bool feU, bool memU) :
00013 DCCEventBlock(u,m,hU,srpU,tccU,feU,memU)
00014 {
00015
00016
00017 towerBlock_ = new DCCSCBlock(u,m,this,feUnpacking_);
00018
00019
00020 srpBlock_ = new DCCEESRPBlock(u,m,this,srpUnpacking_);
00021
00022
00023 tccBlock_ = new DCCEETCCBlock(u,m,this,tccUnpacking_);
00024
00025
00026 }
00027
00028 int DCCEEEventBlock::unpackTCCBlocks(){
00029
00030 int STATUS(BLOCK_UNPACKED);
00031 std::vector<short>::iterator it;
00032 for(it=tccChStatus_.begin();it!=tccChStatus_.end();it++){
00033 if( (*it) != CH_TIMEOUT && (*it) != CH_DISABLED){
00034 STATUS = tccBlock_->unpack(&data_,&dwToEnd_);
00035 if(STATUS == STOP_EVENT_UNPACKING) break;
00036 }
00037 }
00038 return STATUS;
00039
00040 }
00041