CMS 3D CMS Logo

DCCTowerBlock.h
Go to the documentation of this file.
1 #ifndef DCCTowerBLOCK_HH
2 #define DCCTowerBLOCK_HH
3 
4 #include <iostream>
5 #include <memory>
6 #include <cstdint>
7 #include <string>
8 #include <vector>
9 #include <map>
10 #include <utility>
11 
16 
17 #include "DCCFEBlock.h"
18 
19 class DCCEventBlock;
20 class DCCDataUnpacker;
21 
22 class DCCTowerBlock : public DCCFEBlock {
23  //to implement
24 
25 public:
26  DCCTowerBlock(DCCDataUnpacker* u, EcalElectronicsMapper* m, DCCEventBlock* e, bool unpack, bool forceToKeepFRdata);
27 
28  void updateCollectors() override;
29 
30 protected:
31  int unpackXtalData(unsigned int stripID, unsigned int xtalID) override;
32  void fillEcalElectronicsError(std::unique_ptr<EcalElectronicsIdCollection>*) override;
33 
34  std::unique_ptr<EBDigiCollection>* digis_;
35 
37 
38  // to restructure as common collections to DCCSCBlock, to inherit from DCCFEBlock
39  std::unique_ptr<EBDetIdCollection>* invalidGains_;
40  std::unique_ptr<EBDetIdCollection>* invalidGainsSwitch_;
41  std::unique_ptr<EBDetIdCollection>* invalidChIds_;
42 };
43 
44 #endif
void fillEcalElectronicsError(std::unique_ptr< EcalElectronicsIdCollection > *) override
int unpack(const uint64_t **data, unsigned int *dwToEnd, bool zs, unsigned int expectedTowerID)
Definition: DCCFEBlock.cc:22
std::unique_ptr< EBDetIdCollection > * invalidGainsSwitch_
Definition: DCCTowerBlock.h:40
std::unique_ptr< EBDetIdCollection > * invalidChIds_
Definition: DCCTowerBlock.h:41
void updateCollectors() override
EBDetId * pDetId_
Definition: DCCTowerBlock.h:36
int unpackXtalData(unsigned int stripID, unsigned int xtalID) override
std::unique_ptr< EBDetIdCollection > * invalidGains_
Definition: DCCTowerBlock.h:39
std::unique_ptr< EBDigiCollection > * digis_
Definition: DCCTowerBlock.h:34
DCCTowerBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e, bool unpack, bool forceToKeepFRdata)
Definition: DCCTowerBlock.cc:8