00001 #ifndef DCCEBSRPBLOCK_HH 00002 #define DCCEBSRPBLOCK_HH 00003 00004 00005 /* 00006 *\ Class DCCEBSRPBlock 00007 * 00008 * Class responsible for the SR flag unpacking in the EB. 00009 * 00010 * \file DCCEBSRPBlock.h 00011 * 00012 * $Date: 2008/12/11 18:05:56 $ 00013 * $Revision: 1.1 $ 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 "DCCSRPBlock.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 DCCEBSRPBlock : public DCCSRPBlock{ 00036 00037 public : 00038 00039 DCCEBSRPBlock( DCCDataUnpacker * u,EcalElectronicsMapper * m, DCCEventBlock * e, bool unpack); 00040 00041 void updateCollectors(); 00042 00043 00044 protected : 00045 00046 void addSRFlagToCollection(); 00047 00048 bool checkSrpIdAndNumbSRFlags(); 00049 00050 std::auto_ptr<EBSrFlagCollection> * ebSrFlagsDigis_; 00051 00052 EcalTrigTowerDetId * pTTDetId_; 00053 00054 }; 00055 00056 00057 #endif