File indexing completed on 2024-04-06 12:10:33
0001 #ifndef DCCTowerBLOCK_HH
0002 #define DCCTowerBLOCK_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 DCCTowerBlock : public DCCFEBlock {
0023
0024
0025 public:
0026 DCCTowerBlock(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 std::unique_ptr<EBDigiCollection>* digis_;
0035
0036 EBDetId* pDetId_;
0037
0038
0039 std::unique_ptr<EBDetIdCollection>* invalidGains_;
0040 std::unique_ptr<EBDetIdCollection>* invalidGainsSwitch_;
0041 std::unique_ptr<EBDetIdCollection>* invalidChIds_;
0042 };
0043
0044 #endif