CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/EventFilter/EcalRawToDigi/interface/DCCTowerBlock.h

Go to the documentation of this file.
00001 #ifndef DCCTowerBLOCK_HH
00002 #define DCCTowerBLOCK_HH
00003 
00004 #include <iostream>
00005 #include <memory>
00006 #include <stdint.h>
00007 #include <string>
00008 #include <vector>
00009 #include <map>
00010 #include <utility>
00011 
00012 #include <DataFormats/EcalDigi/interface/EcalDigiCollections.h>
00013 #include <DataFormats/EcalRawData/interface/EcalRawDataCollections.h>
00014 #include <DataFormats/EcalDetId/interface/EcalDetIdCollections.h>
00015 #include <FWCore/MessageLogger/interface/MessageLogger.h>
00016 
00017 #include "DCCFEBlock.h"
00018 
00019 class DCCEventBlock;
00020 class DCCDataUnpacker;
00021 
00022 class DCCTowerBlock : public DCCFEBlock {
00023         
00024   //to implement
00025         
00026   public :
00027 
00028     DCCTowerBlock(DCCDataUnpacker * u,EcalElectronicsMapper * m, DCCEventBlock * e, bool unpack, bool forceToKeepFRdata );
00029     
00030     void updateCollectors();
00031          
00032   protected:
00033          
00034     int unpackXtalData(unsigned int stripID, unsigned int xtalID);
00035     void fillEcalElectronicsError( std::auto_ptr<EcalElectronicsIdCollection> * );
00036 
00037     std::auto_ptr<EBDigiCollection>     * digis_;
00038     
00039     EBDetId                             * pDetId_;
00040 
00041     // to restructure as common collections to DCCSCBlock, to inherit from DCCFEBlock
00042     std::auto_ptr<EBDetIdCollection>    * invalidGains_;  
00043     std::auto_ptr<EBDetIdCollection>    * invalidGainsSwitch_ ;
00044     std::auto_ptr<EBDetIdCollection>    * invalidChIds_;
00045          
00046 };
00047 
00048 
00049 #endif