CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/EventFilter/EcalRawToDigi/interface/DCCSCBlock.h

Go to the documentation of this file.
00001 #ifndef DCCSCBLOCK_HH
00002 #define DCCSCBLOCK_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 DCCSCBlock : public DCCFEBlock {
00023         
00024   //to implement
00025         
00026   public :
00027 
00028     DCCSCBlock(DCCDataUnpacker * u, EcalElectronicsMapper *m, DCCEventBlock * e, bool unpack, bool forceToKeepFRdata);
00029          
00030     void updateCollectors();
00031          
00032          
00033   protected :
00034 
00035    int unpackXtalData(unsigned int stripID, unsigned int xtalID);
00036    void fillEcalElectronicsError( std::auto_ptr<EcalElectronicsIdCollection> * );
00037          
00038    EEDetId                                * pDetId_;
00039    EEDataFrame                            * pDFId_;
00040          
00041    std::auto_ptr<EEDigiCollection>        * digis_;
00042 
00043    // to restructure as common collections to DCCTowerBlock, to inherit from DCCFEBlock
00044    std::auto_ptr<EEDetIdCollection>       * invalidGains_;
00045    std::auto_ptr<EEDetIdCollection>       * invalidGainsSwitch_ ;
00046    std::auto_ptr<EEDetIdCollection>       * invalidChIds_;
00047     
00048 };
00049 
00050 
00051 #endif