Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:59:38

0001 #ifndef DCCSCBLOCK_HH
0002 #define DCCSCBLOCK_HH
0003 
0004 #include <iostream>
0005 #include <memory>
0006 #include <cstdint>
0007 #include <string>
0008 #include <vector>
0009 #include <map>
0010 #include <utility>
0011 
0012 #include <DataFormats/EcalDigi/interface/EcalDigiCollections.h>
0013 #include <DataFormats/EcalRawData/interface/EcalRawDataCollections.h>
0014 #include <DataFormats/EcalDetId/interface/EcalDetIdCollections.h>
0015 #include <FWCore/MessageLogger/interface/MessageLogger.h>
0016 
0017 #include "DCCFEBlock.h"
0018 
0019 class DCCEventBlock;
0020 class DCCDataUnpacker;
0021 
0022 class DCCSCBlock : public DCCFEBlock {
0023   //to implement
0024 
0025 public:
0026   DCCSCBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e, bool unpack, bool forceToKeepFRdata);
0027 
0028   void updateCollectors() override;
0029 
0030 protected:
0031   int unpackXtalData(unsigned int stripID, unsigned int xtalID) override;
0032   void fillEcalElectronicsError(std::unique_ptr<EcalElectronicsIdCollection> *) override;
0033 
0034   EEDetId *pDetId_;
0035   EEDataFrame *pDFId_;
0036 
0037   std::unique_ptr<EEDigiCollection> *digis_;
0038 
0039   // to restructure as common collections to DCCTowerBlock, to inherit from DCCFEBlock
0040   std::unique_ptr<EEDetIdCollection> *invalidGains_;
0041   std::unique_ptr<EEDetIdCollection> *invalidGainsSwitch_;
0042   std::unique_ptr<EEDetIdCollection> *invalidChIds_;
0043 };
0044 
0045 #endif