CMS 3D CMS Logo

DCCSRPBlock.h

Go to the documentation of this file.
00001 #ifndef DCCSRPBLOCK_HH
00002 #define DCCSRPBLOCK_HH
00003 
00004 
00005 /*
00006  *\ Class DCCSRPBlock
00007  *
00008  * Class responsible for SR flag unpacking.
00009  *
00010  * \file DCCSRPBlock.h
00011  *
00012  * $Date: 2009/05/02 19:32:19 $
00013  * $Revision: 1.9 $
00014  *
00015  * \author N. Almeida
00016  *
00017 */
00018 
00019 
00020 #include <iostream>
00021 #include <memory>
00022 #include <stdint.h>
00023 #include <string>
00024 #include <vector>
00025 #include <map>
00026 #include <utility>
00027 
00028 #include "DCCDataBlockPrototype.h"
00029 
00030 #include <DataFormats/EcalDigi/interface/EcalDigiCollections.h>
00031 #include <DataFormats/EcalRawData/interface/EcalRawDataCollections.h>
00032 #include <DataFormats/EcalDetId/interface/EcalDetIdCollections.h>
00033 
00034 
00035 class DCCSRPBlock : public DCCDataBlockPrototype {
00036         
00037   public :
00038 
00039     DCCSRPBlock( DCCDataUnpacker * u,EcalElectronicsMapper * m, DCCEventBlock * e, bool unpack);
00040          
00041     void display(std::ostream & o); 
00042 
00043     int unpack(uint64_t ** data, uint * dwToEnd, uint numbFlags = SRP_NUMBFLAGS);        
00044 
00045     ushort srFlag(uint feChannel){ return srFlags_[feChannel-1]; }
00046                         
00047   protected :
00048     
00049     virtual void addSRFlagToCollection(){};
00050          
00051     virtual bool checkSrpIdAndNumbSRFlags(){ return true; };
00052          
00053     uint srpId_         ;  
00054     uint bx_            ;  
00055     uint l1_            ;   
00056     uint nSRFlags_      ; 
00057     uint expNumbSrFlags_;
00058          
00059     ushort srFlags_[SRP_NUMBFLAGS]; 
00060          
00061          
00062          
00063 };
00064 
00065 
00066 #endif

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