CMS 3D CMS Logo

DCCEEEventBlock.cc

Go to the documentation of this file.
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   //Builds a tower unpacker block
00017   towerBlock_ = new DCCSCBlock(u,m,this,feUnpacking_); 
00018   
00019   //Builds a srp unpacker block
00020   srpBlock_   = new DCCEESRPBlock(u,m,this,srpUnpacking_);
00021   
00022   //Builds a tcc unpacker block
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 

Generated on Tue Jun 9 17:34:37 2009 for CMSSW by  doxygen 1.5.4